[
http://jira.jboss.com/jira/browse/GPD-169?page=comments#action_12387492 ]
Matthias Hanisch commented on GPD-169:
--------------------------------------
Koen,
in my opinion, the saving of positions is now much better. But with your changes it seems
that you introduce another problem:
When I add a second incoming transition to a node I get the following exception in Error
Log View:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.ArrayList.add(ArrayList.java:368)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.primAddTargetConnection(AbstractGraphicalEditPart.java:532)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addTargetConnection(AbstractGraphicalEditPart.java:265)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refreshTargetConnections(AbstractGraphicalEditPart.java:667)
at
org.jbpm.gd.common.part.AbstractNodeGraphicalEditPart.propertyChange(AbstractNodeGraphicalEditPart.java:62)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:333)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:270)
at
org.jbpm.gd.common.notation.AbstractNotationElement.firePropertyChange(AbstractNotationElement.java:32)
at org.jbpm.gd.common.notation.Node.addArrivingEdge(Node.java:47)
at org.jbpm.gd.jpdl.notation.JpdlNode.propertyChange(JpdlNode.java:39)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:333)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:270)
at
org.jbpm.gd.common.model.AbstractSemanticElement.firePropertyChange(AbstractSemanticElement.java:20)
at org.jbpm.gd.jpdl.model.AbstractNode.addTransition(AbstractNode.java:56)
at org.jbpm.gd.jpdl.command.EdgeCreateCommand.execute(EdgeCreateCommand.java:40)
at org.eclipse.gef.commands.CommandStack.execute(CommandStack.java:149)
at org.eclipse.gef.tools.AbstractTool.executeCommand(AbstractTool.java:388)
at org.eclipse.gef.tools.AbstractTool.executeCurrentCommand(AbstractTool.java:400)
at
org.eclipse.gef.tools.AbstractConnectionCreationTool.handleCreateConnection(AbstractConnectionCreationTool.java:241)
at
org.eclipse.gef.tools.ConnectionCreationTool.handleButtonDown(ConnectionCreationTool.java:73)
at org.eclipse.gef.tools.AbstractTool.mouseDown(AbstractTool.java:964)
at org.eclipse.gef.EditDomain.mouseDown(EditDomain.java:215)
at
org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMousePressed(DomainEventDispatcher.java:342)
at
org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDown(LightweightSystem.java:513)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:178)
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(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
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)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Look in AbstractGraphicalEditPart.addTargetConnection():
If connection.getTarget() == this, then the connection is added at first, and then removed
again.
When it is then called the second time, we create an IndexOutOfBounds, because it tries to
add the connection at the second position.
The root cause seems to be the changes from 1.1 to 1.2 in
EdgeGraphicalEditPart.propertyChange.
Here the target of the connection is set and later
AbstractGraphicalEditPart.addTargetConnection() is called, which has no effect then.
Sorry, all I can say, that removing this "else if" does not cause any
exceptions, but probably it also disables a fix. My knowledge in these areas is too poor
to a give a concrete solution, but maybe it helps you to track this. If you need further
information just ask.
GPD Diagram node and text positioning not saving.
-------------------------------------------------
Key: GPD-169
URL:
http://jira.jboss.com/jira/browse/GPD-169
Project: JBoss jBPM GPD
Issue Type: Bug
Components: jpdl
Affects Versions: jBPM JPDL Designer 3.1.0.GA
Environment: Eclipse 3.3, EMF: 2.3.1, GEF: 3.3.1, DTP: 1.5, WTP: 2.0,
jbpm-jpdl-designer-3.1.0.sp1
Reporter: David Roberts
Assigned To: Koen Aers
Fix For: jBPM jPDL Designer 3.1.1
Attachments: Before and After.jpg, gpd.xml, processdefinition.xml
Upgrading to jbpm-jpdl-designer-3.1.0.sp1 gives me the following problem:
When re-opening a process definition with the GPD, my nodes are jumbled up and placed at
random locations. So there is this web of transition lines running everywhere to reach the
nodes. You can't see what's going on. Each time I open my process definition in
the GPD to work with it, I have to spend 10 to 15 minutes re-aligning everything.
Transition text also has a problem:
All my custom aligned/positioned text on all my transitions get reset when re-opening the
process in the designer. They stick to the transition line, and if the transition line is
quite short, the text then overlaps my nodes etc. It looks terrible.
I tried re-positioning all the text again, and saving, but as soon as I close and re-open
my process again, the text is snapped back onto the transition lines, and it looks
terrible again.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira