@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); } }
final String displayName = definition.getGeneral() != null && definition.getGeneral().getName() != null ? definition.getGeneral().getName().getValue() : null; if (definition instanceof BusinessRuleTask) { assignmentsInfo = ((BusinessRuleTask) definition).getDataIOSet().getAssignmentsinfo(); } else if (definition instanceof UserTask) { assignmentsInfo = ((UserTask) definition).getExecutionSet().getAssignmentsinfo();
@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 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 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); }
IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledTopLevelTaskJava.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledTopLevelTaskJavascript.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledTopLevelTaskMvel.getDataIOSet(), TASK_DATA_INPUT_OUTPUT);
IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledSubprocessLevelTaskJava.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledSubprocessLevelTaskJavascript.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledSubprocessLevelTaskMvel.getDataIOSet(), TASK_DATA_INPUT_OUTPUT);
IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledTopLevelTaskJava.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledTopLevelTaskJavascript.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledTopLevelTaskMvel.getDataIOSet(), TASK_DATA_INPUT_OUTPUT);
IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledSubprocessLevelTaskJava.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledSubprocessLevelTaskJavascript.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledSubprocessLevelTaskMvel.getDataIOSet(), TASK_DATA_INPUT_OUTPUT);
IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledTopLevelTaskJava.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledTopLevelTaskJavascript.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledTopLevelTaskMvel.getDataIOSet(), TASK_DATA_INPUT_OUTPUT);
IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledSubprocessLevelTaskJava.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledSubprocessLevelTaskJavascript.getDataIOSet(), TASK_DATA_INPUT_OUTPUT); IS_ASYNC, AD_HOC_AUTOSTART); assertDataIOSet(filledSubprocessLevelTaskMvel.getDataIOSet(), TASK_DATA_INPUT_OUTPUT);
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 @SuppressWarnings("unchecked") public void testUnmarshallBusinessRuleTaskAssignments() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(BPMN_BUSINESSRULETASKASSIGNMENTS); assertDiagram(diagram, 4); assertEquals("BusinessRuleTaskAssignments", diagram.getMetadata().getTitle()); Node<? extends Definition, ?> businessRuleNode = diagram.getGraph().getNode("_45C2C340-D1D0-4D63-8419-EF38F9E73507"); BusinessRuleTask businessRuleTask = (BusinessRuleTask) businessRuleNode.getContent().getDefinition(); assertEquals(businessRuleTask.getTaskType().getValue(), TaskTypes.BUSINESS_RULE); DataIOSet dataIOSet = businessRuleTask.getDataIOSet(); AssignmentsInfo assignmentsinfo = dataIOSet.getAssignmentsinfo(); assertEquals(assignmentsinfo.getValue(), "|input1:String,input2:String||output1:String,output2:String|[din]pv1->input1,[din]pv2->input2,[dout]output1->pv2,[dout]output2->pv2"); }
@Test @SuppressWarnings("unchecked") public void testUnmarshallBusinessRuleTaskAssignments() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(BPMN_BUSINESSRULETASKASSIGNMENTS); assertDiagram(diagram, 4); assertEquals("BusinessRuleTaskAssignments", diagram.getMetadata().getTitle()); Node<? extends Definition, ?> businessRuleNode = diagram.getGraph().getNode("_45C2C340-D1D0-4D63-8419-EF38F9E73507"); BusinessRuleTask businessRuleTask = (BusinessRuleTask) businessRuleNode.getContent().getDefinition(); assertEquals(businessRuleTask.getTaskType().getValue(), TaskTypes.BUSINESS_RULE); DataIOSet dataIOSet = businessRuleTask.getDataIOSet(); AssignmentsInfo assignmentsinfo = dataIOSet.getAssignmentsinfo(); assertEquals(assignmentsinfo.getValue(), "|input1:String,input2:String||output1:String,output2:String|[din]pv1->input1,[din]pv2->input2,[dout]output1->pv2,[dout]output2->pv2"); }