use of org.kie.workbench.common.stunner.bpmn.definition.property.task.RuleLanguage in project kie-wb-common by kiegroup.
the class TaskConverter method businessRuleTask.
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());
p.setSlaDueDate(executionSet.getSlaDueDate().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.setMetaData(definition.getAdvancedData().getMetaDataAttributes());
p.setAbsoluteBounds(n);
return p;
}
use of org.kie.workbench.common.stunner.bpmn.definition.property.task.RuleLanguage in project kie-wb-common by kiegroup.
the class RuleLanguageFilterProvider method provideFilters.
@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);
}
use of org.kie.workbench.common.stunner.bpmn.definition.property.task.RuleLanguage in project kie-wb-common by kiegroup.
the class BaseTaskConverter method businessRuleTask.
private BpmnNode businessRuleTask(org.eclipse.bpmn2.BusinessRuleTask task) {
Node<View<BusinessRuleTask>, Edge> node = factoryManager.newNode(task.getId(), BusinessRuleTask.class);
BusinessRuleTask definition = node.getContent().getDefinition();
BusinessRuleTaskPropertyReader p = propertyReaderFactory.of(task);
definition.setGeneral(new TaskGeneralSet(new Name(p.getName()), new Documentation(p.getDocumentation())));
definition.setDataIOSet(new DataIOSet(p.getAssignmentsInfo()));
RuleLanguage ruleLanguage = new RuleLanguage(p.getImplementation());
RuleFlowGroup ruleFlowGroup = null;
Namespace namespace = null;
DecisionName decisionName = null;
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());
decisionName = new DecisionName(p.getDecisionName());
dmnModelName = new DmnModelName(p.getDmnModelName());
}
definition.setExecutionSet(new BusinessRuleTaskExecutionSet(new RuleLanguage(p.getImplementation()), ruleFlowGroup, namespace, decisionName, dmnModelName, new OnEntryAction(p.getOnEntryAction()), new OnExitAction(p.getOnExitAction()), new IsAsync(p.isAsync()), new AdHocAutostart(p.isAdHocAutoStart()), new SLADueDate(p.getSlaDueDate())));
definition.setSimulationSet(p.getSimulationSet());
definition.setAdvancedData(new AdvancedData(p.getMetaDataAttributes()));
node.getContent().setBounds(p.getBounds());
definition.setDimensionsSet(p.getRectangleDimensionsSet());
definition.setBackgroundSet(p.getBackgroundSet());
definition.setFontSet(p.getFontSet());
return BpmnNode.of(node, p);
}
Aggregations