public DiagramEdge getEdge(String id) { DiagramElement element = getElements().get(id); if (element instanceof DiagramEdge) { return (DiagramEdge) element; } else { return null; } }
public DiagramLayout(Map<String, DiagramElement> elements) { this.setElements(elements); }
/** * Provides positions and dimensions of elements in a BPMN process diagram as provided by {@link RepositoryService#getProcessDiagram(String)}. * * @param bpmnModel BPMN 2.0 XML document * @param imageStream BPMN 2.0 diagram in PNG format (JPEG and other formats supported by {@link ImageIO} may also work) * @return Layout of the process diagram; null when parameter imageStream is null */ public DiagramLayout getBpmnProcessDiagramLayout(Document bpmnModel, InputStream imageStream) { if (imageStream == null) { return null; } DiagramNode diagramBoundsXml = getDiagramBoundsFromBpmnDi(bpmnModel); DiagramNode diagramBoundsImage; if (isExportedFromAdonis50(bpmnModel)) { int offsetTop = 29; // Adonis header int offsetBottom = 61; // Adonis footer diagramBoundsImage = getDiagramBoundsFromImage(imageStream, offsetTop, offsetBottom); } else { diagramBoundsImage = getDiagramBoundsFromImage(imageStream); } Map<String, DiagramNode> listOfBounds = new HashMap<>(); listOfBounds.put(diagramBoundsXml.getId(), diagramBoundsXml); // listOfBounds.putAll(getElementBoundsFromBpmnDi(bpmnModel)); listOfBounds.putAll(fixFlowNodePositionsIfModelFromAdonis(bpmnModel, getElementBoundsFromBpmnDi(bpmnModel))); Map<String, DiagramElement> listOfBoundsForImage = transformBoundsForImage(diagramBoundsImage, diagramBoundsXml, listOfBounds); return new DiagramLayout(listOfBoundsForImage); }
/** * Provides positions and dimensions of elements in a BPMN process diagram as provided by {@link RepositoryService#getProcessDiagram(String)}. * * @param bpmnXmlStream * BPMN 2.0 XML document * @param imageStream * BPMN 2.0 diagram in PNG format (JPEG and other formats supported by {@link ImageIO} may also work) * @return Layout of the process diagram * @return null when parameter imageStream is null */ public DiagramLayout getBpmnProcessDiagramLayout(Document bpmnModel, InputStream imageStream) { if (imageStream == null) { return null; } DiagramNode diagramBoundsXml = getDiagramBoundsFromBpmnDi(bpmnModel); DiagramNode diagramBoundsImage; if (isExportedFromAdonis50(bpmnModel)) { int offsetTop = 29; // Adonis header int offsetBottom = 61; // Adonis footer diagramBoundsImage = getDiagramBoundsFromImage(imageStream, offsetTop, offsetBottom); } else { diagramBoundsImage = getDiagramBoundsFromImage(imageStream); } Map<String, DiagramNode> listOfBounds = new HashMap<String, DiagramNode>(); listOfBounds.put(diagramBoundsXml.getId(), diagramBoundsXml); // listOfBounds.putAll(getElementBoundsFromBpmnDi(bpmnModel)); listOfBounds.putAll(fixFlowNodePositionsIfModelFromAdonis(bpmnModel, getElementBoundsFromBpmnDi(bpmnModel))); Map<String, DiagramElement> listOfBoundsForImage = transformBoundsForImage(diagramBoundsImage, diagramBoundsXml, listOfBounds); return new DiagramLayout(listOfBoundsForImage); }
public DiagramNode getNode(String id) { DiagramElement element = getElements().get(id); if (element instanceof DiagramNode) { return (DiagramNode) element; } else { return null; } }
public DiagramLayout(Map<String, DiagramElement> elements) { this.setElements(elements); }
return new DiagramLayout(listOfBoundsForImage);
public DiagramEdge getEdge(String id) { DiagramElement element = getElements().get(id); if (element instanceof DiagramEdge) { return (DiagramEdge) element; } else { return null; } }
public DiagramLayout(Map<String, DiagramElement> elements) { this.setElements(elements); }
public DiagramNode getNode(String id) { DiagramElement element = getElements().get(id); if (element instanceof DiagramNode) { return (DiagramNode) element; } else { return null; } }
public DiagramNode getNode(String id) { DiagramElement element = getElements().get(id); if (element instanceof DiagramNode) { return (DiagramNode) element; } else { return null; } }
public DiagramEdge getEdge(String id) { DiagramElement element = getElements().get(id); if (element instanceof DiagramEdge) { return (DiagramEdge) element; } else { return null; } }
public List<DiagramNode> getNodes() { List<DiagramNode> nodes = new ArrayList<DiagramNode>(); for (Entry<String, DiagramElement> entry : getElements().entrySet()) { DiagramElement element = entry.getValue(); if (element instanceof DiagramNode) { nodes.add((DiagramNode) element); } } return nodes; }
public List<DiagramNode> getNodes() { List<DiagramNode> nodes = new ArrayList<>(); for (Entry<String, DiagramElement> entry : getElements().entrySet()) { DiagramElement element = entry.getValue(); if (element instanceof DiagramNode) { nodes.add((DiagramNode) element); } } return nodes; }
public List<DiagramNode> getNodes() { List<DiagramNode> nodes = new ArrayList<DiagramNode>(); for (Entry<String, DiagramElement> entry : getElements().entrySet()) { DiagramElement element = entry.getValue(); if (element instanceof DiagramNode) { nodes.add((DiagramNode) element); } } return nodes; }