public SequenceFlowExecutionSet() { this(new Priority(""), new ConditionExpression(new ScriptTypeValue("java", "")) ); }
public void addCondition(ConditionExpression condition) { ConditionalEventDefinition conditionalEventDefinition = bpmn2.createConditionalEventDefinition(); FormalExpression conditionExpression = bpmn2.createFormalExpression(); String languageFormat = Scripts.scriptLanguageToUri(condition.getValue().getLanguage(), Scripts.LANGUAGE.DROOLS.format()); conditionExpression.setLanguage(languageFormat); String conditionScript = condition.getValue().getScript(); if (conditionScript != null && !conditionScript.isEmpty()) { conditionExpression.setBody(asCData(conditionScript)); } conditionalEventDefinition.setCondition(conditionExpression); addEventDefinition(conditionalEventDefinition); }
private void assertConditionalEventExecutionSet(CancellingConditionalEventExecutionSet executionSet, String conditionExpressionScript, String conditionExpressionLanguage, String conditionExpressionType, boolean isCancelling) { assertNotNull(executionSet); assertNotNull(executionSet.getConditionExpression()); assertNotNull(executionSet.getConditionExpression().getValue()); assertNotNull(executionSet.getConditionExpression().getType()); assertNotNull(executionSet.getCancelActivity()); assertEquals(conditionExpressionLanguage, executionSet.getConditionExpression().getValue().getLanguage()); assertEquals(conditionExpressionScript, executionSet.getConditionExpression().getValue().getScript()); assertEquals(conditionExpressionType, executionSet.getConditionExpression().getType().getName()); assertEquals(isCancelling, executionSet.getCancelActivity().getValue()); } }
private void assertConditionalEventExecutionSet(InterruptingConditionalEventExecutionSet executionSet, String conditionExpressionScript, String conditionExpressionLanguage, String conditionExpressionType, boolean isInterrupting) { assertNotNull(executionSet); assertNotNull(executionSet.getConditionExpression()); assertNotNull(executionSet.getConditionExpression().getValue()); assertNotNull(executionSet.getConditionExpression().getType()); assertNotNull(executionSet.getIsInterrupting()); assertEquals(conditionExpressionLanguage, executionSet.getConditionExpression().getValue().getLanguage()); assertEquals(conditionExpressionScript, executionSet.getConditionExpression().getValue().getScript()); assertEquals(conditionExpressionType, executionSet.getConditionExpression().getType().getName()); assertEquals(isInterrupting, executionSet.getIsInterrupting().getValue()); } }
public CancellingConditionalEventExecutionSet() { this(new CancelActivity(true), new ConditionExpression(new ScriptTypeValue("drools", ""))); }
private void assertConditionLanguage(Diagram<Graph, Metadata> diagram, String id, String value) { List<Node> nodes = getNodes(diagram); Optional<SequenceFlow> sequenceFlow = Stream.concat(nodes.stream().flatMap(node -> { List<Edge> d = node.getInEdges(); return d.stream(); }), nodes.stream().flatMap(node -> { List<Edge> d = node.getOutEdges(); return d.stream(); })) .filter(edge -> edge.getUUID().equals(id)) .map(node -> (View) node.getContent()) .filter(view -> view.getDefinition() instanceof SequenceFlow) .map(view -> ((SequenceFlow) view.getDefinition())) .findFirst(); String conditionLanguage = (sequenceFlow.isPresent() ? sequenceFlow.get().getExecutionSet().getConditionExpression().getValue().getLanguage() : null); assertEquals(value, conditionLanguage); }
private void assertConditionalEventExecutionSet(CancellingConditionalEventExecutionSet executionSet, String conditionExpressionScript, String conditionExpressionLanguage, String conditionExpressionType, boolean isCancelling) { assertNotNull(executionSet); assertNotNull(executionSet.getConditionExpression()); assertNotNull(executionSet.getConditionExpression().getValue()); assertNotNull(executionSet.getConditionExpression().getType()); assertNotNull(executionSet.getCancelActivity()); assertEquals(conditionExpressionLanguage, executionSet.getConditionExpression().getValue().getLanguage()); assertEquals(conditionExpressionScript, executionSet.getConditionExpression().getValue().getScript()); assertEquals(conditionExpressionType, executionSet.getConditionExpression().getType().getName()); assertEquals(isCancelling, executionSet.getCancelActivity().getValue()); } }
public InterruptingConditionalEventExecutionSet() { this(new IsInterrupting(true), new ConditionExpression(new ScriptTypeValue("drools", ""))); }
private void assertConditionLanguage(Diagram<Graph, Metadata> diagram, String id, String value) { List<Node> nodes = getNodes(diagram); Optional<SequenceFlow> sequenceFlow = Stream.concat(nodes.stream().flatMap(node -> { List<Edge> d = node.getInEdges(); return d.stream(); }), nodes.stream().flatMap(node -> { List<Edge> d = node.getOutEdges(); return d.stream(); })) .filter(edge -> edge.getUUID().equals(id)) .map(node -> (View) node.getContent()) .filter(view -> view.getDefinition() instanceof SequenceFlow) .map(view -> ((SequenceFlow) view.getDefinition())) .findFirst(); String conditionLanguage = (sequenceFlow.isPresent() ? sequenceFlow.get().getExecutionSet().getConditionExpression().getValue().getLanguage() : null); assertEquals(value, conditionLanguage); }
public ConditionExpression getConditionExpression(ConditionalEventDefinition conditionalEvent) { FormalExpression formalExpression = (FormalExpression) conditionalEvent.getCondition(); if (formalExpression == null) { return null; } String language = Scripts.scriptLanguageFromUri(formalExpression.getLanguage(), Scripts.LANGUAGE.DROOLS.language()); String script = formalExpression.getBody(); return new ConditionExpression(new ScriptTypeValue(language, script)); } }
p.setConditionExpression(executionSet.getConditionExpression().getValue());
@Test public void testConditionExpressionEqualsAndHashCode() { TestCaseBuilder.newTestCase() .addTrueCase(new ConditionExpression(), new ConditionExpression()) .addTrueCase(new ConditionExpression(new ScriptTypeValue("a", "b")), new ConditionExpression(new ScriptTypeValue("a", "b"))) .addTrueCase(new ConditionExpression(null), new ConditionExpression(null)) .addFalseCase(new ConditionExpression(new ScriptTypeValue("a", "b")), new ConditionExpression(new ScriptTypeValue("a", "X"))) .addFalseCase(new ConditionExpression(new ScriptTypeValue("a", "b")), new ConditionExpression(new ScriptTypeValue("Y", "b"))) .addFalseCase(new ConditionExpression(new ScriptTypeValue("a", "b")), new ConditionExpression(new ScriptTypeValue("Y", "X"))) .test(); }
sequenceFlow1.getGeneral().getName().getValue()); assertEquals("age >= 10;", sequenceFlow1.getExecutionSet().getConditionExpression().getValue().getScript()); assertEquals("javascript", sequenceFlow1.getExecutionSet().getConditionExpression().getValue().getLanguage()); assertEquals("2", sequenceFlow1.getExecutionSet().getPriority().getValue()); "<\n" + "10;", sequenceFlow2.getExecutionSet().getConditionExpression().getValue().getScript()); assertEquals("java", sequenceFlow2.getExecutionSet().getConditionExpression().getValue().getLanguage()); assertEquals("1", sequenceFlow2.getExecutionSet().getPriority().getValue());
@Test public void testCancellingConditionalEventExecutionSetEqualsAndHashCode() { TestCaseBuilder.newTestCase() .addTrueCase(new CancellingConditionalEventExecutionSet(), new CancellingConditionalEventExecutionSet()) .addTrueCase(new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression()), new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression())) .addTrueCase(new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression(new ScriptTypeValue("drools", "script")))) .addFalseCase(new CancellingConditionalEventExecutionSet(), null) .addFalseCase(new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new CancellingConditionalEventExecutionSet(new CancelActivity(true), new ConditionExpression(new ScriptTypeValue("drools", "script")))) .addFalseCase(new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression(new ScriptTypeValue("drools1", "script")))) .addFalseCase(new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression(new ScriptTypeValue("drools", "script1")))) .addFalseCase(new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression(new ScriptTypeValue("drools1", "script")))) .addFalseCase(new CancellingConditionalEventExecutionSet(new CancelActivity(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new CancellingConditionalEventExecutionSet(new CancelActivity(false), null)) .test(); }
@Test public void testUnmarshallStartConditionalEvent() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(BPMN_STARTCONDITIONALEVENT); assertDiagram(diagram, 2); assertEquals("StartConditionalEvent", diagram.getMetadata().getTitle()); Node<? extends Definition, ?> startEventNode = diagram.getGraph().getNode("_8F9C10C4-F1EE-4B49-B4CE-3059ADD4B391"); assertNotNull(startEventNode); StartConditionalEvent startConditionalEvent = (StartConditionalEvent) startEventNode.getContent().getDefinition(); assertNotNull(startConditionalEvent.getGeneral()); assertEquals("StartConditionalEventName", startConditionalEvent.getGeneral().getName().getValue()); assertEquals("StartConditionalEventDocumentation", startConditionalEvent.getGeneral().getDocumentation().getValue()); assertNotNull(startConditionalEvent.getExecutionSet()); assertEquals("drools", startConditionalEvent.getExecutionSet().getConditionExpression().getValue().getLanguage()); assertEquals("StartConditionalEventConditionExpression", startConditionalEvent.getExecutionSet().getConditionExpression().getValue().getScript()); assertEquals(true, startConditionalEvent.getExecutionSet().getIsInterrupting().getValue()); }
@Test public void testInterruptingConditionalEventExecutionSetEqualsAndHashCode() { TestCaseBuilder.newTestCase() .addTrueCase(new InterruptingConditionalEventExecutionSet(), new InterruptingConditionalEventExecutionSet()) .addTrueCase(new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression()), new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression())) .addTrueCase(new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression(new ScriptTypeValue("drools", "script")))) .addFalseCase(new InterruptingConditionalEventExecutionSet(), null) .addFalseCase(new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new InterruptingConditionalEventExecutionSet(new IsInterrupting(true), new ConditionExpression(new ScriptTypeValue("drools", "script")))) .addFalseCase(new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression(new ScriptTypeValue("drools1", "script")))) .addFalseCase(new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression(new ScriptTypeValue("drools", "script1")))) .addFalseCase(new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression(new ScriptTypeValue("drools1", "script")))) .addFalseCase(new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), new ConditionExpression(new ScriptTypeValue("drools", "script"))), new InterruptingConditionalEventExecutionSet(new IsInterrupting(false), null)) .test(); }
sequenceFlow1.getGeneral().getName().getValue()); assertEquals("age >= 10;", sequenceFlow1.getExecutionSet().getConditionExpression().getValue().getScript()); assertEquals("javascript", sequenceFlow1.getExecutionSet().getConditionExpression().getValue().getLanguage()); assertEquals("2", sequenceFlow1.getExecutionSet().getPriority().getValue()); "<\n" + "10;", sequenceFlow2.getExecutionSet().getConditionExpression().getValue().getScript()); assertEquals("java", sequenceFlow2.getExecutionSet().getConditionExpression().getValue().getLanguage()); assertEquals("1", sequenceFlow2.getExecutionSet().getPriority().getValue());
public BpmnEdge convertEdge(org.eclipse.bpmn2.SequenceFlow seq, Map<String, BpmnNode> nodes) { Edge<View<SequenceFlow>, Node> edge = factoryManager.newEdge(seq.getId(), SequenceFlow.class); SequenceFlow definition = edge.getContent().getDefinition(); SequenceFlowPropertyReader p = propertyReaderFactory.of(seq); definition.setGeneral(new BPMNGeneralSet( new Name(p.getName()), new Documentation(p.getDocumentation()) )); definition.setExecutionSet(new SequenceFlowExecutionSet( new Priority(p.getPriority()), new ConditionExpression(p.getConditionExpression()) )); return BpmnEdge.of( edge, nodes.get(p.getSourceId()), p.getSourceConnection(), p.getControlPoints(), nodes.get(p.getTargetId()), p.getTargetConnection()); } }
@Test @SuppressWarnings("unchecked") public void testUnmarshallStartConditionalEvent() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(BPMN_STARTCONDITIONALEVENT); assertDiagram(diagram, 2); assertEquals("StartConditionalEvent", diagram.getMetadata().getTitle()); Node<? extends Definition, ?> startEventNode = diagram.getGraph().getNode("_8F9C10C4-F1EE-4B49-B4CE-3059ADD4B391"); assertNotNull(startEventNode); StartConditionalEvent startConditionalEvent = (StartConditionalEvent) startEventNode.getContent().getDefinition(); assertNotNull(startConditionalEvent.getGeneral()); assertEquals("StartConditionalEventName", startConditionalEvent.getGeneral().getName().getValue()); assertEquals("StartConditionalEventDocumentation", startConditionalEvent.getGeneral().getDocumentation().getValue()); assertNotNull(startConditionalEvent.getExecutionSet()); assertEquals("drools", startConditionalEvent.getExecutionSet().getConditionExpression().getValue().getLanguage()); assertEquals("StartConditionalEventConditionExpression", startConditionalEvent.getExecutionSet().getConditionExpression().getValue().getScript()); assertEquals(true, startConditionalEvent.getExecutionSet().getIsInterrupting().getValue()); }
new ConditionExpression()), new SequenceFlowExecutionSet(new Priority(), new ConditionExpression())) new ConditionExpression(new ScriptTypeValue("a", "b"))), new SequenceFlowExecutionSet(new Priority("1"), new ConditionExpression(new ScriptTypeValue("a", "b")))) new ConditionExpression(new ScriptTypeValue("a", "b"))), new SequenceFlowExecutionSet(new Priority("2"), new ConditionExpression(new ScriptTypeValue("a", "b")))) new ConditionExpression(new ScriptTypeValue("a", "b"))), new SequenceFlowExecutionSet(new Priority("1"), new ConditionExpression(new ScriptTypeValue("X", "Y")))) new ConditionExpression(new ScriptTypeValue("a", "b"))), new SequenceFlowExecutionSet(new Priority("2"),