@Override public void readBpmn(BpmnReader r) { subWorkflowId = r.readIdAttributeEffektif("subWorkflowId", WorkflowId.class); subWorkflowSourceId(r.readStringAttributeEffektif("subWorkflowSourceId")); super.readBpmn(r); r.startExtensionElements(); // Read sub-workflow inputs. for (XmlElement inputElement : r.readElementsEffektif("subWorkflowInput")) { if (subWorkflowInputs == null) { subWorkflowInputs = new HashMap<>(); } r.startElement(inputElement); String variableId = r.readStringAttributeEffektif("variableId"); List<Binding<Object>> singleBinding = r.readBindings("binding"); if (singleBinding != null && !singleBinding.isEmpty()) { subWorkflowInputs.put(variableId, singleBinding.get(0)); } r.endElement(); } r.endExtensionElements(); }
@Override public void readBpmn(BpmnReader r) { subWorkflowId = r.readIdAttributeEffektif("subWorkflowId", WorkflowId.class); subWorkflowSourceId(r.readStringAttributeEffektif("subWorkflowSourceId")); super.readBpmn(r); r.startExtensionElements(); // Read sub-workflow inputs. for (XmlElement inputElement : r.readElementsEffektif("subWorkflowInput")) { if (subWorkflowInputs == null) { subWorkflowInputs = new HashMap<>(); } r.startElement(inputElement); String variableId = r.readStringAttributeEffektif("variableId"); List<Binding<Object>> singleBinding = r.readBindings("binding"); if (singleBinding != null && !singleBinding.isEmpty()) { subWorkflowInputs.put(variableId, singleBinding.get(0)); } r.endElement(); } r.endExtensionElements(); }
@Test public void testCall() { SubProcess activity = new SubProcess() .id("runTests") .subWorkflowSourceId("Run tests") .subWorkflowId(new WorkflowId("releaseTests1")); activity.setSubWorkflowSourceId("releaseTests"); print(activity); }
public void testCall() { SubProcess activity = new SubProcess() .id("runTests") .subWorkflowSourceId("Run tests") .subWorkflowId(new WorkflowId(workflowId())); activity.setSubWorkflowSourceId("releaseTests"); activity = serialize(activity); assertEquals(new WorkflowId(workflowId()), activity.getSubWorkflowId()); assertEquals("releaseTests", activity.getSubWorkflowSourceId()); }
@Test public void testSubProcess() { LocalDateTime now = new LocalDateTime(); ExecutableWorkflow workflow = new ExecutableWorkflow() .activity(new SubProcess() .id("runTests") .inputValue("d", now) .inputValue("s", "string") .inputExpression("v", "version") .subWorkflowSourceId("Run tests") .subWorkflowId(new WorkflowId(getWorkflowIdInternal()))); workflow = serializeWorkflow(workflow); assertNotNull(workflow); SubProcess subProcess = (SubProcess) workflow.getActivities().get(0); assertEquals(new WorkflowId(getWorkflowIdInternal()), subProcess.getSubWorkflowId()); assertEquals("Run tests", subProcess.getSubWorkflowSourceId()); assertEquals(now, subProcess.getSubWorkflowInputs().get("d").getValue()); assertEquals("string", subProcess.getSubWorkflowInputs().get("s").getValue()); assertEquals("version", subProcess.getSubWorkflowInputs().get("v").getExpression()); }