Search in sources :

Example 1 with BaseCatchingIntermediateEvent

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

the class DefaultRouteFormProvider method findElements.

@Override
protected Collection<Pair<Object, String>> findElements(Predicate<Node> filter, Function<Node, Pair<Object, String>> mapper) {
    Node selectedNode = getSelectedElement();
    Collection<Pair<Object, String>> result = new ArrayList<>();
    if (selectedNode != null) {
        List<Edge> outEdges = selectedNode.getOutEdges();
        if (outEdges != null) {
            result = outEdges.stream().map(outEdge -> {
                String routeIdentifier = outEdge.getUUID();
                // UI value for the route is the target node name or target node type
                String targetName = null;
                String targetNodeType = null;
                BPMNDefinition bpmnDefinition = getEdgeTarget(outEdge);
                if (bpmnDefinition != null) {
                    targetNodeType = definitionManager.adapters().forDefinition().getTitle(bpmnDefinition);
                    if (bpmnDefinition instanceof BaseStartEvent || bpmnDefinition instanceof BaseCatchingIntermediateEvent || bpmnDefinition instanceof BaseThrowingIntermediateEvent || bpmnDefinition instanceof BaseEndEvent || bpmnDefinition instanceof BaseTask || bpmnDefinition instanceof BaseGateway || bpmnDefinition instanceof BaseSubprocess) {
                        targetName = bpmnDefinition.getGeneral().getName().getValue();
                    }
                }
                if (targetName != null && !targetName.isEmpty()) {
                    return new Pair<Object, String>(routeIdentifier, targetName);
                } else if (targetNodeType != null && !targetNodeType.isEmpty()) {
                    return new Pair<Object, String>(routeIdentifier, targetNodeType);
                } else {
                    return new Pair<Object, String>(routeIdentifier, routeIdentifier);
                }
            }).collect(Collectors.toList());
        }
    }
    return result;
}
Also used : BaseGateway(org.kie.workbench.common.stunner.bpmn.definition.BaseGateway) Node(org.kie.workbench.common.stunner.core.graph.Node) ArrayList(java.util.ArrayList) BaseEndEvent(org.kie.workbench.common.stunner.bpmn.definition.BaseEndEvent) BaseTask(org.kie.workbench.common.stunner.bpmn.definition.BaseTask) BaseSubprocess(org.kie.workbench.common.stunner.bpmn.definition.BaseSubprocess) BaseStartEvent(org.kie.workbench.common.stunner.bpmn.definition.BaseStartEvent) BPMNDefinition(org.kie.workbench.common.stunner.bpmn.definition.BPMNDefinition) BaseCatchingIntermediateEvent(org.kie.workbench.common.stunner.bpmn.definition.BaseCatchingIntermediateEvent) Edge(org.kie.workbench.common.stunner.core.graph.Edge) BaseThrowingIntermediateEvent(org.kie.workbench.common.stunner.bpmn.definition.BaseThrowingIntermediateEvent) Pair(org.uberfire.commons.data.Pair)

Aggregations

ArrayList (java.util.ArrayList)1 BPMNDefinition (org.kie.workbench.common.stunner.bpmn.definition.BPMNDefinition)1 BaseCatchingIntermediateEvent (org.kie.workbench.common.stunner.bpmn.definition.BaseCatchingIntermediateEvent)1 BaseEndEvent (org.kie.workbench.common.stunner.bpmn.definition.BaseEndEvent)1 BaseGateway (org.kie.workbench.common.stunner.bpmn.definition.BaseGateway)1 BaseStartEvent (org.kie.workbench.common.stunner.bpmn.definition.BaseStartEvent)1 BaseSubprocess (org.kie.workbench.common.stunner.bpmn.definition.BaseSubprocess)1 BaseTask (org.kie.workbench.common.stunner.bpmn.definition.BaseTask)1 BaseThrowingIntermediateEvent (org.kie.workbench.common.stunner.bpmn.definition.BaseThrowingIntermediateEvent)1 Edge (org.kie.workbench.common.stunner.core.graph.Edge)1 Node (org.kie.workbench.common.stunner.core.graph.Node)1 Pair (org.uberfire.commons.data.Pair)1