ClassCastException with ImageNodeStyleDescription
Try to reproduce this bug after the next update of Sirius-Web in Papyrus-Web
You need to be on the commit 0e80e9ee on Papyrus-Web:
- Create a Papyrus-Studio Project
- Go into the Component Diagram
- Create a Sub-Node in the SHARED_DESCRIPTIONS folder
- Go into this new subNode (don't edit it)
- Delete the created RectangularNodeStyleDescription
- Create a new ImageStyle (ImageNodeStyleDescription) instead (don't define the associate Shape)
- Reference the SubNode as a new Compartment of Interface (rootNode and SubNode)
- Create a new UML Model
- Create a Component Diagram
- Create Interface
- all works fine, but the interface only have 3 Compartments and not yet 4
- Return into the Studio, and edit the SubNode like this:
- domainType : uml::Element
- semanticCandidateExpression: aql:self
- Now return in your model
- If I remember well, the existing diagram with Interfaces will be broken with an exception
- Create a new Component Diagram and create an Interface inside it:
-
The interface will be semantically created, but won't appear in the diagram
-
You terminal will display an exception like this:
2024-10-01T15:18:59.577+02:00 WARN 13180 --- [47-84f7fd762f5c] o.e.s.c.c.e.EditingContextEventProcessor : class org.eclipse.sirius.components.view.diagram.impl.ImageNodeStyleDescriptionImpl cannot be cast to class org.eclipse.sirius.components.view.diagram.RectangularNodeStyleDescription (org.eclipse.sirius.components.view.diagram.impl.ImageNodeStyleDescriptionImpl and org.eclipse.sirius.components.view.diagram.RectangularNodeStyleDescription are in unnamed module of loader 'app')
java.lang.ClassCastException: class org.eclipse.sirius.components.view.diagram.impl.ImageNodeStyleDescriptionImpl cannot be cast to class org.eclipse.sirius.components.view.diagram.RectangularNodeStyleDescription (org.eclipse.sirius.components.view.diagram.impl.ImageNodeStyleDescriptionImpl and org.eclipse.sirius.components.view.diagram.RectangularNodeStyleDescription are in unnamed module of loader 'app')
at org.eclipse.sirius.components.view.emf.diagram.StylesFactory.createNodeStyle(StylesFactory.java:124) ~[sirius-components-view-emf-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.view.emf.diagram.ViewDiagramDescriptionConverter.lambda$convert$12(ViewDiagramDescriptionConverter.java:240) ~[sirius-components-view-emf-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.diagrams.components.NodeComponent.doRender(NodeComponent.java:173) ~[sirius-components-diagrams-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.diagrams.components.NodeComponent.render(NodeComponent.java:103) ~[sirius-components-diagrams-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderComponent(BaseRenderer.java:200) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderElement(BaseRenderer.java:121) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderChildren(BaseRenderer.java:170) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderFragment(BaseRenderer.java:163) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderElement(BaseRenderer.java:115) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderComponent(BaseRenderer.java:202) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderElement(BaseRenderer.java:121) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderChildren(BaseRenderer.java:170) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderInstance(BaseRenderer.java:143) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderElement(BaseRenderer.java:117) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderChildren(BaseRenderer.java:170) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderFragment(BaseRenderer.java:163) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderElement(BaseRenderer.java:115) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderComponent(BaseRenderer.java:202) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderElement(BaseRenderer.java:121) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderChildren(BaseRenderer.java:170) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderInstance(BaseRenderer.java:143) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderElement(BaseRenderer.java:117) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderComponent(BaseRenderer.java:202) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.representations.BaseRenderer.renderElement(BaseRenderer.java:121) ~[sirius-components-representations-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.diagrams.renderer.DiagramRenderer.render(DiagramRenderer.java:42) ~[sirius-components-diagrams-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.collaborative.diagrams.DiagramCreationService.doRender(DiagramCreationService.java:151) ~[sirius-components-collaborative-diagrams-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.collaborative.diagrams.DiagramCreationService.refresh(DiagramCreationService.java:114) ~[sirius-components-collaborative-diagrams-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.collaborative.diagrams.DiagramEventProcessor.refresh(DiagramEventProcessor.java:184) ~[sirius-components-collaborative-diagrams-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.collaborative.editingcontext.EditingContextEventProcessor.lambda$setupChangeDescriptionSinkConsumer$0(EditingContextEventProcessor.java:165) ~[sirius-components-collaborative-2024.7.5.jar:2024.7.5]
at reactor.core.publisher.LambdaSubscriber.onNext(LambdaSubscriber.java:160) ~[reactor-core-3.6.7.jar:3.6.7]
at reactor.core.publisher.SinkManyUnicast.drainRegular(SinkManyUnicast.java:284) ~[reactor-core-3.6.7.jar:3.6.7]
at reactor.core.publisher.SinkManyUnicast.drain(SinkManyUnicast.java:365) ~[reactor-core-3.6.7.jar:3.6.7]
at reactor.core.publisher.SinkManyUnicast.tryEmitNext(SinkManyUnicast.java:239) ~[reactor-core-3.6.7.jar:3.6.7]
at reactor.core.publisher.SinkManySerialized.tryEmitNext(SinkManySerialized.java:100) ~[reactor-core-3.6.7.jar:3.6.7]
at org.eclipse.sirius.components.collaborative.diagrams.handlers.InvokeSingleClickOnDiagramElementToolEventHandler.handle(InvokeSingleClickOnDiagramElementToolEventHandler.java:128) ~[sirius-components-collaborative-diagrams-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.collaborative.diagrams.DiagramEventProcessor.handle(DiagramEventProcessor.java:174) ~[sirius-components-collaborative-diagrams-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.collaborative.editingcontext.EditingContextEventProcessor.handleRepresentationInput(EditingContextEventProcessor.java:347) ~[sirius-components-collaborative-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.collaborative.editingcontext.EditingContextEventProcessor.doHandle(EditingContextEventProcessor.java:275) ~[sirius-components-collaborative-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.collaborative.editingcontext.EditingContextEventProcessor.lambda$handle$2(EditingContextEventProcessor.java:241) ~[sirius-components-collaborative-2024.7.5.jar:2024.7.5]
at org.eclipse.sirius.components.web.concurrent.DelegatingRequestContextRunnable.run(DelegatingRequestContextRunnable.java:40) ~[sirius-components-web-2024.7.5.jar:2024.7.5]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
-