@Test @Override public void testUnmarshallTopLevelTaskOneIncomeEmptyProperties() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(marshaller, BPMN_TASK_FILE_PATH); assertDiagram(diagram, AMOUNT_OF_NODES_IN_DIAGRAM); BusinessRuleTask emptyTopLevelTask = getTaskNodeById(diagram, EMPTY_ONE_INCOME_TOP_LEVEL_TASK_ID, ONE_INCOME_EDGE, HAS_OUTCOME_EDGE); assertGeneralSet(emptyTopLevelTask.getGeneral(), EMPTY_VALUE, EMPTY_VALUE); assertBusinessRuleTaskExecutionSet(emptyTopLevelTask.getExecutionSet(), RuleLanguage.DRL, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, IS_NOT_ASYNC, NOT_AD_HOC_AUTOSTART); assertDataIOSet(emptyTopLevelTask.getDataIOSet(), EMPTY_TASK_DATA_INPUT_OUTPUT); }
@Test @Override public void testUnmarshallSubprocessLevelTaskOneIncomeEmptyProperties() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(marshaller, BPMN_TASK_FILE_PATH); assertDiagram(diagram, AMOUNT_OF_NODES_IN_DIAGRAM); BusinessRuleTask emptySubprocessLevelTask = getTaskNodeById(diagram, EMPTY_ONE_INCOME_SUBPROCESS_LEVEL_TASK_ID, ONE_INCOME_EDGE, HAS_OUTCOME_EDGE); assertGeneralSet(emptySubprocessLevelTask.getGeneral(), EMPTY_VALUE, EMPTY_VALUE); assertBusinessRuleTaskExecutionSet(emptySubprocessLevelTask.getExecutionSet(), RuleLanguage.DRL, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, IS_NOT_ASYNC, NOT_AD_HOC_AUTOSTART); assertDataIOSet(emptySubprocessLevelTask.getDataIOSet(), EMPTY_TASK_DATA_INPUT_OUTPUT); }
@Test @Override public void testUnmarshallSubprocessLevelTaskTwoIncomesEmptyProperties() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(marshaller, BPMN_TASK_FILE_PATH); assertDiagram(diagram, AMOUNT_OF_NODES_IN_DIAGRAM); BusinessRuleTask emptySubprocessLevelTask = getTaskNodeById(diagram, EMPTY_TWO_INCOMES_SUBPROCESS_LEVEL_TASK_ID, TWO_INCOME_EDGES, HAS_OUTCOME_EDGE); assertGeneralSet(emptySubprocessLevelTask.getGeneral(), EMPTY_VALUE, EMPTY_VALUE); assertBusinessRuleTaskExecutionSet(emptySubprocessLevelTask.getExecutionSet(), RuleLanguage.DRL, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, IS_NOT_ASYNC, NOT_AD_HOC_AUTOSTART); assertDataIOSet(emptySubprocessLevelTask.getDataIOSet(), EMPTY_TASK_DATA_INPUT_OUTPUT); }
@Test @Override public void testUnmarshallSubprocessLevelTaskEmptyProperties() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(marshaller, BPMN_TASK_FILE_PATH); assertDiagram(diagram, AMOUNT_OF_NODES_IN_DIAGRAM); BusinessRuleTask emptySubprocessLevelTask = getTaskNodeById(diagram, EMPTY_SUBPROCESS_LEVEL_TASK_ID, ZERO_INCOME_EDGES, HAS_NO_OUTCOME_EDGE); assertGeneralSet(emptySubprocessLevelTask.getGeneral(), EMPTY_VALUE, EMPTY_VALUE); assertBusinessRuleTaskExecutionSet(emptySubprocessLevelTask.getExecutionSet(), RuleLanguage.DRL, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, IS_NOT_ASYNC, NOT_AD_HOC_AUTOSTART); assertDataIOSet(emptySubprocessLevelTask.getDataIOSet(), EMPTY_TASK_DATA_INPUT_OUTPUT); }
@Test @Override public void testUnmarshallTopLevelTaskTwoIncomesEmptyProperties() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(marshaller, BPMN_TASK_FILE_PATH); assertDiagram(diagram, AMOUNT_OF_NODES_IN_DIAGRAM); BusinessRuleTask emptyTopLevelTask = getTaskNodeById(diagram, EMPTY_TWO_INCOMES_TOP_LEVEL_TASK_ID, TWO_INCOME_EDGES, HAS_OUTCOME_EDGE); assertGeneralSet(emptyTopLevelTask.getGeneral(), EMPTY_VALUE, EMPTY_VALUE); assertBusinessRuleTaskExecutionSet(emptyTopLevelTask.getExecutionSet(), RuleLanguage.DRL, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, IS_NOT_ASYNC, NOT_AD_HOC_AUTOSTART); assertDataIOSet(emptyTopLevelTask.getDataIOSet(), EMPTY_TASK_DATA_INPUT_OUTPUT); }
@Test @Override public void testUnmarshallTopLevelEmptyTaskProperties() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(marshaller, BPMN_TASK_FILE_PATH); assertDiagram(diagram, AMOUNT_OF_NODES_IN_DIAGRAM); BusinessRuleTask emptyTopLevelTask = getTaskNodeById(diagram, EMPTY_TOP_LEVEL_TASK_ID, ZERO_INCOME_EDGES, HAS_NO_OUTCOME_EDGE); assertGeneralSet(emptyTopLevelTask.getGeneral(), EMPTY_VALUE, EMPTY_VALUE); assertBusinessRuleTaskExecutionSet(emptyTopLevelTask.getExecutionSet(), RuleLanguage.DRL, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, IS_NOT_ASYNC, NOT_AD_HOC_AUTOSTART); assertDataIOSet(emptyTopLevelTask.getDataIOSet(), EMPTY_TASK_DATA_INPUT_OUTPUT); }
ONE_INCOME_EDGE, HAS_OUTCOME_EDGE); assertGeneralSet(filledTopLevelTaskJava.getGeneral(), TASK_NAME_JAVA, TASK_DOCUMENTATION_JAVA); assertBusinessRuleTaskExecutionSet(filledTopLevelTaskJava.getExecutionSet(), RuleLanguage.DRL, ONE_INCOME_EDGE, HAS_OUTCOME_EDGE); assertGeneralSet(filledTopLevelTaskJavascript.getGeneral(), TASK_NAME_JAVASCRIPT, TASK_DOCUMENTATION_JAVASCRIPT); assertBusinessRuleTaskExecutionSet(filledTopLevelTaskJavascript.getExecutionSet(), RuleLanguage.DRL, ONE_INCOME_EDGE, HAS_OUTCOME_EDGE); assertGeneralSet(filledTopLevelTaskMvel.getGeneral(), TASK_NAME_MVEL, TASK_DOCUMENTATION_MVEL); assertBusinessRuleTaskExecutionSet(filledTopLevelTaskMvel.getExecutionSet(), RuleLanguage.DRL,
ONE_INCOME_EDGE, HAS_OUTCOME_EDGE); assertGeneralSet(filledSubprocessLevelTaskJava.getGeneral(), TASK_NAME_JAVA, TASK_DOCUMENTATION_JAVA); assertBusinessRuleTaskExecutionSet(filledSubprocessLevelTaskJava.getExecutionSet(), RuleLanguage.DRL, ONE_INCOME_EDGE, HAS_OUTCOME_EDGE); assertGeneralSet(filledSubprocessLevelTaskJavascript.getGeneral(), TASK_NAME_JAVASCRIPT, TASK_DOCUMENTATION_JAVASCRIPT); assertBusinessRuleTaskExecutionSet(filledSubprocessLevelTaskJavascript.getExecutionSet(), RuleLanguage.DRL, ONE_INCOME_EDGE, HAS_OUTCOME_EDGE); assertGeneralSet(filledSubprocessLevelTaskMvel.getGeneral(), TASK_NAME_MVEL, TASK_DOCUMENTATION_MVEL); assertBusinessRuleTaskExecutionSet(filledSubprocessLevelTaskMvel.getExecutionSet(), RuleLanguage.DRL,
ZERO_INCOME_EDGES, HAS_NO_OUTCOME_EDGE); assertGeneralSet(filledSubprocessLevelTaskJava.getGeneral(), TASK_NAME_JAVA, TASK_DOCUMENTATION_JAVA); assertBusinessRuleTaskExecutionSet(filledSubprocessLevelTaskJava.getExecutionSet(), RuleLanguage.DRL, ZERO_INCOME_EDGES, HAS_NO_OUTCOME_EDGE); assertGeneralSet(filledSubprocessLevelTaskJavascript.getGeneral(), TASK_NAME_JAVASCRIPT, TASK_DOCUMENTATION_JAVASCRIPT); assertBusinessRuleTaskExecutionSet(filledSubprocessLevelTaskJavascript.getExecutionSet(), RuleLanguage.DRL, ZERO_INCOME_EDGES, HAS_NO_OUTCOME_EDGE); assertGeneralSet(filledSubprocessLevelTaskMvel.getGeneral(), TASK_NAME_MVEL, TASK_DOCUMENTATION_MVEL); assertBusinessRuleTaskExecutionSet(filledSubprocessLevelTaskMvel.getExecutionSet(), RuleLanguage.DRL,
ZERO_INCOME_EDGES, HAS_NO_OUTCOME_EDGE); assertGeneralSet(filledTopLevelTaskJava.getGeneral(), TASK_NAME_JAVA, TASK_DOCUMENTATION_JAVA); assertBusinessRuleTaskExecutionSet(filledTopLevelTaskJava.getExecutionSet(), RuleLanguage.DRL, ZERO_INCOME_EDGES, HAS_NO_OUTCOME_EDGE); assertGeneralSet(filledTopLevelTaskJavascript.getGeneral(), TASK_NAME_JAVASCRIPT, TASK_DOCUMENTATION_JAVASCRIPT); assertBusinessRuleTaskExecutionSet(filledTopLevelTaskJavascript.getExecutionSet(), RuleLanguage.DRL, ZERO_INCOME_EDGES, HAS_NO_OUTCOME_EDGE); assertGeneralSet(filledTopLevelTaskMvel.getGeneral(), TASK_NAME_MVEL, TASK_DOCUMENTATION_MVEL); assertBusinessRuleTaskExecutionSet(filledTopLevelTaskMvel.getExecutionSet(), RuleLanguage.DRL,
assertNotNull(businessRuleTask.getExecutionSet()); assertNotNull(businessRuleTask.getExecutionSet().getRuleFlowGroup()); assertNotNull(businessRuleTask.getGeneral()); assertNotNull(businessRuleTask.getGeneral().getName()); assertEquals(businessRuleTask.getTaskType().getValue(), TaskTypes.BUSINESS_RULE); assertEquals("my business rule task", businessRuleTask.getGeneral().getName().getValue()); assertEquals("my-ruleflow-group", businessRuleTask.getExecutionSet().getRuleFlowGroup().getValue());
assertNotNull(businessRuleTask.getExecutionSet()); assertNotNull(businessRuleTask.getExecutionSet().getRuleFlowGroup()); assertNotNull(businessRuleTask.getGeneral()); assertNotNull(businessRuleTask.getGeneral().getName()); assertEquals(businessRuleTask.getTaskType().getValue(), TaskTypes.BUSINESS_RULE); assertEquals("my business rule task", businessRuleTask.getGeneral().getName().getValue()); assertEquals("my-ruleflow-group", businessRuleTask.getExecutionSet().getRuleFlowGroup().getValue());
TWO_INCOME_EDGES, HAS_OUTCOME_EDGE); assertGeneralSet(filledTopLevelTaskJava.getGeneral(), TASK_NAME_JAVA, TASK_DOCUMENTATION_JAVA); assertBusinessRuleTaskExecutionSet(filledTopLevelTaskJava.getExecutionSet(), RuleLanguage.DRL, TWO_INCOME_EDGES, HAS_OUTCOME_EDGE); assertGeneralSet(filledTopLevelTaskJavascript.getGeneral(), TASK_NAME_JAVASCRIPT, TASK_DOCUMENTATION_JAVASCRIPT); assertBusinessRuleTaskExecutionSet(filledTopLevelTaskJavascript.getExecutionSet(), RuleLanguage.DRL, TWO_INCOME_EDGES, HAS_OUTCOME_EDGE); assertGeneralSet(filledTopLevelTaskMvel.getGeneral(), TASK_NAME_MVEL, TASK_DOCUMENTATION_MVEL); assertBusinessRuleTaskExecutionSet(filledTopLevelTaskMvel.getExecutionSet(), RuleLanguage.DRL,
TWO_INCOME_EDGES, HAS_OUTCOME_EDGE); assertGeneralSet(filledSubprocessLevelTaskJava.getGeneral(), TASK_NAME_JAVA, TASK_DOCUMENTATION_JAVA); assertBusinessRuleTaskExecutionSet(filledSubprocessLevelTaskJava.getExecutionSet(), RuleLanguage.DRL, TWO_INCOME_EDGES, HAS_OUTCOME_EDGE); assertGeneralSet(filledSubprocessLevelTaskJavascript.getGeneral(), TASK_NAME_JAVASCRIPT, TASK_DOCUMENTATION_JAVASCRIPT); assertBusinessRuleTaskExecutionSet(filledSubprocessLevelTaskJavascript.getExecutionSet(), RuleLanguage.DRL, TWO_INCOME_EDGES, HAS_OUTCOME_EDGE); assertGeneralSet(filledSubprocessLevelTaskMvel.getGeneral(), TASK_NAME_MVEL, TASK_DOCUMENTATION_MVEL); assertBusinessRuleTaskExecutionSet(filledSubprocessLevelTaskMvel.getExecutionSet(), RuleLanguage.DRL,
private PropertyWriter businessRuleTask(Node<View<BusinessRuleTask>, ?> n) { org.eclipse.bpmn2.BusinessRuleTask task = bpmn2.createBusinessRuleTask(); task.setId(n.getUUID()); BusinessRuleTask definition = n.getContent().getDefinition(); BusinessRuleTaskPropertyWriter p = propertyWriterFactory.of(task); TaskGeneralSet general = definition.getGeneral(); p.setName(general.getName().getValue()); p.setDocumentation(general.getDocumentation().getValue()); BusinessRuleTaskExecutionSet executionSet = definition.getExecutionSet(); p.setAsync(executionSet.getIsAsync().getValue()); p.setOnEntryAction(executionSet.getOnEntryAction()); p.setOnExitAction(executionSet.getOnExitAction()); p.setAdHocAutostart(executionSet.getAdHocAutostart().getValue()); RuleLanguage ruleLanguage = executionSet.getRuleLanguage(); p.setImplementation(ruleLanguage); if (ruleLanguage.getValue().equals(RuleLanguage.DRL)) { p.setRuleFlowGroup(executionSet.getRuleFlowGroup()); } else if (ruleLanguage.getValue().equals(RuleLanguage.DMN)) { p.setNamespace(executionSet.getNamespace()); p.setDecisionName(executionSet.getDecisionName()); p.setDmnModelName(executionSet.getDmnModelName()); } p.setAssignmentsInfo(definition.getDataIOSet().getAssignmentsinfo()); p.setSimulationSet(definition.getSimulationSet()); p.setBounds(n.getContent().getBounds()); return p; }
@Test public void testUnmarshallDMNRuleLanguageProperties() throws Exception { final String DMN_LANGUAGE_TASK_NAME = "DMN Task"; Diagram<Graph, Metadata> diagram = unmarshall(marshaller, BPMN_TASK_FILE_PATH); assertDiagram(diagram, AMOUNT_OF_NODES_IN_DIAGRAM); BusinessRuleTask emptyTopLevelTask = getTaskNodeById(diagram, DMN_RULE_LANGUAGE_TASK_ID, ZERO_INCOME_EDGES, HAS_NO_OUTCOME_EDGE); assertGeneralSet(emptyTopLevelTask.getGeneral(), DMN_LANGUAGE_TASK_NAME, EMPTY_VALUE); assertBusinessRuleTaskExecutionSet(emptyTopLevelTask.getExecutionSet(), RuleLanguage.DMN, EMPTY_VALUE, "Namespace", "DecisionName", "DMNModelName", EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, EMPTY_VALUE, TASK_SCRIPT_JAVA_LANGUAGE, IS_NOT_ASYNC, NOT_AD_HOC_AUTOSTART); if (marshallerType == Marshaller.NEW) { assertDataIOSet(emptyTopLevelTask.getDataIOSet(), EMPTY_TASK_DATA_INPUT_OUTPUT); } if (marshallerType == Marshaller.OLD) { assertDataIOSet(emptyTopLevelTask.getDataIOSet(), DMN_TASK_DATA_INPUT_OUTPUT); } }