[New] PlcAddressGenerator doesn't require action2 for virtualBoolean anymore

This commit is contained in:
Robert von Burg 2020-02-28 09:23:06 +01:00
parent 9b29266d89
commit f474c07d46
1 changed files with 23 additions and 21 deletions

View File

@ -4,6 +4,7 @@ import static java.nio.charset.StandardCharsets.UTF_8;
import static li.strolch.model.xml.StrolchXmlHelper.parseToMap; import static li.strolch.model.xml.StrolchXmlHelper.parseToMap;
import static li.strolch.plc.model.PlcConstants.*; import static li.strolch.plc.model.PlcConstants.*;
import static li.strolch.utils.helper.StringHelper.isEmpty; import static li.strolch.utils.helper.StringHelper.isEmpty;
import static li.strolch.utils.helper.StringHelper.isNotEmpty;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
@ -323,8 +324,6 @@ public class PlcAddressGenerator {
Resource telegramR; Resource telegramR;
if (connection.startsWith("virtualBoolean.")) { if (connection.startsWith("virtualBoolean.")) {
if (isEmpty(action2))
throw new IllegalStateException("action2 missing for: " + record);
// telegram for action1 // telegram for action1
telegramR = telegramT.getClone(); telegramR = telegramT.getClone();
@ -349,29 +348,32 @@ public class PlcAddressGenerator {
+ " for connection " + connection); + " for connection " + connection);
// telegram for action2 // telegram for action2
key = resource + "-" + action2; if (isNotEmpty(action2)) {
keyName = resource + " - " + action2; key = resource + "-" + action2;
telegramR = telegramT.getClone(); keyName = resource + " - " + action2;
telegramR.setId("T_" + key); telegramR = telegramT.getClone();
telegramR.setName(keyName); telegramR.setId("T_" + key);
telegramR.setName(keyName);
telegramR.getParameter(PARAM_DESCRIPTION, true).setValue(description); telegramR.getParameter(PARAM_DESCRIPTION, true).setValue(description);
telegramR.getParameter(PARAM_ADDRESS, true).setValue(connection); telegramR.getParameter(PARAM_ADDRESS, true).setValue(connection);
telegramR.getParameter(PARAM_RESOURCE, true).setValue(resource); telegramR.getParameter(PARAM_RESOURCE, true).setValue(resource);
telegramR.getParameter(PARAM_ACTION, true).setValue(action2); telegramR.getParameter(PARAM_ACTION, true).setValue(action2);
telegramR.getParameter(PARAM_INDEX, true).setValue(telegramIndex); telegramR.getParameter(PARAM_INDEX, true).setValue(telegramIndex);
telegramIndex += 10; telegramIndex += 10;
valueP = new BooleanParameter(PARAM_VALUE, "Value", false); valueP = new BooleanParameter(PARAM_VALUE, "Value", false);
valueP.setIndex(100); valueP.setIndex(100);
telegramR.addParameter(valueP); telegramR.addParameter(valueP);
add(exportList, telegramR);
logicalDevice.getRelationsParam(PARAM_TELEGRAMS, true).addValueIfNotContains(telegramR.getId());
logger.info("Added Virtual Boolean PlcTelegram " + telegramR.getId() + " " + telegramR.getName()
+ " for connection " + connection);
add(exportList, telegramR);
logicalDevice.getRelationsParam(PARAM_TELEGRAMS, true)
.addValueIfNotContains(telegramR.getId());
logger.info(
"Added Virtual Boolean PlcTelegram " + telegramR.getId() + " " + telegramR.getName()
+ " for connection " + connection);
}
} else if (connection.startsWith("virtualString.")) { } else if (connection.startsWith("virtualString.")) {
// telegram for action1 // telegram for action1