for(Object obj : doc.selectNodes("object-template/properties/object-property")) {
logger.debug("obj: " + obj);
if(obj instanceof Node) {
Node node = (Node)obj;
ObjectProperty op = objectPropertyFactory.createObjectProperty(baseTemplate.getCampaign(), true);
logger.trace("op: " + op);
op.setName(node.selectSingleNode("@name").getStringValue());
try {
op.setTemplate(Boolean.parseBoolean(node.selectSingleNode("@template").getStringValue()));
}
catch(Exception e) {
// ignore
}
// try {
// op.setSequence(Integer.parseInt(node.selectSingleNode("@sequence").getStringValue()));
// }
// catch(Exception e) {
// // ignore
// }
try {
op.setInstanceValueLimit(Integer.parseInt(node.selectSingleNode("@instance-limit")
.getStringValue()));
}
catch(Exception e) {
// ignore
}
// calculator
{
Node calcNode = node.selectSingleNode("calculator");
if(calcNode != null) {
op.setCalculatorType(calcNode.selectSingleNode("@type").getStringValue());
op.setCalculatorInputs(calcNode.selectSingleNode("@inputs").getStringValue());
op.setCalculatorBody(calcNode.getStringValue());
}
}
// formatter
{
Node formatterNode = node.selectSingleNode("formatter");
if(formatterNode != null) {
op.setFormatterType(formatterNode.selectSingleNode("@type").getStringValue());
op.setFormatterBody(formatterNode.getStringValue());
}
}
// validator
{
Node validatorNode = node.selectSingleNode("validator");
if(validatorNode != null) {
op.setValidatorType(validatorNode.selectSingleNode("@type").getStringValue());
op.setValidatorBody(validatorNode.getStringValue());
}
}
baseTemplate.addProperty(op);
op.setObjectTemplate(baseTemplate);