3 Replies Latest reply on Feb 10, 2008 12:56 PM by pbolle

    Major GPD Changes for Extenders

    koen.aers

      Hi all,

      This is a post that will be of interest to everyone extending the GPD.

      Most of you will have noticed that the packages had a 'common', 'jpdl' and 'pf' category. During the last few days I have moved these different categories to their own plugins. The idea is of course to be able to build a graphical editor for a new dsl using the functionality and extension points that are available in the common part.

      More in detail, we have now:

      - a plugin called 'org.jbpm.gd.common' which lives in the module 'jbpm.3/designer/common
      - a plugin called 'org.jbpm.gd.jpdl' which lives in the module 'jbpm.3/designer/jpdl
      - a plugin called 'org.jbpm.gd.pf' which lives in the module 'jbpm.3/designer/pf

      If you want to build a graphical editor supporting your own dsl than you most likely only need the first one. The second and thirs one are supposed to be examples of how you would extend the first one to support a particular dsl. I will come up with a third example in the future.

      The most important thing to notice is that the extension points that previously lived in the 'org.jbpm.gd.jpdl' plugin are now moved to the 'org.jbpm.gd.common' plugin with the annoying result that their names have changed. So if you are extending already now, you will have to visit the extensions you have made to change the name of the used extension point. Sorry for this compatibility break but the changes should be fairly straightforward.
      Another thing to notice is that I have dumped the dom4j dependency in favor of jaxp. Now this change is absolutely not because jaxp has the better api, well on the contrary. But it reduces the dependencies and hence the configuration management because jaxp is present in the Eclipse platform. Normally this should have no implications on extenders.

      Please take a look at the changes. I am of course open to suggestions and improvements. Feel free to discuss them here or in JIRA.

      Regards,
      Koen

        • 1. Re: Major GPD Changes for Extenders
          pbolle

          Hi Koen,

          this sounds very interesting. The biggest problem I actually have is to build the GPD from source. My build always fails. Any idea:


          [java] allElements:
           [java]
           [java] init:
           [java]
           [java] generateScript:
           [java] [eclipse.buildScript] Some inter-plug-in dependencies have not been satisfied.
           [java] [eclipse.buildScript] Bundle org.jbpm.gd.jpdl:
           [java] [eclipse.buildScript] Missing required plug-in org.jbpm.gd.common_0.0.0.
           [java]
           [java] BUILD FAILED
           [java] D:\java\apps\jboss\jbpm_cvs\jbpm.3\designer\jpdl\org.jbpm.gd.jpdl.build\mainTargets.xml:23: The following error occurred while executing this line:
           [java] D:\java\apps\jboss\jbpm_cvs\jbpm.3\designer\jpdl\org.jbpm.gd.jpdl.build\mainTargets.xml:63: The following error occurred while executing this line:
           [java] D:\java\apps\jboss\jbpm_cvs\jbpm.3\designer\jpdl\org.jbpm.gd.jpdl.build\customTargets.xml:8: The following error occurred while executing this line:
           [java] D:\java\apps\jboss\jbpm_cvs\jbpm.3\designer\jpdl\org.jbpm.gd.jpdl.build\genericTargets.xml:63: Unable to find plug-in: org.jbpm.gd.jpdl_0.0.0. Please check the error log for more details.
           [java]
           [java] Total time: 1 second
           [java] Java Result: 13
          
          create.manifest:
          
          build-feature:
           [get] Getting: http://repository.jboss.com/licenses/JBossORG-EULA.txt
           [get] To: D:\java\apps\jboss\jbpm_cvs\jbpm.3\designer\jpdl\org.jbpm.gd.jpdl.build\target\temp\jboss.eula.txt
          
          BUILD FAILED
          D:\java\apps\jboss\jbpm_cvs\jbpm.3\designer\jpdl\org.jbpm.gd.jpdl.build\build.xml:63: The following error occurred while executing this line:
          D:\java\apps\jboss\jbpm_cvs\jbpm.3\designer\jpdl\org.jbpm.gd.jpdl.build\build.xml:221: Warning: Could not find file D:\java\apps\jboss\jbpm_cvs\jbpm.3\designer\jpdl\
          org.jbpm.gd.jpdl.build\target\workspace\N.3.1.1\org.jbpm.gd.jpdl.feature-3.1.1.zip to copy.


          regards philipp

          • 2. Re: Major GPD Changes for Extenders
            koen.aers

            Hi Philipp,

            I did indeed not yet test this build yet. You can get it build in the meantime by checking out the different plugins separately and using the Eclipse export funtionality. I will fix this ASAP though.

            Regards,
            Koen

            • 3. Re: Major GPD Changes for Extenders
              pbolle

              Hi Koen,

              Thank you for your answer. I tried to build GPD via eclipse but have the following problems.

              First a addend the missing plugin dependency org.eclipse.jface.text and add the jar dom4j.jar to classpath.

              The then 6 new errors occur in JpdlContentProvider:
              - The method addEdges(Node, Element) in the type JpdlContentProvider is not applicable for the arguments (Node, Transition[], Element)
              - The method addNodes(NodeContainer, Element) in the type JpdlContentProvider is not applicable for the arguments (NodeContainer, NodeElement[], Element)
              - The type JpdlContentProvider must implement the inherited abstract method AbstractContentProvider.addEdges(Node, Element)
              - The type JpdlContentProvider must implement the inherited abstract method AbstractContentProvider.addNodes(NodeContainer, Element)
              - The type JpdlContentProvider must implement the inherited abstract method AbstractContentProvider.getEdgeSemanticElement(Node, Element, int)
              - The type JpdlContentProvider must implement the inherited abstract method AbstractContentProvider.getNodeSemanticElement(NodeContainer, Element, int)

              For me it looks like if there are some commits are missing to get all work.

              Regards Philipp