private void assertErrorEventExecutionSet(ErrorEventExecutionSet executionSet, String eventName) { assertNotNull(executionSet); assertNotNull(executionSet.getErrorRef()); assertEquals(eventName, executionSet.getErrorRef().getValue()); } }
@Override public Function<Node, Pair<Object, String>> getMapper() { return node -> { ErrorRef errorRef = null; if (startErrorEventsFilter.test(node)) { errorRef = ((StartErrorEvent) ((View) node.getContent()).getDefinition()).getExecutionSet().getErrorRef(); } else if (intermediateErrorEventsFilter.test(node)) { errorRef = ((IntermediateErrorEventCatching) ((View) node.getContent()).getDefinition()).getExecutionSet().getErrorRef(); } else if (endErrorEventsFilter.test(node)) { errorRef = ((EndErrorEvent) ((View) node.getContent()).getDefinition()).getExecutionSet().getErrorRef(); } if (errorRef != null && errorRef.getValue() != null && !errorRef.getValue().isEmpty()) { return new Pair<>(errorRef.getValue(), errorRef.getValue(), Pair.PairEqualsMode.K1); } else { return null; } }; } }
private PropertyWriter errorEvent(Node<View<EndErrorEvent>, ?> n) { EndEvent event = bpmn2.createEndEvent(); event.setId(n.getUUID()); EndErrorEvent definition = n.getContent().getDefinition(); ThrowEventPropertyWriter p = propertyWriterFactory.of(event); BPMNGeneralSet general = definition.getGeneral(); p.setName(general.getName().getValue()); p.setDocumentation(general.getDocumentation().getValue()); p.setAssignmentsInfo( definition.getDataIOSet().getAssignmentsinfo()); ErrorEventExecutionSet executionSet = definition.getExecutionSet(); p.addError(executionSet.getErrorRef()); p.setBounds(n.getContent().getBounds()); return p; }
@Test public void testUnmarshallEndErrorEvent() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(BPMN_ENDERROR_EVENT); assertDiagram(diagram, 2); assertEquals("endErrorEventProcess", diagram.getMetadata().getTitle()); Node<? extends Definition, ?> endEventNode = diagram.getGraph().getNode("_E69BD781-AB7F-45C4-85DA-B1F3BAE5BCCB"); EndErrorEvent endErrorEvent = (EndErrorEvent) endEventNode.getContent().getDefinition(); assertNotNull(endErrorEvent.getGeneral()); assertEquals("MyErrorEventName", endErrorEvent.getGeneral().getName().getValue()); assertEquals("MyErrorEventDocumentation", endErrorEvent.getGeneral().getDocumentation().getValue()); assertNotNull(endErrorEvent.getExecutionSet()); assertNotNull(endErrorEvent.getExecutionSet().getErrorRef()); assertEquals("MyError", endErrorEvent.getExecutionSet().getErrorRef().getValue()); DataIOSet dataIOSet = endErrorEvent.getDataIOSet(); AssignmentsInfo assignmentsInfo = dataIOSet.getAssignmentsinfo(); assertEquals("myErrorEventInput:String||||[din]var1->myErrorEventInput", assignmentsInfo.getValue()); }
@Test public void testUnmarshallEndErrorEvent() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(BPMN_ENDERROR_EVENT); assertDiagram(diagram, 2); assertEquals("endErrorEventProcess", diagram.getMetadata().getTitle()); Node<? extends Definition, ?> endEventNode = diagram.getGraph().getNode("_E69BD781-AB7F-45C4-85DA-B1F3BAE5BCCB"); EndErrorEvent endErrorEvent = (EndErrorEvent) endEventNode.getContent().getDefinition(); assertNotNull(endErrorEvent.getGeneral()); assertEquals("MyErrorEventName", endErrorEvent.getGeneral().getName().getValue()); assertEquals("MyErrorEventDocumentation", endErrorEvent.getGeneral().getDocumentation().getValue()); assertNotNull(endErrorEvent.getExecutionSet()); assertNotNull(endErrorEvent.getExecutionSet().getErrorRef()); assertEquals("MyError", endErrorEvent.getExecutionSet().getErrorRef().getValue()); DataIOSet dataIOSet = endErrorEvent.getDataIOSet(); AssignmentsInfo assignmentsInfo = dataIOSet.getAssignmentsinfo(); assertEquals("myErrorEventInput:String||||[din]var1->myErrorEventInput", assignmentsInfo.getValue()); }