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 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 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(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()); } }
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(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()); } }
p.setConditionExpression(executionSet.getConditionExpression().getValue());
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());
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 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 @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()); }
assertNotNull(catchingConditionalEvent.getExecutionSet()); assertEquals("drools", catchingConditionalEvent.getExecutionSet().getConditionExpression().getValue().getLanguage()); assertEquals("CatchingIntermediateConditionalEventCompletionCondition", catchingConditionalEvent.getExecutionSet().getConditionExpression().getValue().getScript()); assertEquals(true, catchingConditionalEvent.getExecutionSet().getCancelActivity().getValue()); assertNotNull(boundaryConditionalEvent.getExecutionSet()); assertEquals("drools", boundaryConditionalEvent.getExecutionSet().getConditionExpression().getValue().getLanguage()); assertEquals("BoundaryConditionalEventCompletionCondition", boundaryConditionalEvent.getExecutionSet().getConditionExpression().getValue().getScript()); assertEquals(true, boundaryConditionalEvent.getExecutionSet().getCancelActivity().getValue());
assertNotNull(catchingConditionalEvent.getExecutionSet()); assertEquals("drools", catchingConditionalEvent.getExecutionSet().getConditionExpression().getValue().getLanguage()); assertEquals("CatchingIntermediateConditionalEventCompletionCondition", catchingConditionalEvent.getExecutionSet().getConditionExpression().getValue().getScript()); assertEquals(true, catchingConditionalEvent.getExecutionSet().getCancelActivity().getValue()); assertNotNull(boundaryConditionalEvent.getExecutionSet()); assertEquals("drools", boundaryConditionalEvent.getExecutionSet().getConditionExpression().getValue().getLanguage()); assertEquals("BoundaryConditionalEventCompletionCondition", boundaryConditionalEvent.getExecutionSet().getConditionExpression().getValue().getScript()); assertEquals(true, boundaryConditionalEvent.getExecutionSet().getCancelActivity().getValue());