Hello,
I am trying to port process definition from one machine (Ubuntu) to other machine
(Windows) designed with JBPM GPD version 3.1.3.
I am facing NPE when I try to launch it on Windows machine. In workspace/.metadata/log I
can see the folowing trace:
| java.lang.NullPointerException
| at org.jbpm.gd.jpdl.notation.JpdlNode.getDestinationNode(Unknown Source)
| at org.jbpm.gd.jpdl.notation.JpdlNode.propertyChange(Unknown Source)
| at org.jbpm.gd.jpdl.notation.JpdlRootContainer.addLeavingEdges(Unknown Source)
| at org.jbpm.gd.common.notation.RootContainer.addNode(Unknown Source)
| at org.jbpm.gd.common.editor.AbstractContentProvider.addNode(Unknown Source)
| at org.jbpm.gd.common.editor.AbstractContentProvider.addNodes(Unknown Source)
| at org.jbpm.gd.jpdl.editor.JpdlContentProvider.addNodes(Unknown Source)
| at org.jbpm.gd.common.editor.AbstractContentProvider.processRootContainer(Unknown
Source)
| at org.jbpm.gd.common.editor.AbstractContentProvider.addNotationInfo(Unknown Source)
| at org.jbpm.gd.common.editor.Editor.initGraphPage(Unknown Source)
| at org.jbpm.gd.common.editor.Editor.createPages(Unknown Source)
| at org.jbpm.gd.jpdl.editor.JpdlEditor.createPages(Unknown Source)
| at
org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:283)
| at
org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
| at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426)
| at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
| at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:299)
| at
org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:179)
| 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:400)
| at
org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
| at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
| at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1604)
| at org.eclipse.ui.internal.PartStack.add(PartStack.java:499)
| at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
| at org.eclipse.ui.internal.PartStack.add(PartStack.java:485)
| at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
| at
org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
| at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:217)
| at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:207)
| at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:774)
| at
org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:673)
| at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:634)
| at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2737)
| at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2651)
| at org.eclipse.ui.internal.WorkbenchPage.access$13(WorkbenchPage.java:2643)
| at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2595)
| at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
| at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2590)
| at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2574)
| at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:340)
| at org.eclipse.ui.actions.OpenWithMenu.access$0(OpenWithMenu.java:328)
| at org.eclipse.ui.actions.OpenWithMenu$2.handleEvent(OpenWithMenu.java:190)
| at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
| at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
| at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
| at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
| at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
| at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
| at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
| at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
| at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
| at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
| at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
| at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
| at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
| at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
| at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
| at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
| at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
| 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.equinox.launcher.Main.invokeFramework(Main.java:508)
| at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
| at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
|
|
|
Ok, obviously there is some problem in my process definition, but from the log, I cannot
figure out, what exactly.
Is there a way, or plan for the future to make GPD error more informative, e.g to point to
the Node, or any element which is malformed.
Thanks for the answer.
For the reference, here are the files:
best,
Milan
My processdefinition.xml looks like this:
| <?xml version="1.0" encoding="UTF-8"?>
|
| <process-definition
| xmlns="urn:jbpm.org:jpdl-3.2"
| name="process setup">
|
|
| <start-state name="start">
| <transition to="select annotation modules"></transition>
| </start-state>
| <task-node name="select annotation modules">
| <task description="Here you can specify annotation modules to be used in
the annotation process." name="select annotation modules">
| <assignment actor-id="#{initiator}" />
| <controller>
| <variable name="doAutomatic"
access="read,write,required" mapped-name="X_Automatic
Annotation"></variable>
| <variable name="doManual" access="read,write,required"
mapped-name="X_Manual Annotation"></variable>
| </controller>
| </task>
| <transition to="do automatic?"></transition>
| </task-node>
|
| <decision name="do manual?">
| <transition to="end" name="No"></transition>
| <transition to="super-state1/select users"
name="Yes"></transition>
| </decision>
|
| <task-node name="save project">
| <transition to="end"></transition>
| </task-node>
|
| <super-state name="gas configuration">
| <task-node name="gas quick configuration">
| <task description="Here you can specify GAS services to be used in the
annotation process." name="specify GAS pipeline">
| <assignment actor-id="#{initiator}" />
| <controller>
| <variable name="gasName" access="read,write,required"
mapped-name="GAS Name"></variable>
| <variable name="endpointURL" access="read,write,required"
mapped-name="GAS URL"></variable>
| </controller>
| </task>
| <transition to="gas advanced configuration" name="Advanced
Options "></transition>
| <transition to="gas quick configuration" name="Specify
Next"></transition>
| <transition to="../do manual?"
name="Finish"></transition>
| </task-node>
| <task-node name="gas advanced configuration">
| <task description="Here you can specify GAS services to be used in the
annotation process." name="specify GAS pipeline">
| <assignment actor-id="#{initiator}" />
| <controller>
| <variable name="gasName" access="read,write,required"
mapped-name="GAS Name"></variable>
| <variable name="endpointURL" access="read,write,required"
mapped-name="GAS URL"></variable>
| <variable name="asKey" access="read,write"
mapped-name="Annotation Set Key"></variable>
| <variable name="asValue" access="read,write"
mapped-name="Annotation Set Value"></variable>
| <variable name="asExtraMappings" access="read,write"
mapped-name="A_Annotation Set Extra Mappings"></variable>
| <variable name="parameterKey" access="read,write"
mapped-name="Parameter Key"></variable>
| <variable name="parameterValue" access="read,write"
mapped-name="Parameter Value"></variable>
| </controller>
| </task>
| <transition to="gas quick configuration" name="Specify
Next"></transition>
| <transition to="../do manual?"
name="Finish"></transition>
| </task-node>
| </super-state>
|
| <super-state name="manual annotation configuration">
| <task-node name="select users">
| <task description="Here you can select users for manual annotation."
swimlane="curator" name="specify annotation process parameters">
| <controller>
| <variable name="curatorCSVList"
access="read,write,required"
mapped-name="M_:usersInRoleList#curator_Curators"></variable>
| <variable name="annotatorCSVList"
access="read,write,required"
mapped-name="M_:usersInRoleList#annotator_Annotators"></variable>
| </controller>
| </task>
| <transition to="specify annotation strategy"></transition>
| </task-node>
| <task-node name="specify annotation strategy">
| <task description="Here you can specify annotation strategy to be used for
manual annotation." name="specify annotation strategy">
| <assignment actor-id="#{initiator}" />
| <controller>
| <variable name="annotatorsPerDocument" access="read,
write" mapped-name="C_:numOfPerformersPerTask_Annotators per
Document"></variable>
| <variable name="canCancel" access="read, write"
mapped-name="X_Cancel Task Allowed"></variable>
| <variable name="anonymousAnnotation"
access="read,write" mapped-name="X_Anonymous
Annotation"></variable>
| </controller>
| </task>
| <transition to="save project" name="Save
Project"></transition>
| <transition to="../end" name="Don't
Save"></transition>
| </task-node>
| </super-state>
|
| <decision name="do automatic?">
| <transition to="gas configuration/gas quick configuration"
name="Yes"></transition>
| <transition to="do manual?" name="No"></transition>
| </decision>
| <end-state name="end"></end-state>
|
| </process-definition>
|
|
and my gpd.xml looks like this:
| <?xml version="1.0" encoding="UTF-8"?>
|
| <root-container name="process setup" width="781"
height="478">
| <node name="start" x="103" y="7"
width="140" height="40">
| <edge>
| <label x="5" y="-10"/>
| </edge>
| </node>
| <node name="select annotation modules" x="60"
y="65" width="229" height="36">
| <edge>
| <label x="5" y="-10"/>
| </edge>
| </node>
| <node name="do manual?" x="60" y="221"
width="229" height="36">
| <edge>
| <label x="-21" y="-13"/>
| <bendpoint w1="-135" h1="0" w2="-101"
h2="-199"/>
| <bendpoint w1="-135" h1="199" w2="-101"
h2="0"/>
| </edge>
| <edge>
| <label x="-24" y="-40"/>
| <bendpoint w1="0" h1="64" w2="-276"
h2="2"/>
| </edge>
| </node>
| <node name="save project" x="72" y="346"
width="132" height="36">
| <edge>
| <label x="5" y="-10"/>
| </edge>
| </node>
| <node name="end" x="72" y="420"
width="132" height="36"/>
| <node-container name="gas configuration" x="336"
y="36" width="281" height="181">
| <node name="gas quick configuration" x="20"
y="28" width="232" height="36">
| <edge>
| <label x="2" y="-9"/>
| <bendpoint w1="42" h1="41" w2="42"
h2="-43"/>
| </edge>
| <edge>
| <label x="-80" y="3"/>
| <bendpoint w1="126" h1="-6" w2="126"
h2="-6"/>
| <bendpoint w1="125" h1="-43" w2="125"
h2="-43"/>
| <bendpoint w1="64" h1="-42" w2="64"
h2="-42"/>
| <bendpoint w1="-2" h1="-42" w2="-2"
h2="-42"/>
| </edge>
| <edge>
| <label x="-84" y="58"/>
| <bendpoint w1="168" h1="-1" w2="474"
h2="-150"/>
| <bendpoint w1="169" h1="147" w2="475"
h2="-2"/>
| </edge>
| </node>
| <node name="gas advanced configuration" x="18"
y="120" width="234" height="36">
| <edge>
| <label x="-81" y="-11"/>
| <bendpoint w1="-44" h1="-40" w2="-44"
h2="44"/>
| </edge>
| <edge>
| <label x="-26" y="11"/>
| <bendpoint w1="-159" h1="3" w2="146"
h2="-54"/>
| </edge>
| </node>
| </node-container>
| <node-container name="manual annotation configuration"
x="336" y="264" width="284" height="145">
| <node name="select users" x="20" y="12"
width="231" height="36">
| <edge>
| <label x="5" y="-10"/>
| </edge>
| </node>
| <node name="specify annotation strategy" x="21"
y="73" width="234" height="36">
| <edge>
| <label x="-49" y="-19"/>
| </edge>
| <edge>
| <label x="-229" y="-20"/>
| <bendpoint w1="0" h1="73" w2="311"
h2="0"/>
| </edge>
| </node>
| </node-container>
| <node name="do automatic?" x="60" y="144"
width="229" height="36">
| <edge>
| <label x="6" y="-53"/>
| <bendpoint w1="130" h1="0" w2="-176"
h2="72"/>
| <bendpoint w1="138" h1="-70" w2="-168"
h2="2"/>
| </edge>
| <edge>
| <label x="5" y="-10"/>
| </edge>
| </node>
| </root-container>
|
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4184637#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...