public void setImplementation(RuleLanguage ruleLanguage) { task.setImplementation(ruleLanguage.getValue()); }
@Override public Collection<FormElementFilter> provideFilters(String elementUUID, Object definition) { final BusinessRuleTask businessRuleTask = (BusinessRuleTask) definition; final RuleLanguage ruleLanguage = businessRuleTask.getExecutionSet().getRuleLanguage(); final Predicate drlPredicate = t -> Objects.equals(ruleLanguage.getValue(), RuleLanguage.DRL); final Predicate dmnPredicate = t -> Objects.equals(ruleLanguage.getValue(), RuleLanguage.DMN); final FormElementFilter ruleFlowGroupFilter = new FormElementFilter(BusinessRuleTask.EXECUTION_SET + "." + BusinessRuleTaskExecutionSet.RULE_FLOW_GROUP, drlPredicate); final FormElementFilter namespaceFilter = new FormElementFilter(BusinessRuleTask.EXECUTION_SET + "." + BusinessRuleTaskExecutionSet.NAMESPACE, dmnPredicate); final FormElementFilter decisionNameFilter = new FormElementFilter(BusinessRuleTask.EXECUTION_SET + "." + BusinessRuleTaskExecutionSet.DECISON_NAME, dmnPredicate); final FormElementFilter dmnModelNameFilter = new FormElementFilter(BusinessRuleTask.EXECUTION_SET + "." + BusinessRuleTaskExecutionSet.DMN_MODEL_NAME, dmnPredicate); return Arrays.asList(ruleFlowGroupFilter, namespaceFilter, decisionNameFilter, dmnModelNameFilter); }
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; }
DmnModelName dmnModelName = null; if (ruleLanguage.getValue().equals(RuleLanguage.DRL)) { ruleFlowGroup = new RuleFlowGroup(p.getRuleFlowGroup()); namespace = new Namespace(); decisionName = new DecisionName(); dmnModelName = new DmnModelName(); } else if (ruleLanguage.getValue().equals(RuleLanguage.DMN)) { ruleFlowGroup = new RuleFlowGroup(); namespace = new Namespace(p.getNamespace());
assertEquals(ruleLanguage, executionSet.getRuleLanguage().getValue()); assertEquals(ruleFlowGroup, executionSet.getRuleFlowGroup().getValue()); assertEquals(namespace, executionSet.getNamespace().getValue());