Search in sources :

Example 1 with BusinessRuleTask

use of org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask 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.setRuleFlowGroup(executionSet.getRuleFlowGroup());
    p.setAdHocAutostart(executionSet.getAdHocAutostart().getValue());
    p.setAssignmentsInfo(definition.getDataIOSet().getAssignmentsinfo());
    p.setSimulationSet(definition.getSimulationSet());
    p.setBounds(n.getContent().getBounds());
    return p;
}
Also used : BusinessRuleTaskExecutionSet(org.kie.workbench.common.stunner.bpmn.definition.property.task.BusinessRuleTaskExecutionSet) BusinessRuleTask(org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask) TaskGeneralSet(org.kie.workbench.common.stunner.bpmn.definition.property.general.TaskGeneralSet) Factories.bpmn2(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.Factories.bpmn2) BusinessRuleTaskPropertyWriter(org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.BusinessRuleTaskPropertyWriter)

Example 2 with BusinessRuleTask

use of org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask in project kie-wb-common by kiegroup.

the class TaskConverter 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()));
    definition.setExecutionSet(new BusinessRuleTaskExecutionSet(new RuleFlowGroup(p.getRuleFlowGroup()), new OnEntryAction(p.getOnEntryAction()), new OnExitAction(p.getOnExitAction()), new IsAsync(p.isAsync()), new AdHocAutostart(p.isAdHocAutoStart())));
    definition.setSimulationSet(p.getSimulationSet());
    node.getContent().setBounds(p.getBounds());
    definition.setDimensionsSet(p.getRectangleDimensionsSet());
    definition.setBackgroundSet(p.getBackgroundSet());
    definition.setFontSet(p.getFontSet());
    return BpmnNode.of(node);
}
Also used : RuleFlowGroup(org.kie.workbench.common.stunner.bpmn.definition.property.task.RuleFlowGroup) BusinessRuleTaskExecutionSet(org.kie.workbench.common.stunner.bpmn.definition.property.task.BusinessRuleTaskExecutionSet) Documentation(org.kie.workbench.common.stunner.bpmn.definition.property.general.Documentation) BusinessRuleTask(org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask) TaskGeneralSet(org.kie.workbench.common.stunner.bpmn.definition.property.general.TaskGeneralSet) OnExitAction(org.kie.workbench.common.stunner.bpmn.definition.property.task.OnExitAction) OnEntryAction(org.kie.workbench.common.stunner.bpmn.definition.property.task.OnEntryAction) AdHocAutostart(org.kie.workbench.common.stunner.bpmn.definition.property.task.AdHocAutostart) View(org.kie.workbench.common.stunner.core.graph.content.view.View) Name(org.kie.workbench.common.stunner.bpmn.definition.property.general.Name) TaskName(org.kie.workbench.common.stunner.bpmn.definition.property.task.TaskName) DataIOSet(org.kie.workbench.common.stunner.bpmn.definition.property.dataio.DataIOSet) BusinessRuleTaskPropertyReader(org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.properties.BusinessRuleTaskPropertyReader) IsAsync(org.kie.workbench.common.stunner.bpmn.definition.property.task.IsAsync) Edge(org.kie.workbench.common.stunner.core.graph.Edge)

Example 3 with BusinessRuleTask

use of org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask in project kie-wb-common by kiegroup.

the class BPMNProcessVariableDeleteHandler method isVariableBoundToNode.

private boolean isVariableBoundToNode(Node node, String propertyId) {
    Object content = node.getContent();
    if (content instanceof Definition) {
        Object nodeDefinition = ((Definition) content).getDefinition();
        Collection<String> variablesName = new ArrayList();
        if (nodeDefinition instanceof UserTask) {
            UserTask userTask = (UserTask) nodeDefinition;
            final String userTaskAssignmentsinfo = userTask.getExecutionSet().getAssignmentsinfo().getValue();
            variablesName.addAll(getVariablesName(userTaskAssignmentsinfo, PROPERTY_IN_PREFIX, PROPERTY_OUT_PREFIX));
            variablesName.addAll(getVariablesName(userTaskAssignmentsinfo, PROPERTY_OUT_PREFIX));
        }
        if ((nodeDefinition instanceof BusinessRuleTask)) {
            BusinessRuleTask businessRuleTaskTask = (BusinessRuleTask) nodeDefinition;
            final String businessRuleTaskAssignmentsinfo = businessRuleTaskTask.getDataIOSet().getAssignmentsinfo().getValue();
            variablesName.addAll(getVariablesName(businessRuleTaskAssignmentsinfo, PROPERTY_IN_PREFIX, PROPERTY_OUT_PREFIX));
            variablesName.addAll(getVariablesName(businessRuleTaskAssignmentsinfo, PROPERTY_OUT_PREFIX));
        }
        return variablesName.stream().filter(id -> propertyId.equals(id)).findAny().isPresent();
    }
    return false;
}
Also used : Definition(org.kie.workbench.common.stunner.core.graph.content.definition.Definition) ArrayList(java.util.ArrayList) UserTask(org.kie.workbench.common.stunner.bpmn.definition.UserTask) BusinessRuleTask(org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask)

Example 4 with BusinessRuleTask

use of org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask in project kie-wb-common by kiegroup.

the class BPMNDiagramMarshallerTest method testUnmarshallBusinessRuleTaskAssignments.

@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");
}
Also used : DataIOSet(org.kie.workbench.common.stunner.bpmn.definition.property.dataio.DataIOSet) Graph(org.kie.workbench.common.stunner.core.graph.Graph) AssignmentsInfo(org.kie.workbench.common.stunner.bpmn.definition.property.dataio.AssignmentsInfo) Metadata(org.kie.workbench.common.stunner.core.diagram.Metadata) BusinessRuleTask(org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask) Test(org.junit.Test)

Example 5 with BusinessRuleTask

use of org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask in project kie-wb-common by kiegroup.

the class BPMNDiagramMarshallerTest method testUnmarshallBusinessRuleTask.

@Test
public void testUnmarshallBusinessRuleTask() throws Exception {
    Diagram<Graph, Metadata> diagram = unmarshall(BPMN_BUSINESSRULETASKRULEFLOWGROUP);
    BusinessRuleTask businessRuleTask = null;
    Iterator<Element> it = nodesIterator(diagram);
    while (it.hasNext()) {
        Element element = it.next();
        if (element.getContent() instanceof View) {
            Object oDefinition = ((View) element.getContent()).getDefinition();
            if (oDefinition instanceof BusinessRuleTask) {
                businessRuleTask = (BusinessRuleTask) oDefinition;
                break;
            }
        }
    }
    assertNotNull(businessRuleTask);
    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());
    assertEquals("true", businessRuleTask.getExecutionSet().getIsAsync().getValue().toString());
    assertEquals("true", businessRuleTask.getExecutionSet().getIsAsync().getValue().toString());
    assertEquals("System.out.println(\"Hello\");", businessRuleTask.getExecutionSet().getOnEntryAction().getValue().getValues().get(0).getScript());
    assertEquals("java", businessRuleTask.getExecutionSet().getOnEntryAction().getValue().getValues().get(0).getLanguage());
    assertEquals("System.out.println(\"Bye\");", businessRuleTask.getExecutionSet().getOnExitAction().getValue().getValues().get(0).getScript());
    assertEquals("java", businessRuleTask.getExecutionSet().getOnExitAction().getValue().getValues().get(0).getLanguage());
}
Also used : Graph(org.kie.workbench.common.stunner.core.graph.Graph) ItemAwareElement(org.eclipse.bpmn2.ItemAwareElement) FlowElement(org.eclipse.bpmn2.FlowElement) RootElement(org.eclipse.bpmn2.RootElement) Element(org.kie.workbench.common.stunner.core.graph.Element) Metadata(org.kie.workbench.common.stunner.core.diagram.Metadata) BusinessRuleTask(org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask) View(org.kie.workbench.common.stunner.core.graph.content.view.View) Test(org.junit.Test)

Aggregations

BusinessRuleTask (org.kie.workbench.common.stunner.bpmn.definition.BusinessRuleTask)8 Test (org.junit.Test)5 Metadata (org.kie.workbench.common.stunner.core.diagram.Metadata)4 Graph (org.kie.workbench.common.stunner.core.graph.Graph)4 DataIOSet (org.kie.workbench.common.stunner.bpmn.definition.property.dataio.DataIOSet)3 View (org.kie.workbench.common.stunner.core.graph.content.view.View)3 FlowElement (org.eclipse.bpmn2.FlowElement)2 ItemAwareElement (org.eclipse.bpmn2.ItemAwareElement)2 RootElement (org.eclipse.bpmn2.RootElement)2 UserTask (org.kie.workbench.common.stunner.bpmn.definition.UserTask)2 AssignmentsInfo (org.kie.workbench.common.stunner.bpmn.definition.property.dataio.AssignmentsInfo)2 TaskGeneralSet (org.kie.workbench.common.stunner.bpmn.definition.property.general.TaskGeneralSet)2 BusinessRuleTaskExecutionSet (org.kie.workbench.common.stunner.bpmn.definition.property.task.BusinessRuleTaskExecutionSet)2 Element (org.kie.workbench.common.stunner.core.graph.Element)2 ArrayList (java.util.ArrayList)1 Factories.bpmn2 (org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.Factories.bpmn2)1 BusinessRuleTaskPropertyWriter (org.kie.workbench.common.stunner.bpmn.backend.converters.fromstunner.properties.BusinessRuleTaskPropertyWriter)1 BusinessRuleTaskPropertyReader (org.kie.workbench.common.stunner.bpmn.backend.converters.tostunner.properties.BusinessRuleTaskPropertyReader)1 EndNoneEvent (org.kie.workbench.common.stunner.bpmn.definition.EndNoneEvent)1 NoneTask (org.kie.workbench.common.stunner.bpmn.definition.NoneTask)1