protected void handleNode(final Node node, final Element element, final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { super.handleNode(node, element, uri, localName, parser); SubProcessNode subProcessNode = (SubProcessNode) node; String processId = element.getAttribute("processRef"); String isBlocking = element.getAttribute("isBlocking"); if (isBlocking == null || isBlocking.isEmpty()) { isBlocking = "true"; } subProcessNode.setProcessId(processId); subProcessNode.setWaitForCompletion(Boolean.parseBoolean(isBlocking)); subProcessNode.setIndependent(false); Map<String, String> inputs = new HashMap<>(); Map<String, String> outputs = new HashMap<>(); Map<String, String> inputTypes = new HashMap<>(); Map<String, String> outputTypes = new HashMap<>(); loadDataInputsAndOutputs(element, inputs, outputs, inputTypes, outputTypes, parser); subProcessNode.setMetaData("DataInputs", inputTypes); subProcessNode.setMetaData("DataOutputs", outputTypes); subProcessNode.setMetaData("customAbortParent", "false"); for (Entry<String, String> entry : inputs.entrySet()) { subProcessNode.addInAssociation(new DataAssociation(entry.getValue(), entry.getKey(), Collections.emptyList(), null)); } for (Entry<String, String> entry : outputs.entrySet()) { subProcessNode.addOutAssociation(new DataAssociation(entry.getKey(), entry.getValue(), Collections.emptyList(), null)); } }
subProcessNode.setMetaData("DataInputs", dataInputs); subProcessNode.setMetaData("DataOutputs", dataOutputs);
subProcess.setMetaData("x", 1); subProcess.setMetaData("y", 2); subProcess.setMetaData("width", 3); subProcess.setMetaData("height", 4); subProcess.setProcessId("processId"); subProcess.setWaitForCompletion(false);
protected void handleNode(final Node node, final Element element, final String uri, final String localName, final ExtensibleXmlParser parser) throws SAXException { super.handleNode(node, element, uri, localName, parser); SubProcessNode subProcessNode = (SubProcessNode) node; String processId = element.getAttribute("processRef"); String isBlocking = element.getAttribute("isBlocking"); if (isBlocking == null || isBlocking.isEmpty()) { isBlocking = "true"; } subProcessNode.setProcessId(processId); subProcessNode.setWaitForCompletion(Boolean.parseBoolean(isBlocking)); subProcessNode.setIndependent(false); Map<String, String> inputs = new HashMap<>(); Map<String, String> outputs = new HashMap<>(); Map<String, String> inputTypes = new HashMap<>(); Map<String, String> outputTypes = new HashMap<>(); loadDataInputsAndOutputs(element, inputs, outputs, inputTypes, outputTypes, parser); subProcessNode.setMetaData("DataInputs", inputTypes); subProcessNode.setMetaData("DataOutputs", outputTypes); subProcessNode.setMetaData("customAbortParent", "false"); for (Entry<String, String> entry : inputs.entrySet()) { subProcessNode.addInAssociation(new DataAssociation(entry.getValue(), entry.getKey(), Collections.emptyList(), null)); } for (Entry<String, String> entry : outputs.entrySet()) { subProcessNode.addOutAssociation(new DataAssociation(entry.getKey(), entry.getValue(), Collections.emptyList(), null)); } }
subProcessNode.setMetaData("DataInputs", dataInputs); subProcessNode.setMetaData("DataOutputs", dataOutputs);