Community
Participate
Working Groups
Created attachment 270776 [details] image for reproduction An exception occurs and make unusable the current opened sequence editor when a user try to reconnecte a constraint from an observation point to another. java.lang.IllegalStateException at com.google.common.base.Preconditions.checkState(Preconditions.java:429) at org.eclipse.sirius.diagram.ui.internal.edit.parts.locator.EdgeLabelQuery.<init>(EdgeLabelQuery.java:205) at org.eclipse.sirius.diagram.ui.internal.edit.parts.locator.EdgeLabelLocator.computeOffSet(EdgeLabelLocator.java:123) at org.eclipse.sirius.diagram.ui.internal.edit.parts.locator.EdgeLabelLocator.relocate(EdgeLabelLocator.java:111) at org.eclipse.gmf.runtime.draw2d.ui.internal.figures.DelegatingLayout.layout(DelegatingLayout.java:43) at org.eclipse.draw2d.Figure.layout(Figure.java:1096) at org.eclipse.draw2d.PolylineConnection.layout(PolylineConnection.java:179) at org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramEdgeEditPart$ViewEdgeFigure.layout(AbstractDiagramEdgeEditPart.java:601) at org.eclipse.draw2d.Figure.validate(Figure.java:1899) at org.eclipse.draw2d.Figure.validate(Figure.java:1901) at org.eclipse.draw2d.Figure.validate(Figure.java:1901) at org.eclipse.draw2d.Figure.validate(Figure.java:1901) at org.eclipse.draw2d.Figure.validate(Figure.java:1901) at org.eclipse.draw2d.FreeformViewport$FreeformViewportLayout.calculatePreferredSize(FreeformViewport.java:25) at org.eclipse.draw2d.AbstractLayout.getPreferredSize(AbstractLayout.java:110) at org.eclipse.draw2d.AbstractHintLayout.getPreferredSize(AbstractHintLayout.java:90) at org.eclipse.draw2d.Figure.getPreferredSize(Figure.java:810) at org.eclipse.draw2d.ScrollPaneSolver.solve(ScrollPaneSolver.java:82) at org.eclipse.draw2d.FigureCanvas.layoutViewport(FigureCanvas.java:325) at org.eclipse.draw2d.FigureCanvas.access$4(FigureCanvas.java:323) at org.eclipse.draw2d.FigureCanvas$3.notifyValidating(FigureCanvas.java:292) at org.eclipse.draw2d.UpdateManager.fireValidating(UpdateManager.java:143) at org.eclipse.sirius.diagram.ui.tools.internal.part.SiriusDiagramGraphicalViewer$ToggleUpdateManager.performValidation(SiriusDiagramGraphicalViewer.java:220) at org.eclipse.draw2d.DeferredUpdateManager.performUpdate(DeferredUpdateManager.java:193) at org.eclipse.sirius.diagram.ui.tools.internal.part.SiriusDiagramGraphicalViewer$ToggleUpdateManager.performUpdate(SiriusDiagramGraphicalViewer.java:204) at org.eclipse.draw2d.DeferredUpdateManager$UpdateRequest.run(DeferredUpdateManager.java:44) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:37) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4213) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3820) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1044) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680) at org.eclipse.ui.internal.Workbench$$Lambda$65/1756143301.run(Unknown Source) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243) 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:653) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590) at org.eclipse.equinox.launcher.Main.run(Main.java:1499) java.lang.ClassCastException: org.eclipse.draw2d.RelativeBendpoint cannot be cast to org.eclipse.sirius.diagram.ui.business.internal.bracket.BracketRelativeBendpoint at org.eclipse.sirius.diagram.ui.business.internal.bracket.BracketConnectionQuery.getPointListFromConstraintAndMove(BracketConnectionQuery.java:542) at org.eclipse.sirius.diagram.ui.business.internal.bracket.BracketConnectionQuery.getPointListFromConstraint(BracketConnectionQuery.java:517) at org.eclipse.sirius.diagram.ui.tools.internal.routers.BracketConnectionRouter.route(BracketConnectionRouter.java:87) at org.eclipse.draw2d.PolylineConnection$RoutingNotifier.route(PolylineConnection.java:371) at org.eclipse.draw2d.PolylineConnection.layout(PolylineConnection.java:176) at org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramEdgeEditPart$ViewEdgeFigure.layout(AbstractDiagramEdgeEditPart.java:601) at org.eclipse.draw2d.Figure.validate(Figure.java:1899) at org.eclipse.draw2d.Figure.validate(Figure.java:1901) at org.eclipse.draw2d.Figure.validate(Figure.java:1901) at org.eclipse.draw2d.Figure.validate(Figure.java:1901) at org.eclipse.draw2d.Figure.validate(Figure.java:1901) at org.eclipse.draw2d.FreeformViewport$FreeformViewportLayout.calculatePreferredSize(FreeformViewport.java:25) at org.eclipse.draw2d.AbstractLayout.getPreferredSize(AbstractLayout.java:110) at org.eclipse.draw2d.AbstractHintLayout.getPreferredSize(AbstractHintLayout.java:90) at org.eclipse.draw2d.Figure.getPreferredSize(Figure.java:810) at org.eclipse.draw2d.ScrollPaneSolver.solve(ScrollPaneSolver.java:82) at org.eclipse.draw2d.FigureCanvas.layoutViewport(FigureCanvas.java:325) at org.eclipse.draw2d.FigureCanvas.access$4(FigureCanvas.java:323) at org.eclipse.draw2d.FigureCanvas$3.notifyValidating(FigureCanvas.java:292) at org.eclipse.draw2d.UpdateManager.fireValidating(UpdateManager.java:143) at org.eclipse.sirius.diagram.ui.tools.internal.part.SiriusDiagramGraphicalViewer$ToggleUpdateManager.performValidation(SiriusDiagramGraphicalViewer.java:220) at org.eclipse.draw2d.DeferredUpdateManager.paint(DeferredUpdateManager.java:167) at org.eclipse.draw2d.LightweightSystem.paint(LightweightSystem.java:203) at org.eclipse.draw2d.LightweightSystem$2.handleEvent(LightweightSystem.java:110) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1103) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1088) at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1570) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4900) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:359) at org.eclipse.swt.widgets.Display.windowProc(Display.java:5191) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2560) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3815) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1044) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153) at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680) at org.eclipse.ui.internal.Workbench$$Lambda$65/1756143301.run(Unknown Source) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243) 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:653) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590) at org.eclipse.equinox.launcher.Main.run(Main.java:1499) Steps to reproduce: 1- create two participant with one execution on each 2- Activate the layer "duration constraint" 3- Create a constraint between the two execution bottom points. 4- Select the constraint and try to move the little black square just next to the observation point
Created attachment 270806 [details] Use case to reproduce
Note that this already occured in Sirius 4.1 (and probably earlier).