Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-14892

DiagramEdge and DiagramEdgeWaypoint objects never instantiated

    • Icon: Bug Report Bug Report
    • Resolution: Won't Fix
    • Icon: L3 - Default L3 - Default
    • None
    • 7.14.0
    • engine
    • None

      Environment (Required on creation):

      Camunda 7.14.0 (Any Camunda 7 version - the problem is clearly visible in the source.)

      Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket):

      The DiagramLayout object handling is not finished:

      org.camunda.bpm.engine.repository.DiagramEdge and org.camunda.bpm.engine.repository.DiagramEdgeWaypoint classes are exists but never instantiated.

      org.camunda.bpm.engine.repository.DiagramNode is fine.

      Steps to reproduce (Required on creation):

      (Create an engine, deploy a process, acquire the id)

      DiagramLayout layout = engine.getRepositoryService().getProcessDiagramLayout(processDefinitionId);

          for (DiagramElement element : layout.getElements().values()) {
            if (element.isNode())

      {         System.out.println("    - node: " + element );       }

            if (element.isEdge())

      {         System.out.println("    - edge: " + element );       }

          }

      Observed Behavior (Required on creation):

      DiagramEdges never returned by getElements().

      Expected behavior (Required on creation):

      DiagramEdges are returned from getElements() along with Nodes.

      Also expected:

      DiagramEdgeWaypoints accessible from DiagramEdges.

      Outward DiagramEdges accessible from DiagramNodes, and/or related DiagramNodes accessible from DiagramEdges.

      Root Cause (Required on prioritization):

      The implementation of the diagram parsing algorithm not finished correctly:

      The org.camunda.bpm.engine.impl.bpmn.diagram.ProcessDiagramLayoutFactory.getBpmnProcessDiagramLayout(Document, InputStream) method focusing on element bounds only, not the actual bean representation.

      Solution Ideas (Optional):

      Please finish the algorithm with the instantiation of the Edge diagram elements:

      org.camunda.bpm.engine.impl.bpmn.diagram.ProcessDiagramLayoutFactory.getBpmnProcessDiagramLayout(Document, InputStream)

      It will be needed to complete the DagramEdge with the DagramEdgeWaypoints accessor  and the DagramNode class with the outward DagramEdge list accessor, and/or the DagramEdge class with the related DagramNodes accessor.

      DiagramNodes.getEdges() is preferred with outward Edges, because DiagramLayout.getNodes() are already exists, and this way the graph would be walkable.

      Hints (optional):

      The bound computing algorithm can be simply expanded with the Egde instantiation.

        This is the controller panel for Smart Panels app

            [CAM-14892] DiagramEdge and DiagramEdgeWaypoint objects never instantiated

            Hi Gábór,

            Thanks for reporting this. We are not actively developing the server-side rendering functionality anymore, so I am closing this ticket. In the Camunda tech stack we have replaced this by client-side rendering based on the bpmn.io toolkit and that is also our recommendation to our users. The API only still exists to retain backwards compatibility. If you want to provide a fix yourself, we would certainly welcome it.

            Cheers,
            Thorben

            Thorben Lindhauer added a comment - Hi Gábór, Thanks for reporting this. We are not actively developing the server-side rendering functionality anymore, so I am closing this ticket. In the Camunda tech stack we have replaced this by client-side rendering based on the bpmn.io toolkit and that is also our recommendation to our users. The API only still exists to retain backwards compatibility. If you want to provide a fix yourself, we would certainly welcome it. Cheers, Thorben

              daniel.kelemen Daniel Kelemen
              madacsg MADÁCS, Gábor
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: