@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 void assertErrorEventExecutionSet(InterruptingErrorEventExecutionSet executionSet, String eventName, boolean isInterrupting) { assertNotNull(executionSet); assertNotNull(executionSet.getErrorRef()); assertEquals(eventName, executionSet.getErrorRef().getValue()); assertEquals(isInterrupting, executionSet.getIsInterrupting().getValue()); } }
private PropertyWriter errorEvent(Node<View<StartErrorEvent>, ?> n) { StartEvent event = bpmn2.createStartEvent(); event.setId(n.getUUID()); StartErrorEvent definition = n.getContent().getDefinition(); CatchEventPropertyWriter p = propertyWriterFactory.of(event); BPMNGeneralSet general = definition.getGeneral(); p.setName(general.getName().getValue()); p.setDocumentation(general.getDocumentation().getValue()); p.setAssignmentsInfo( definition.getDataIOSet().getAssignmentsinfo()); InterruptingErrorEventExecutionSet executionSet = definition.getExecutionSet(); p.addError(executionSet.getErrorRef()); event.setIsInterrupting(executionSet.getIsInterrupting().getValue()); p.setBounds(n.getContent().getBounds()); return p; }
assertNotNull(eventExecutionSet.getErrorRef()); assertEquals("Error1", eventExecutionSet.getErrorRef().getValue()); assertEquals(true, eventExecutionSet.getIsInterrupting().getValue()); assertNotNull(emptyExecutionSet.getErrorRef()); assertEquals("", emptyExecutionSet.getErrorRef().getValue()); assertEquals(false, emptyExecutionSet.getIsInterrupting().getValue());
@Test public void testUnmarshallStartErrorEvent() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(BPMN_STARTERROREVENT); assertDiagram(diagram, 3); assertEquals("startErrorEventProcess", diagram.getMetadata().getTitle()); Node<? extends Definition, ?> startEventNode = diagram.getGraph().getNode("3BD5BBC8-F1C7-45DE-8BDF-A06D8464A61B"); StartErrorEvent startErrorEvent = (StartErrorEvent) startEventNode.getContent().getDefinition(); assertNotNull(startErrorEvent.getGeneral()); assertEquals("MyStartErrorEvent", startErrorEvent.getGeneral().getName().getValue()); assertEquals("MyStartErrorEventDocumentation", startErrorEvent.getGeneral().getDocumentation().getValue()); assertNotNull(startErrorEvent.getExecutionSet()); assertNotNull(startErrorEvent.getExecutionSet().getErrorRef()); assertEquals("MyError", startErrorEvent.getExecutionSet().getErrorRef().getValue()); DataIOSet dataIOSet = startErrorEvent.getDataIOSet(); AssignmentsInfo assignmentsInfo = dataIOSet.getAssignmentsinfo(); assertEquals("||errorOutput_:String||[dout]errorOutput_->var1", assignmentsInfo.getValue()); }
assertNotNull(eventExecutionSet.getErrorRef()); assertEquals("Error1", eventExecutionSet.getErrorRef().getValue()); assertEquals(true, eventExecutionSet.getIsInterrupting().getValue()); assertNotNull(emptyExecutionSet.getErrorRef()); assertEquals("", emptyExecutionSet.getErrorRef().getValue()); assertEquals(false, emptyExecutionSet.getIsInterrupting().getValue());
@Test public void testUnmarshallStartErrorEvent() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(BPMN_STARTERROREVENT); assertDiagram(diagram, 3); assertEquals("startErrorEventProcess", diagram.getMetadata().getTitle()); Node<? extends Definition, ?> startEventNode = diagram.getGraph().getNode("3BD5BBC8-F1C7-45DE-8BDF-A06D8464A61B"); StartErrorEvent startErrorEvent = (StartErrorEvent) startEventNode.getContent().getDefinition(); assertNotNull(startErrorEvent.getGeneral()); assertEquals("MyStartErrorEvent", startErrorEvent.getGeneral().getName().getValue()); assertEquals("MyStartErrorEventDocumentation", startErrorEvent.getGeneral().getDocumentation().getValue()); assertNotNull(startErrorEvent.getExecutionSet()); assertNotNull(startErrorEvent.getExecutionSet().getErrorRef()); assertEquals("MyError", startErrorEvent.getExecutionSet().getErrorRef().getValue()); assertEquals(true, startErrorEvent.getExecutionSet().getIsInterrupting().getValue()); DataIOSet dataIOSet = startErrorEvent.getDataIOSet(); AssignmentsInfo assignmentsInfo = dataIOSet.getAssignmentsinfo(); assertEquals("||errorOutput_:String||[dout]errorOutput_->var1", assignmentsInfo.getValue()); }
assertTrue(startError.getExecutionSet().getIsInterrupting().getValue()); assertEquals("standardError", startError.getExecutionSet().getErrorRef().getValue()); assertEquals("error", startError.getGeneral().getName().getValue());