From acbbc69c98e37de72e463b865df9deb23612b35d Mon Sep 17 00:00:00 2001 From: Gwendal Daniel Date: Wed, 1 Oct 2025 11:34:20 +0200 Subject: [PATCH 1/2] [1557] Add read-only model upload in the user documentation Bug: https://github.com/eclipse-syson/syson/issues/1557 Signed-off-by: Gwendal Daniel --- CHANGELOG.adoc | 1 + .../assets/images/hands-on-upload-model.png | Bin 32996 -> 83211 bytes .../hands-on/how-tos/model-management.adoc | 9 ++++++++- .../pages/release-notes/2025.10.0.adoc | 2 ++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index f4ba4c531..8a1b1a412 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -108,6 +108,7 @@ Resources are now considered read-only if: * They are standard libraries (SysML and KerML) All the other resources are read-write. - https://github.com/eclipse-syson/syson/issues/1558[#1558] [doc] Add library update impact analysis in the user documentation. +- https://github.com/eclipse-syson/syson/issues/1557[#1557] [doc] Add read-only model upload in the user documentation. === New features diff --git a/doc/content/modules/user-manual/assets/images/hands-on-upload-model.png b/doc/content/modules/user-manual/assets/images/hands-on-upload-model.png index 7328564727ab3aa2eabe875cefa0ca0399638c5c..fae4b87feef40077934323bb180051baedef9f19 100644 GIT binary patch literal 83211 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 diff --git a/doc/content/modules/user-manual/pages/hands-on/how-tos/model-management.adoc b/doc/content/modules/user-manual/pages/hands-on/how-tos/model-management.adoc index f1c559e6e..6466a0ad4 100644 --- a/doc/content/modules/user-manual/pages/hands-on/how-tos/model-management.adoc +++ b/doc/content/modules/user-manual/pages/hands-on/how-tos/model-management.adoc @@ -44,11 +44,18 @@ To upload a model from a file previously exported, follow these steps: . Click the `Upload` button at the top of the {explorer} in the toolbar. . It opens the `Upload Model` modal. . Select a model from your file system. +. Select the import mode for your model: read-write (default), or read-only + image::hands-on-upload-model.png[Upload model] + . The uploaded model is automatically created and opened. +[NOTE] +==== +Read-only models cannot be renamed and their content cannot be modified. +Note that it is possible to delete a read-only model. +==== + [#rename-model] == Rename a model @@ -292,7 +299,7 @@ If _SomeTypeName_ doesn't exist, it's created as an appropriate type element (fo * Typing `[x]` on an element or a relationship sets its cardinality to _x_. * Typing `[1..x]` on an element or a relationship sets its cardinality to _1..x_. * Typing `[x..*]` on an element or a relationship sets its cardinality to _x..*_. -* Typing `someElement:>otherElement` on a element sets _someElement_ as a `subsetting` of the _otherElement_ if both element are of the same type. +* Typing `someElement:>otherElement` on a element sets _someElement_ as a `Subsetting` of the _otherElement_ if both element are of the same type. Otherwise, it creates a `specialization` relationship between _someElement_ and _otherElement_. * Typing `someElement:>>otherElement` on an element sets _someElement_ as a `redefinition` of _otherElement_. * On a `Feature`, typing `= someExpression` sets a bounded value to the feature (at the moment only `LiteralExpression` are handled in the expression part). diff --git a/doc/content/modules/user-manual/pages/release-notes/2025.10.0.adoc b/doc/content/modules/user-manual/pages/release-notes/2025.10.0.adoc index 90095d900..b94140200 100644 --- a/doc/content/modules/user-manual/pages/release-notes/2025.10.0.adoc +++ b/doc/content/modules/user-manual/pages/release-notes/2025.10.0.adoc @@ -125,6 +125,8 @@ This dialog lists references that will be removed from the models because their image::release-notes-library-update-impact-analysis.png[Dialog showing the impact analysis report of the 'Update library' action, width=85%,height=85%] +- Update the user documentation with information on read-only model upload. + == Dependency update - Update to https://github.com/eclipse-sirius/sirius-web[Sirius Web 2025.8.9] From 57328339f73e54145c00afa458e976852176d91e Mon Sep 17 00:00:00 2001 From: Axel RICHARD Date: Wed, 1 Oct 2025 11:40:38 +0200 Subject: [PATCH 2/2] [cleanup] Fix deprecated IDiagramContext Signed-off-by: Axel RICHARD --- .../org/eclipse/syson/services/LabelService.java | 2 +- ...AbstractCompartmentNodeDescriptionProvider.java | 4 ++-- ...ctControlNodeActionNodeDescriptionProvider.java | 4 ++-- .../AbstractDefinitionNodeDescriptionProvider.java | 4 ++-- ...bstractEmptyDiagramNodeDescriptionProvider.java | 4 ++-- .../nodes/AbstractNodeDescriptionProvider.java | 4 ++-- .../common/view/services/ViewCreateService.java | 6 +++--- .../description/ToolDescriptionService.java | 14 +++++++------- .../tools/AbstractCompartmentNodeToolProvider.java | 6 +++--- .../ActionFlowCompartmentNodeToolProvider.java | 6 +++--- ...atingElementOnRelationshipNodeToolProvider.java | 4 ++-- .../ExhibitStateWithReferenceNodeToolProvider.java | 6 +++--- ...ageBindingConnectorAsUsageNodeToolProvider.java | 4 ++-- .../PartUsageFeatureTypingNodeToolProvider.java | 4 ++-- .../PartUsageFlowConnectionNodeToolProvider.java | 4 ++-- .../tools/PartUsageInterfaceNodeToolProvider.java | 4 ++-- .../tools/PartUsageSubsettingNodeToolProvider.java | 4 ++-- .../ReferencingPerformActionNodeToolProvider.java | 6 +++--- .../view/SDVDiagramDescriptionProvider.java | 4 ++-- .../view/nodes/ActorNodeDescriptionProvider.java | 4 ++-- ...uirementCompartmentNodeDescriptionProvider.java | 4 ++-- ...nSubjectCompartmentNodeDescriptionProvider.java | 4 ++-- ...uirementCompartmentNodeDescriptionProvider.java | 4 ++-- ...eSubjectCompartmentNodeDescriptionProvider.java | 4 ++-- .../nodes/CompartmentNodeDescriptionProvider.java | 8 ++++---- .../nodes/DefinitionNodeDescriptionProvider.java | 4 ++-- ...nSubjectCompartmentNodeDescriptionProvider.java | 4 ++-- ...eSubjectCompartmentNodeDescriptionProvider.java | 4 ++-- .../view/nodes/UsageNodeDescriptionProvider.java | 4 ++-- .../nodes/ViewUsageNodeDescriptionProvider.java | 6 +++--- 30 files changed, 72 insertions(+), 72 deletions(-) diff --git a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/LabelService.java b/backend/services/syson-services/src/main/java/org/eclipse/syson/services/LabelService.java index 5f3bcf42d..5aa03eb32 100644 --- a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/LabelService.java +++ b/backend/services/syson-services/src/main/java/org/eclipse/syson/services/LabelService.java @@ -199,7 +199,7 @@ public Element directEdit(Element element, String newLabel, boolean isCompartmen DiagramDirectEditListener listener = new DiagramDirectEditListener(element, this.getFeedbackMessageService(), options); walker.walk(listener, tree); listener.resolveProxies().forEach(proxy -> { - this.feedbackMessageService.addFeedbackMessage(new Message(MessageFormat.format("Unable to resolve `{0}`", proxy.nameToResolve()), MessageLevel.WARNING)); + this.feedbackMessageService.addFeedbackMessage(new Message(MessageFormat.format("Unable to resolve \u2035{0}\u2035", proxy.nameToResolve()), MessageLevel.WARNING)); }); return element; } diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractCompartmentNodeDescriptionProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractCompartmentNodeDescriptionProvider.java index c4f79709f..4545632b1 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractCompartmentNodeDescriptionProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractCompartmentNodeDescriptionProvider.java @@ -19,7 +19,7 @@ import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.EReference; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -140,7 +140,7 @@ protected String isHiddenByDefaultExpression() { */ protected String getDropElementFromDiagramExpression() { return AQLUtils.getServiceCallExpression("droppedElement", "dropElementFromDiagram", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); } /** diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractControlNodeActionNodeDescriptionProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractControlNodeActionNodeDescriptionProvider.java index f57d562ac..a5ec8cbd5 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractControlNodeActionNodeDescriptionProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractControlNodeActionNodeDescriptionProvider.java @@ -17,7 +17,7 @@ import java.util.Objects; import org.eclipse.emf.ecore.EClass; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -101,7 +101,7 @@ public NodeDescription create() { .outsideLabels(this.createOutsideLabelDescription()) .name(this.descriptionNameGenerator.getNodeName(this.getNodeDescriptionName())) .semanticCandidatesExpression(AQLUtils.getSelfServiceCallExpression("getExposedElements", - List.of(domainType, org.eclipse.sirius.components.diagrams.description.NodeDescription.ANCESTORS, IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT))) + List.of(domainType, org.eclipse.sirius.components.diagrams.description.NodeDescription.ANCESTORS, IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT))) .style(this.createImageNodeStyleDescription(this.getImagePath())) .userResizable(this.isNodeResizable()) .synchronizationPolicy(SynchronizationPolicy.SYNCHRONIZED) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractDefinitionNodeDescriptionProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractDefinitionNodeDescriptionProvider.java index 3789e9e91..98d817f66 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractDefinitionNodeDescriptionProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractDefinitionNodeDescriptionProvider.java @@ -18,7 +18,7 @@ import java.util.Set; import org.eclipse.emf.ecore.EClass; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -272,7 +272,7 @@ protected List getEdgeTools(NodeDescription nodeDescription, IViewDiag protected DropNodeTool createDropFromDiagramTool(IViewDiagramElementFinder cache) { var dropElementFromDiagram = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getServiceCallExpression("droppedElement", "dropElementFromDiagram", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); return this.diagramBuilderHelper.newDropNodeTool() diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractEmptyDiagramNodeDescriptionProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractEmptyDiagramNodeDescriptionProvider.java index 517ad42c8..538fca864 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractEmptyDiagramNodeDescriptionProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractEmptyDiagramNodeDescriptionProvider.java @@ -17,7 +17,7 @@ import java.util.Objects; import org.eclipse.emf.ecore.EClass; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -147,7 +147,7 @@ private NodeTool createNodeToolFromPackage(NodeDescription nodeDescription, ECla var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var changeContextNewInstance = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getServiceCallExpression("newInstance", "elementInitializer")) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractNodeDescriptionProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractNodeDescriptionProvider.java index 73d2a0168..e06784982 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractNodeDescriptionProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractNodeDescriptionProvider.java @@ -17,7 +17,7 @@ import java.util.Objects; import org.eclipse.emf.common.util.EList; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.UserColor; @@ -76,7 +76,7 @@ protected ImageNodeStyleDescription createImageNodeStyleDescription(String image protected NodeTool getDeleteFromDiagramTool() { var changeContext = this.viewBuilderHelper.newChangeContext() - .expression(AQLUtils.getSelfServiceCallExpression("removeFromExposedElements", List.of(Node.SELECTED_NODE, IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT))); + .expression(AQLUtils.getSelfServiceCallExpression("removeFromExposedElements", List.of(Node.SELECTED_NODE, IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT))); var deleteView = this.diagramBuilderHelper.newDeleteView() .children(changeContext.build()); diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewCreateService.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewCreateService.java index b857db64a..090114aba 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewCreateService.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewCreateService.java @@ -472,7 +472,7 @@ private void addEndToAllocateEdge(AllocationUsage edge, Element end) { * find it. */ private Element getSourceOwner(Node sourceNode, IEditingContext editingContext, IDiagramService diagramService) { - Diagram diagram = diagramService.getDiagramContext().getDiagram(); + Diagram diagram = diagramService.getDiagramContext().diagram(); String id; var parentNode = new NodeFinder(diagram).getParent(sourceNode); if (parentNode instanceof Node node) { @@ -1086,7 +1086,7 @@ public PerformActionUsage createStateSubaction(Element self, ActionUsage perform public Feature createTransitionUsage(Feature sourceUsage, Feature targetUsage, Node source, Node target, IDiagramService diagramService, IEditingContext editingContext) { if (this.isInSameGraphicalContainer(source, target, diagramService)) { // Check source and target have the same parent - Element semanticContainer = this.getEdgeSemanticContainer(source, target, diagramService.getDiagramContext().getDiagram(), editingContext); + Element semanticContainer = this.getEdgeSemanticContainer(source, target, diagramService.getDiagramContext().diagram(), editingContext); if (semanticContainer != null) { Element sourceParentElement = sourceUsage.getOwner(); if (this.utilService.isParallelState(sourceParentElement)) { @@ -1250,7 +1250,7 @@ private EndFeatureMembership createConnectorEndFeatureMembership(Feature feature } private boolean isInSameGraphicalContainer(Node sourceNode, Node targetNode, IDiagramService diagramService) { - Diagram diagram = diagramService.getDiagramContext().getDiagram(); + Diagram diagram = diagramService.getDiagramContext().diagram(); var sourceParentNode = new NodeFinder(diagram).getParent(sourceNode); var targetParentNode = new NodeFinder(diagram).getParent(targetNode); return Objects.equals(sourceParentNode, targetParentNode); diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/description/ToolDescriptionService.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/description/ToolDescriptionService.java index 0271e0ffc..0839315ff 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/description/ToolDescriptionService.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/description/ToolDescriptionService.java @@ -20,7 +20,7 @@ import org.apache.commons.lang3.StringUtils; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EClassifier; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.diagrams.tools.ToolSection; @@ -183,7 +183,7 @@ public NodeTool addExistingElementsTool(boolean recursive, boolean nested) { var addToExposedElements = this.viewBuilderHelper.newChangeContext() .expression( - AQLUtils.getSelfServiceCallExpression("addToExposedElements", List.of("" + recursive, IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, + AQLUtils.getSelfServiceCallExpression("addToExposedElements", List.of("" + recursive, IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var changeContextViewUsageOwner = this.viewBuilderHelper.newChangeContext() @@ -322,7 +322,7 @@ public DropTool createDropFromExplorerTool() { var dropElementFromExplorer = this.viewBuilderHelper.newChangeContext() .expression( AQLUtils.getSelfServiceCallExpression("dropElementFromExplorer", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); return this.diagramBuilderHelper.newDropTool() .name("Drop from Explorer") @@ -436,7 +436,7 @@ public NodeTool createNodeToolFromDiagramWithDirection(NodeDescription nodeDescr var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var changeContextNewInstance = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getServiceCallExpression(NEW_INSTANCE, SERVICE_ELEMENT_INITIALIZER)); @@ -485,7 +485,7 @@ public NodeTool createNodeToolFromDiagramWithDirection(NodeDescription nodeDescr .body(changeContextRoot.build()) .elementsToSelectExpression("aql:newInstance") .preconditionExpression(AQLUtils.getSelfServiceCallExpression("toolShouldBeAvailable", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, SysMLMetamodelHelper.buildQualifiedName(eClass)))) + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, SysMLMetamodelHelper.buildQualifiedName(eClass)))) .build(); } @@ -521,7 +521,7 @@ public NodeTool createNodeToolWithDirection(NodeDescription nodeDescription, ECl var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var changeContextNewInstance = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getServiceCallExpression(NEW_INSTANCE, SERVICE_ELEMENT_INITIALIZER)); @@ -576,7 +576,7 @@ public NodeTool createNodeToolWithDirection(NodeDescription nodeDescription, ECl .body(changeContextRoot.build()) .elementsToSelectExpression("aql:newInstance") .preconditionExpression(AQLUtils.getSelfServiceCallExpression("toolShouldBeAvailable", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, SysMLMetamodelHelper.buildQualifiedName(eClass)))) + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, SysMLMetamodelHelper.buildQualifiedName(eClass)))) .build(); } } diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/AbstractCompartmentNodeToolProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/AbstractCompartmentNodeToolProvider.java index c05134c43..8c0d7e6fb 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/AbstractCompartmentNodeToolProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/AbstractCompartmentNodeToolProvider.java @@ -14,7 +14,7 @@ import java.util.List; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -73,11 +73,11 @@ public NodeTool create(IViewDiagramElementFinder cache) { var revealOperation = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getServiceCallExpression(Node.SELECTED_NODE, "revealCompartment", - List.of("self", IDiagramContext.DIAGRAM_CONTEXT, IEditingContext.EDITING_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of("self", DiagramContext.DIAGRAM_CONTEXT, IEditingContext.EDITING_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var addToExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var creationCompartmentItemServiceCall = this.viewBuilderHelper.newChangeContext() .expression(this.getServiceCallExpression()) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ActionFlowCompartmentNodeToolProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ActionFlowCompartmentNodeToolProvider.java index a0be83181..8972d3a00 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ActionFlowCompartmentNodeToolProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ActionFlowCompartmentNodeToolProvider.java @@ -14,7 +14,7 @@ import java.util.List; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -42,12 +42,12 @@ public NodeTool create(IViewDiagramElementFinder cache) { var addToExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var revealOperation = this.viewBuilderHelper.newChangeContext() .expression( AQLUtils.getServiceCallExpression(Node.SELECTED_NODE, "revealCompartment", - List.of("self", IDiagramContext.DIAGRAM_CONTEXT, IEditingContext.EDITING_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of("self", DiagramContext.DIAGRAM_CONTEXT, IEditingContext.EDITING_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var creationServiceCall = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("createSubActionUsage")) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/AnnotatingElementOnRelationshipNodeToolProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/AnnotatingElementOnRelationshipNodeToolProvider.java index 65d0215c5..968b78a27 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/AnnotatingElementOnRelationshipNodeToolProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/AnnotatingElementOnRelationshipNodeToolProvider.java @@ -16,7 +16,7 @@ import java.util.Objects; import org.eclipse.emf.ecore.EClass; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -59,7 +59,7 @@ public NodeTool create(IViewDiagramElementFinder cache) { var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var changeContextNewInstance = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getServiceCallExpression("newInstance", "elementInitializer")) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ExhibitStateWithReferenceNodeToolProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ExhibitStateWithReferenceNodeToolProvider.java index f570ec3c5..bd07fb213 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ExhibitStateWithReferenceNodeToolProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ExhibitStateWithReferenceNodeToolProvider.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Objects; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -79,11 +79,11 @@ public NodeTool create(IViewDiagramElementFinder cache) { var revealOperation = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getServiceCallExpression(Node.SELECTED_NODE, "revealCompartment", - List.of("newInstance", IDiagramContext.DIAGRAM_CONTEXT, IEditingContext.EDITING_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of("newInstance", DiagramContext.DIAGRAM_CONTEXT, IEditingContext.EDITING_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var changeContextNewInstance = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getServiceCallExpression("newInstance", "elementInitializer")) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageBindingConnectorAsUsageNodeToolProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageBindingConnectorAsUsageNodeToolProvider.java index e6f9d6c71..5ba8b93a6 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageBindingConnectorAsUsageNodeToolProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageBindingConnectorAsUsageNodeToolProvider.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Objects; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -52,7 +52,7 @@ public NodeTool create(IViewDiagramElementFinder cache) { var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var creationBindingConnectorAsUsageServiceCall = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("createPartUsageAndBindingConnectorAsUsage")) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageFeatureTypingNodeToolProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageFeatureTypingNodeToolProvider.java index 100c9d80d..783972bbb 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageFeatureTypingNodeToolProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageFeatureTypingNodeToolProvider.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.Objects; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -53,7 +53,7 @@ public NodeTool create(IViewDiagramElementFinder cache) { var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var creationFeatureTypingServiceCall = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("createPartDefinitionAndFeatureTyping")) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageFlowConnectionNodeToolProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageFlowConnectionNodeToolProvider.java index 541b00393..736c4f541 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageFlowConnectionNodeToolProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageFlowConnectionNodeToolProvider.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Objects; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -52,7 +52,7 @@ public NodeTool create(IViewDiagramElementFinder cache) { var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var creationBindingConnectorAsUsageServiceCall = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("createPartUsageAndFlowConnection")) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageInterfaceNodeToolProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageInterfaceNodeToolProvider.java index 062768a67..685ef8b27 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageInterfaceNodeToolProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageInterfaceNodeToolProvider.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Objects; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -52,7 +52,7 @@ public NodeTool create(IViewDiagramElementFinder cache) { var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var creationBindingConnectorAsUsageServiceCall = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("createPartUsageAndInterface")) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageSubsettingNodeToolProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageSubsettingNodeToolProvider.java index d66344908..838d578b5 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageSubsettingNodeToolProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/PartUsageSubsettingNodeToolProvider.java @@ -16,7 +16,7 @@ import java.util.List; import java.util.Objects; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -53,7 +53,7 @@ public NodeTool create(IViewDiagramElementFinder cache) { var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var creationSubsettingServiceCall = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("createPartUsageAndSubsetting")) diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ReferencingPerformActionNodeToolProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ReferencingPerformActionNodeToolProvider.java index 154371c17..ebda2221d 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ReferencingPerformActionNodeToolProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/tools/ReferencingPerformActionNodeToolProvider.java @@ -15,7 +15,7 @@ import java.util.List; import org.eclipse.emf.ecore.EClass; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -84,11 +84,11 @@ public NodeTool create(IViewDiagramElementFinder cache) { var addToExposedElements = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getSelfServiceCallExpression("expose", - List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var reveal = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getServiceCallExpression(Node.SELECTED_NODE, "revealCompartment", - List.of("newInstance", IDiagramContext.DIAGRAM_CONTEXT, IEditingContext.EDITING_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); + List.of("newInstance", DiagramContext.DIAGRAM_CONTEXT, IEditingContext.EDITING_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var changeContextNewInstance = this.viewBuilderHelper.newChangeContext() .expression("aql:newInstance") diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/SDVDiagramDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/SDVDiagramDescriptionProvider.java index b28684db5..ccb1a0cab 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/SDVDiagramDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/SDVDiagramDescriptionProvider.java @@ -21,7 +21,7 @@ import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EReference; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.RepresentationDescription; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -1093,7 +1093,7 @@ private DropNodeTool createDropFromDiagramTool(IViewDiagramElementFinder cache) var dropElementFromDiagram = this.viewBuilderHelper.newChangeContext() .expression(AQLUtils.getServiceCallExpression("droppedElement", "dropElementFromDiagram", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); return this.diagramBuilderHelper.newDropNodeTool() diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ActorNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ActorNodeDescriptionProvider.java index 49a0e2b22..455025ee1 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ActorNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ActorNodeDescriptionProvider.java @@ -15,7 +15,7 @@ import java.util.List; import java.util.Set; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -114,7 +114,7 @@ private NodeStyleDescription createActorNodeStyle() { @Override protected String getSemanticCandidatesExpression(String domainType) { return AQLUtils.getSelfServiceCallExpression("getExposedActors", - List.of(domainType, org.eclipse.sirius.components.diagrams.description.NodeDescription.ANCESTORS, IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT)); + List.of(domainType, org.eclipse.sirius.components.diagrams.description.NodeDescription.ANCESTORS, IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT)); } @Override diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseDefinitionObjectiveRequirementCompartmentNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseDefinitionObjectiveRequirementCompartmentNodeDescriptionProvider.java index 831cfc915..bebbdf6d0 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseDefinitionObjectiveRequirementCompartmentNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseDefinitionObjectiveRequirementCompartmentNodeDescriptionProvider.java @@ -15,7 +15,7 @@ import java.util.ArrayList; import java.util.List; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -58,7 +58,7 @@ protected List getDroppableNodes(IViewDiagramElementFinder cach @Override protected String getDropElementFromDiagramExpression() { return AQLUtils.getServiceCallExpression("droppedElement", "dropObjectiveRequirementFromDiagram", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); } @Override diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseDefinitionSubjectCompartmentNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseDefinitionSubjectCompartmentNodeDescriptionProvider.java index 3ce4a4de5..368871d8f 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseDefinitionSubjectCompartmentNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseDefinitionSubjectCompartmentNodeDescriptionProvider.java @@ -15,7 +15,7 @@ import java.util.ArrayList; import java.util.List; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -64,7 +64,7 @@ protected List getDroppableNodes(IViewDiagramElementFinder cach @Override protected String getDropElementFromDiagramExpression() { return AQLUtils.getServiceCallExpression("droppedElement", "dropSubjectFromDiagram", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); } @Override diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseUsageObjectiveRequirementCompartmentNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseUsageObjectiveRequirementCompartmentNodeDescriptionProvider.java index b95252cda..b312e7ed7 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseUsageObjectiveRequirementCompartmentNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseUsageObjectiveRequirementCompartmentNodeDescriptionProvider.java @@ -15,7 +15,7 @@ import java.util.ArrayList; import java.util.List; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -58,7 +58,7 @@ protected List getDroppableNodes(IViewDiagramElementFinder cach @Override protected String getDropElementFromDiagramExpression() { return AQLUtils.getServiceCallExpression("droppedElement", "dropObjectiveRequirementFromDiagram", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); } @Override diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseUsageSubjectCompartmentNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseUsageSubjectCompartmentNodeDescriptionProvider.java index c099e215a..d11d8ccd4 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseUsageSubjectCompartmentNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CaseUsageSubjectCompartmentNodeDescriptionProvider.java @@ -15,7 +15,7 @@ import java.util.ArrayList; import java.util.List; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -64,7 +64,7 @@ protected List getDroppableNodes(IViewDiagramElementFinder cach @Override protected String getDropElementFromDiagramExpression() { return AQLUtils.getServiceCallExpression("droppedElement", "dropSubjectFromDiagram", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); } @Override diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CompartmentNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CompartmentNodeDescriptionProvider.java index a219dba00..42e835f2e 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CompartmentNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/CompartmentNodeDescriptionProvider.java @@ -17,7 +17,7 @@ import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EReference; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -78,14 +78,14 @@ protected String getDropElementFromDiagramExpression() { if (this.eReference == SysmlPackage.eINSTANCE.getRequirementUsage_AssumedConstraint() || this.eReference == SysmlPackage.eINSTANCE.getRequirementDefinition_AssumedConstraint()) { customExpression = AQLUtils.getServiceCallExpression("droppedElement", "dropElementFromDiagramInRequirementAssumeConstraintCompartment", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); } else if (this.eReference == SysmlPackage.eINSTANCE.getRequirementUsage_RequiredConstraint() || this.eReference == SysmlPackage.eINSTANCE.getRequirementDefinition_RequiredConstraint()) { customExpression = AQLUtils.getServiceCallExpression("droppedElement", "dropElementFromDiagramInRequirementRequireConstraintCompartment", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); } else if (this.eReference == SysmlPackage.eINSTANCE.getUsage_NestedConstraint() || this.eReference == SysmlPackage.eINSTANCE.getDefinition_OwnedConstraint()) { customExpression = AQLUtils.getServiceCallExpression("droppedElement", "dropElementFromDiagramInConstraintCompartment", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); } return customExpression; } diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/DefinitionNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/DefinitionNodeDescriptionProvider.java index 8c05eac27..5779061c1 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/DefinitionNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/DefinitionNodeDescriptionProvider.java @@ -18,7 +18,7 @@ import java.util.Set; import org.eclipse.emf.ecore.EClass; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -53,7 +53,7 @@ public DefinitionNodeDescriptionProvider(EClass eClass, IColorProvider colorProv @Override protected String getSemanticCandidatesExpression(String domainType) { return AQLUtils.getSelfServiceCallExpression("getExposedElements", - List.of(domainType, org.eclipse.sirius.components.diagrams.description.NodeDescription.ANCESTORS, IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT)); + List.of(domainType, org.eclipse.sirius.components.diagrams.description.NodeDescription.ANCESTORS, IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT)); } @Override diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/RequirementDefinitionSubjectCompartmentNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/RequirementDefinitionSubjectCompartmentNodeDescriptionProvider.java index 9963c2e05..0b7954a9e 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/RequirementDefinitionSubjectCompartmentNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/RequirementDefinitionSubjectCompartmentNodeDescriptionProvider.java @@ -18,7 +18,7 @@ import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EReference; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -75,7 +75,7 @@ protected List getDroppableNodes(IViewDiagramElementFinder cach @Override protected String getDropElementFromDiagramExpression() { return AQLUtils.getServiceCallExpression("droppedElement", "dropSubjectFromDiagram", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); } @Override diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/RequirementUsageSubjectCompartmentNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/RequirementUsageSubjectCompartmentNodeDescriptionProvider.java index ccef92e6c..8decf8627 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/RequirementUsageSubjectCompartmentNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/RequirementUsageSubjectCompartmentNodeDescriptionProvider.java @@ -18,7 +18,7 @@ import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EReference; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -74,7 +74,7 @@ protected List getDroppableNodes(IViewDiagramElementFinder cach @Override protected String getDropElementFromDiagramExpression() { return AQLUtils.getServiceCallExpression("droppedElement", "dropSubjectFromDiagram", - List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); + List.of("droppedNode", "targetElement", "targetNode", IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE)); } @Override diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/UsageNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/UsageNodeDescriptionProvider.java index cb7915e45..355dd1584 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/UsageNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/UsageNodeDescriptionProvider.java @@ -18,7 +18,7 @@ import java.util.Set; import org.eclipse.emf.ecore.EClass; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -54,7 +54,7 @@ public UsageNodeDescriptionProvider(EClass eClass, IColorProvider colorProvider) @Override protected String getSemanticCandidatesExpression(String domainType) { return AQLUtils.getSelfServiceCallExpression("getExposedElements", - List.of(domainType, org.eclipse.sirius.components.diagrams.description.NodeDescription.ANCESTORS, IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT)); + List.of(domainType, org.eclipse.sirius.components.diagrams.description.NodeDescription.ANCESTORS, IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT)); } @Override diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ViewUsageNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ViewUsageNodeDescriptionProvider.java index 9056a4f5c..583e44a6f 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ViewUsageNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ViewUsageNodeDescriptionProvider.java @@ -18,7 +18,7 @@ import java.util.Objects; import org.eclipse.emf.ecore.EClass; -import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramContext; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; @@ -83,7 +83,7 @@ public NodeDescription create() { .insideLabel(this.createInsideLabelDescription()) .name(this.getNodeDescriptionName()) .semanticCandidatesExpression(AQLUtils.getSelfServiceCallExpression("getExposedElements", - List.of(domainType, org.eclipse.sirius.components.diagrams.description.NodeDescription.ANCESTORS, IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT))) + List.of(domainType, org.eclipse.sirius.components.diagrams.description.NodeDescription.ANCESTORS, IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT))) .style(this.createViewFrameNodeStyle()) .userResizable(UserResizableDirection.BOTH) .synchronizationPolicy(SynchronizationPolicy.SYNCHRONIZED) @@ -226,7 +226,7 @@ protected NodeTool createNodeTool(NodeDescription nodeDescription, EClass eClass var updateExposedElements = this.viewBuilderHelper.newChangeContext() .expression( - AQLUtils.getSelfServiceCallExpression("expose", List.of(IEditingContext.EDITING_CONTEXT, IDiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, + AQLUtils.getSelfServiceCallExpression("expose", List.of(IEditingContext.EDITING_CONTEXT, DiagramContext.DIAGRAM_CONTEXT, Node.SELECTED_NODE, ViewDiagramDescriptionConverter.CONVERTED_NODES_VARIABLE))); var changeContextNewInstance = this.viewBuilderHelper.newChangeContext()