public static void setOnExitAction(FlowElement flowElement, OnExitAction onExitAction) { ScriptTypeListValue value = onExitAction.getValue(); for (ScriptTypeValue scriptTypeValue : value.getValues()) { String scriptText = scriptTypeValue.getScript(); if (scriptText == null || scriptText.isEmpty()) { continue; } OnExitScriptType script = droolsFactory.createOnExitScriptType(); script.setScript(asCData(scriptText)); String scriptLanguage = Scripts.scriptLanguageToUri(scriptTypeValue.getLanguage()); script.setScriptFormat(scriptLanguage); addExtensionValue(flowElement, DOCUMENT_ROOT__ON_EXIT_SCRIPT, script); } }
protected void assertServiceTaskExecutionSet(ServiceTaskExecutionSet executionSet, String onEntryActionScriptValue, String onEntryActionScriptLanguage, String onExitActionScriptValue, String onExitActionScriptLanguage, boolean isAsync, boolean adHocAutostart) { assertNotNull(executionSet); assertNotNull(executionSet.getOnEntryAction()); assertNotNull(executionSet.getOnExitAction()); assertNotNull(executionSet.getIsAsync()); assertNotNull(executionSet.getAdHocAutostart()); assertNotNull(executionSet.getOnEntryAction().getValue()); assertNotNull(executionSet.getOnExitAction().getValue()); List<ScriptTypeValue> onEntryScriptTypeValues = executionSet.getOnEntryAction().getValue().getValues(); List<ScriptTypeValue> onExitScriptTypeValues = executionSet.getOnExitAction().getValue().getValues(); assertNotNull(onEntryScriptTypeValues); assertNotNull(onExitScriptTypeValues); assertNotNull(onEntryScriptTypeValues.get(0)); assertNotNull(onExitScriptTypeValues.get(0)); assertEquals(onEntryActionScriptValue, onEntryScriptTypeValues.get(0).getScript()); assertEquals(onEntryActionScriptLanguage, onEntryScriptTypeValues.get(0).getLanguage()); assertEquals(onExitActionScriptValue, onExitScriptTypeValues.get(0).getScript()); assertEquals(onExitActionScriptLanguage, onExitScriptTypeValues.get(0).getLanguage()); assertEquals(isAsync, executionSet.getIsAsync().getValue()); assertEquals(adHocAutostart, executionSet.getAdHocAutostart().getValue()); }
assertEquals("java", entryAction.getLanguage()); ScriptTypeValue exitAction = executionSet.getOnExitAction().getValue().getValues().get(0); assertEquals("StageTest", exitAction.getScript()); assertEquals("java", exitAction.getLanguage());
assertEquals("java", entryAction.getLanguage()); ScriptTypeValue exitAction = subcaseExecutionSet.getOnExitAction().getValue().getValues().get(0); assertEquals("SubcaseTest", exitAction.getScript()); assertEquals("java", exitAction.getLanguage());
assertEquals("java", entryAction.getLanguage()); ScriptTypeValue exitAction = subprocessExecutionSet.getOnExitAction().getValue().getValues().get(0); assertEquals("SubprocessTest", exitAction.getScript()); assertEquals("java", exitAction.getLanguage());
assertEquals("java", entryAction.getLanguage()); ScriptTypeValue exitAction = executionSet.getOnExitAction().getValue().getValues().get(0); assertEquals("TaskTest", exitAction.getScript()); assertEquals("java", exitAction.getLanguage());
@Test public void testUnmarshallMultipleInstanceSubprocess() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(BPMN_MULTIPLE_INSTANCE_SUBPROCESS); assertDiagram(diagram, 2); assertEquals("MultipleInstanceSubprocess", diagram.getMetadata().getTitle()); Node<? extends Definition, ?> multipleInstanceSubprocessNode = diagram.getGraph().getNode("_2316CEC1-C1F7-41B1-8C91-3CE73ADE5571"); MultipleInstanceSubprocess multipleInstanceSubprocess = (MultipleInstanceSubprocess) multipleInstanceSubprocessNode.getContent().getDefinition(); assertEquals("var1", multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceCollectionInput().getValue()); assertEquals("var2", multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceCollectionOutput().getValue()); assertEquals("dataInput", multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceDataInput().getValue()); assertEquals("dataOutput", multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceDataOutput().getValue()); assertEquals("a=b", multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceCompletionCondition().getValue()); assertEquals("onEntryAction", multipleInstanceSubprocess.getExecutionSet().getOnEntryAction().getValue().getValues().get(0).getScript()); assertEquals("java", multipleInstanceSubprocess.getExecutionSet().getOnEntryAction().getValue().getValues().get(0).getLanguage()); assertEquals("onExitAction", multipleInstanceSubprocess.getExecutionSet().getOnExitAction().getValue().getValues().get(0).getScript()); assertEquals("java", multipleInstanceSubprocess.getExecutionSet().getOnExitAction().getValue().getValues().get(0).getLanguage()); assertTrue(multipleInstanceSubprocess.getExecutionSet().getIsAsync().getValue()); assertEquals("mi-var1:String", multipleInstanceSubprocess.getProcessData().getProcessVariables().getValue()); }
@Test public void testUnmarshallMultipleInstanceSubprocess() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(BPMN_MULTIPLE_INSTANCE_SUBPROCESS); assertDiagram(diagram, 2); assertEquals("MultipleInstanceSubprocess", diagram.getMetadata().getTitle()); Node<? extends Definition, ?> multipleInstanceSubprocessNode = diagram.getGraph().getNode("_2316CEC1-C1F7-41B1-8C91-3CE73ADE5571"); MultipleInstanceSubprocess multipleInstanceSubprocess = (MultipleInstanceSubprocess) multipleInstanceSubprocessNode.getContent().getDefinition(); assertEquals("var1", multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceCollectionInput().getValue()); assertEquals("var2", multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceCollectionOutput().getValue()); assertEquals("dataInput", multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceDataInput().getValue()); assertEquals("dataOutput", multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceDataOutput().getValue()); assertEquals("a=b", multipleInstanceSubprocess.getExecutionSet().getMultipleInstanceCompletionCondition().getValue()); assertEquals("onEntryAction", multipleInstanceSubprocess.getExecutionSet().getOnEntryAction().getValue().getValues().get(0).getScript()); assertEquals("java", multipleInstanceSubprocess.getExecutionSet().getOnEntryAction().getValue().getValues().get(0).getLanguage()); assertEquals("onExitAction", multipleInstanceSubprocess.getExecutionSet().getOnExitAction().getValue().getValues().get(0).getScript()); assertEquals("java", multipleInstanceSubprocess.getExecutionSet().getOnExitAction().getValue().getValues().get(0).getLanguage()); assertTrue(multipleInstanceSubprocess.getExecutionSet().getIsAsync().getValue()); assertEquals("mi-var1:String", multipleInstanceSubprocess.getProcessData().getProcessVariables().getValue()); }