use of io.automatiko.engine.workflow.process.core.node.Constrainable in project automatiko-engine by automatiko-io.
the class ConstraintHandler method end.
public Object end(final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException {
final Element element = parser.endElementBuilder();
Constrainable parent = (Constrainable) parser.getParent();
Constraint constraint = new ConstraintImpl();
final String toNodeIdString = element.getAttribute("toNodeId");
String toType = element.getAttribute("toType");
ConnectionRef connectionRef = null;
if (toNodeIdString != null && toNodeIdString.trim().length() > 0) {
int toNodeId = new Integer(toNodeIdString);
if (toType == null || toType.trim().length() == 0) {
toType = NodeImpl.CONNECTION_DEFAULT_TYPE;
}
connectionRef = new ConnectionRef(toNodeId, toType);
}
final String name = element.getAttribute("name");
constraint.setName(name);
final String priority = element.getAttribute("priority");
if (priority != null && priority.length() != 0) {
constraint.setPriority(new Integer(priority));
}
final String type = element.getAttribute("type");
constraint.setType(type);
final String dialect = element.getAttribute("dialect");
constraint.setDialect(dialect);
String text = ((Text) element.getChildNodes().item(0)).getWholeText();
if (text != null) {
text = text.trim();
if ("".equals(text)) {
text = null;
}
}
constraint.setConstraint(text);
parent.addConstraint(connectionRef, constraint);
return null;
}
Aggregations