use of org.kie.workbench.common.stunner.bpmn.definition.BaseGateway 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;
}
Aggregations