Hello.

I was trying to use the GPD eclipse plugin to design a test process definition. 
In fact, i have first open an existent process file i've previously 
hand-written. After moving the nodes on the diagram, i've just saved the 
changes, and close the file. At this time, le GDP has generated two new files : 
".gpd.BP3.xml" and "BP3.jpg", using the origin file name "BP3.xml" of the 
process definition. The last one seems to be a static image of my process 
diagram as saved. The first seems to be the graphics layout of the same 
diagram...

When i try to open again the process defintiion, an exception is thrown. I've 
tried to close the project, exit from eclipse and run it all again, but the 
exception persists !

The only way to get back to a working position, is deleting the ".gpd.BP3.xml", 
obviously losing the diagram, and doing it all again !

I copy the statck trace and the files content at the end of the message...

Any idea ? Does somebody has the same problem ?
The GPD plugin is the version that comes with the starters kit 3.1.1...

Thanks for any help !

The stack trace :

  | java.lang.NullPointerException
  |     at org.jbpm.ui.model.ProcessDefinition.getNodeByName(Unknown Source)
  |     at org.jbpm.ui.editor.DesignerContentProvider.addGraphicalInfo(Unknown 
Source)
  |     at org.jbpm.ui.editor.DesignerContentProvider.addGraphicalInfo(Unknown 
Source)
  |     at org.jbpm.ui.editor.DesignerContentProvider.addGraphicalInfo(Unknown 
Source)
  |     at org.jbpm.ui.editor.DesignerGraphicalEditorPage.initInput(Unknown 
Source)
  |     at org.jbpm.ui.editor.DesignerGraphicalEditorPage.init(Unknown Source)
  |     at 
org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:152)
  |     at org.jbpm.ui.editor.DesignerEditor.addGraphPage(Unknown Source)
  |     at org.jbpm.ui.editor.DesignerEditor.createPages(Unknown Source)
  |     at 
org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:241)
  |     at 
org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:609)
  |     at 
org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:384)
  |     at 
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:552)
  |     at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:283)
  |     at 
org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:126)
  |     at 
org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
  |     at 
org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
  |     at 
org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:391)
  |     at 
org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1102)
  |     at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1051)
  |     at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1256)
  |     at org.eclipse.ui.internal.PartStack.add(PartStack.java:442)
  |     at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:109)
  |     at 
org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:60)
  |     at 
org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:212)
  |     at 
org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:202)
  |     at 
org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:758)
  |     at 
org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:665)
  |     at 
org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:628)
  |     at 
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2360)
  |     at 
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2295)
  |     at 
org.eclipse.ui.internal.WorkbenchPage.access$9(WorkbenchPage.java:2287)
  |     at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2273)
  |     at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
  |     at 
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2268)
  |     at 
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2249)
  |     at org.eclipse.ui.ide.IDE.openEditor(IDE.java:371)
  |     at org.eclipse.ui.ide.IDE.openEditor(IDE.java:334)
  |     at 
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:251)
  |     at 
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:131)
  |     at 
org.eclipse.jdt.internal.ui.actions.OpenActionUtil.open(OpenActionUtil.java:49)
  |     at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:169)
  |     at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:153)
  |     at 
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:222)
  |     at 
org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:198)
  |     at 
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:296)
  |     at 
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:869)
  |     at 
org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:741)
  |     at 
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
  |     at org.eclipse.core.runtime.Platform.run(Platform.java:783)
  |     at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
  |     at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
  |     at 
org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:739)
  |     at 
org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:968)
  |     at 
org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1067)
  |     at 
org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:243)
  |     at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:238)
  |     at 
org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:277)
  |     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
  |     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
  |     at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3080)
  |     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2713)
  |     at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
  |     at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
  |     at 
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
  |     at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
  |     at 
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
  |     at 
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
  |     at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
  |     at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  |     at java.lang.reflect.Method.invoke(Unknown Source)
  |     at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
  |     at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
  |     at org.eclipse.core.launcher.Main.run(Main.java:973)
  |     at org.eclipse.core.launcher.Main.main(Main.java:948)
  | 

The process definition file :

  | <?xml version="1.0"?>
  | 
  | <process-definition
  |     xmlns="urn:jbpm.org:jpdl-3.1"
  |     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  |     xsi:schemaLocation="urn:jbpm.org:jpdl-3.1 http://jbpm.org/jpdl-3.1.xsd";
  |     name="MY-PROCESS-NUMBER-THREE">
  | 
  |     <swimlane name="Buyer">
  |             <!-- L'application designe le client acheteur au runtime -->
  |     </swimlane>
  | 
  |     <swimlane name="Seller">
  |             <!--  Assignation d'un vendeur -->
  |             <assignment class="my.wf.three.SellerAssignmentHandler" />
  |     </swimlane>
  | 
  |     <swimlane name="Controler">
  |             <!-- Assignation constante du role de controleur -->
  |             <assignment actor-id="CONTROLER" />
  |     </swimlane>
  | 
  |     <start-state>
  |             <transition to="place-order" />
  |     </start-state>
  | 
  |     <task-node name="place-order">
  |             <task
  |                     name="task_place-order"
  |                     description="The customer place a new order"
  |                     swimlane="Buyer" />
  |             <transition to="check-order" />
  |     </task-node>
  | 
  |     <decision name="check-order">
  |             <transition
  |                     name="check-order_to_deliver-product"
  |                     to="deliver-product" />
  |             <transition
  |                     name="check-order_to_verify-order"
  |                     to="verify-order">
  |                     <condition
  |                             
expression="#{contextInstance.variables['ORDER-AMOUNT'] gt 1000.00}" />
  |             </transition>
  |     </decision>
  | 
  |     <task-node name="verify-order">
  |             <task
  |                     name="task_verify-order"
  |                     description="Depending on conditions, the controller 
verify the order to accept or refuse it"
  |                     swimlane="Controler" />
  |             <event type="node-enter">
  |                     <script>
  |                             <expression>
  |                                     <![CDATA[
  |                                     System.out.println("!!! VERIFY ORDER = 
" + executionContext.getVariable("ORDER-AMOUNT"));
  |                                     ]]>
  |                             </expression>
  |                     </script>
  |             </event>
  |             <transition to="on-verify" />
  |     </task-node>
  | 
  |     <decision name="on-verify">
  |             <transition
  |                     name="on-verify_to_reject-order"
  |                     to="reject-order" />
  |             <transition
  |                     name="on-verify_to_deliver-product"
  |                     to="deliver-product">
  |                     <condition
  |                             
expression="#{contextInstance.variables['ORDER-VERIFY-ACCEPT']}" />
  |             </transition>
  |     </decision>
  | 
  |     <task-node name="reject-order">
  |             <task
  |                     name="task_reject-order"
  |                     description="The seller rejects an order the controler 
has refused"
  |                     swimlane="Seller" />
  |             <event type="node-enter">
  |                     <script>
  |                             <expression>
  |                                     <![CDATA[
  |                                     System.out.println("!!! ORDER IS 
REJECTED = " + executionContext.getVariable("ORDER-VERIFY-COMMENT"));
  |                                     ]]>
  |                             </expression>
  |                     </script>
  |             </event>
  |             <transition to="close-order" />
  |     </task-node>
  | 
  |     <task-node name="deliver-product">
  |             <task
  |                     name="task_deliver-product"
  |                     description="The seller deliver the ordered product"
  |                     swimlane="Seller" />
  |             <event type="node-enter">
  |                     <script>
  |                             <expression>
  |                                     <![CDATA[
  |                                     System.out.println("!!! DELIVER PRODUCT 
= " + executionContext.getVariable("ORDER-VERIFY-COMMENT"));
  |                                     ]]>
  |                             </expression>
  |                     </script>
  |             </event>
  |             <transition to="pay-invoice" />
  |     </task-node>
  | 
  |     <task-node name="pay-invoice">
  |             <task
  |                     name="task_pay-invoice"
  |                     description="The customer pays the price for the 
ordered product"
  |                     swimlane="Buyer" />
  |             <transition to="close-order" />
  |     </task-node>
  | 
  |     <task-node name="close-order">
  |             <task
  |                     name="task_close-order"
  |                     description="When the product is delivered, and the 
price is paid, the order is closed"
  |                     swimlane="Seller" />
  |             <transition to="end-of-order" />
  |     </task-node>
  | 
  |     <end-state name="end-of-order" />
  | 
  | </process-definition>
  | 

The .gpd.BP3.xml :

  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <process-diagram name="MY-PROCESS-NUMBER-THREE" width="991" height="648">
  |   <node x="12" y="12" width="140" height="40">
  |     <transition>
  |       <label x="5" y="-10"/>
  |     </transition>
  |   </node>
  |   <node name="place-order" x="12" y="84" width="140" height="40">
  |     <transition>
  |       <label x="5" y="-10"/>
  |     </transition>
  |   </node>
  |   <node name="check-order" x="288" y="156" width="140" height="40">
  |     <transition name="check-order_to_deliver-product">
  |       <label x="-71" y="-12"/>
  |     </transition>
  |     <transition name="check-order_to_verify-order">
  |       <label x="-68" y="-9"/>
  |     </transition>
  |   </node>
  |   <node name="verify-order" x="624" y="228" width="140" height="40">
  |     <transition>
  |       <label x="5" y="-10"/>
  |     </transition>
  |   </node>
  |   <node name="on-verify" x="624" y="300" width="140" height="40">
  |     <transition name="on-verify_to_reject-order">
  |       <label x="5" y="-10"/>
  |     </transition>
  |     <transition name="on-verify_to_deliver-product">
  |       <label x="-56" y="-7"/>
  |     </transition>
  |   </node>
  |   <node name="reject-order" x="624" y="384" width="140" height="40">
  |     <transition>
  |       <label x="5" y="-10"/>
  |     </transition>
  |   </node>
  |   <node name="deliver-product" x="288" y="384" width="140" height="40">
  |     <transition>
  |       <label x="5" y="-10"/>
  |     </transition>
  |   </node>
  |   <node name="pay-invoice" x="12" y="456" width="140" height="40">
  |     <transition>
  |       <label x="5" y="-10"/>
  |     </transition>
  |   </node>
  |   <node name="close-order" x="288" y="528" width="140" height="40">
  |     <transition>
  |       <label x="5" y="-10"/>
  |     </transition>
  |   </node>
  |   <node name="end-of-order" x="288" y="600" width="140" height="40"/>
  | </process-diagram>
  | 

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3951083#3951083

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3951083


_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to