private void assertErrorEventExecutionSet(InterruptingErrorEventExecutionSet executionSet, String eventName, boolean isInterrupting) { assertNotNull(executionSet); assertNotNull(executionSet.getErrorRef()); assertEquals(eventName, executionSet.getErrorRef().getValue()); assertEquals(isInterrupting, executionSet.getIsInterrupting().getValue()); } }
public StartErrorEvent() { this(new BPMNGeneralSet(""), new BackgroundSet(), new FontSet(), new CircleDimensionSet(new Radius()), new SimulationAttributeSet(), new DataIOSet(), new InterruptingErrorEventExecutionSet()); }
@Override public boolean equals(Object o) { if (o instanceof StartErrorEvent) { StartErrorEvent other = (StartErrorEvent) o; return super.equals(other) && dataIOSet.equals(other.dataIOSet) && executionSet.equals(other.executionSet); } return false; } }
@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; } }; } }
@Override public int hashCode() { return HashUtil.combineHashCodes(super.hashCode(), dataIOSet.hashCode(), executionSet.hashCode()); }
@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()); }
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; }
private BpmnNode errorEvent( StartEvent event, ErrorEventDefinition e) { Node<View<StartErrorEvent>, Edge> node = factoryManager.newNode(event.getId(), StartErrorEvent.class); StartErrorEvent definition = node.getContent().getDefinition(); EventPropertyReader p = propertyReaderFactory.of(event); definition.setGeneral(new BPMNGeneralSet( new Name(p.getName()), new Documentation(p.getDocumentation()) )); definition.setDataIOSet(new DataIOSet( p.getAssignmentsInfo() )); definition.setExecutionSet(new InterruptingErrorEventExecutionSet( new IsInterrupting(event.isIsInterrupting()), new ErrorRef(EventDefinitionReader.errorRefOf(e)) )); definition.setSimulationSet(p.getSimulationSet()); node.getContent().setBounds(p.getBounds()); definition.setDimensionsSet(p.getCircleDimensionSet()); definition.setFontSet(p.getFontSet()); definition.setBackgroundSet(p.getBackgroundSet()); return BpmnNode.of(node); }
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());
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());