| Summary: | ClassCastException: DNodeListSpec cannot be cast to DNodeListElement | ||
|---|---|---|---|
| Product: | [Modeling] Sirius | Reporter: | Stephane Begaudeau <stephane.begaudeau> |
| Component: | Diagram | Assignee: | Maxime Porhel <maxime.porhel> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | error-reports-inbox, florian.barbin, maxime.porhel, pierre-charles.david |
| Version: | 1.0.0M7 | Keywords: | triaged |
| Target Milestone: | 1.0.1 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Bug Depends on: | 436465 | ||
| Bug Blocks: | |||
|
Description
Stephane Begaudeau
I reproduced the issue. I've tested by adding two EClass in my diagram. According to the exception, it's like it tried to add the second EClass (a DNoeList) as a DNodeListElement of the first EClass. It may be a container context issue. If you select two EClass, during the second CreateViewTask, the var:containerView evaluation return the first created DNodeList. If I replace the "var:containerView" expression by "[containerView/]", I get the expected DSemanticDiagram. The refrehs called from the first CreateViewTask change the containerView value when it computes the semantic candidates of the attributes mapping: Thread [main] (Suspended (breakpoint at line 318 in ODesignGenericInterpreter)) ODesignGenericInterpreter.setVariable(String, Object) line: 318 AbstractNodeMappingSpecOperations.getSemanticIterator(AbstractNodeMapping, EObject, EObject, EObject) line: 166 AbstractNodeMappingSpecOperations.createBorderingNodes(AbstractNodeMapping, EObject, DDiagramElement, Collection, DDiagram) line: 136 CreateViewTask.createView(DSemanticDiagram, DSemanticDecorator, Session) line: 181 CreateViewTask.execute() line: 124 The issue is that the org.eclipse.sirius.common.tools.internal.interpreter.AbstractInterpreter.unSetVariable(String) is not implemented. This variable/service/feature interpreter should use a multimap or a variable manager to have a "stack" of values. This bug is a duplicate of Bug 436465. I do not close it as DUPLICATE because Bug 436465 has 2.0.0 as target milestone whereas this bug is planned for 1.0.1. Corrected by commit 482e8d763f7b64946e4355e1d489235d2a479db4 *** Bug 446785 has been marked as a duplicate of this bug. *** Available in Sirius 1.0.1. |