From 4dcdf4c1453a11ddb701f2bce2e319c8f77c6619 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20B=C3=A9gaudeau?= Date: Tue, 9 Jan 2024 10:18:56 +0100 Subject: [PATCH] [2889] Add an interface to identify EMF aware editing context MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: https://github.com/eclipse-sirius/sirius-web/issues/2889 Signed-off-by: Stéphane Bégaudeau --- CHANGELOG.adoc | 3 ++ .../CreateInstanceOperationHandler.java | 8 ++--- ...epresentationDescriptionsEventHandler.java | 6 ++-- .../emf/query/EditingContextServices.java | 22 ++++--------- .../emf/services/DefaultEditService.java | 25 ++++++++------- .../emf/services/DefaultObjectService.java | 7 +++-- .../emf/services/EMFValidationService.java | 7 +++-- .../emf/services/JSONResourceFactory.java | 3 +- .../emf/services/api/IEMFEditingContext.java | 31 +++++++++++++++++++ .../ModelBrowsersDescriptionProvider.java | 18 +++++------ ...eWidgetDefaultCandidateSearchProvider.java | 10 +++--- .../DomainPropertiesConfigurer.java | 4 +-- .../FlowProjectTemplatesInitializer.java | 8 ++--- .../MultipleDomainPropertiesConfigurer.java | 4 +-- .../StudioProjectTemplatesInitializer.java | 8 ++--- .../PapayaStudioTemplatesInitializer.java | 8 ++--- .../services/EditingContextActionHandler.java | 8 ++--- .../EditingContextActionProvider.java | 4 +-- ...entationDescriptionRegistryConfigurer.java | 4 +-- ...entationDescriptionRegistryConfigurer.java | 4 +-- .../documents/CreateDocumentEventHandler.java | 8 ++--- .../documents/DeleteDocumentEventHandler.java | 8 ++--- .../documents/RenameDocumentEventHandler.java | 8 ++--- .../documents/RewriteProxiesEventHandler.java | 8 ++--- .../documents/UploadDocumentEventHandler.java | 10 +++--- .../editingcontext/DomainSearchService.java | 14 ++++----- .../editingcontext}/EditingContext.java | 11 ++----- .../EditingContextPersistenceService.java | 10 +++--- .../EditingDomainFactoryService.java | 4 +-- .../services/editingcontext/ViewLoader.java | 4 +-- .../DeleteDocumentTreeItemEventHandler.java | 8 ++--- .../explorer/ExpandAllTreePathProvider.java | 8 ++--- .../explorer/ExplorerDescriptionProvider.java | 10 +++--- .../RenameDocumentTreeItemHandler.java | 8 ++--- .../TaskStudioTemplatesInitializer.java | 10 +++--- .../view/emf/AQLTextfieldCustomizer.java | 6 ++-- .../emf/DomainTypeTextfieldCustomizer.java | 5 ++- .../emf/OperationInterpreterViewSwitch.java | 4 +-- ...iewRepresentationDescriptionsProvider.java | 6 ++-- .../EdgeStylePropertiesConfigurer.java | 8 ++--- .../NodeStylePropertiesConfigurer.java | 8 ++--- .../view/emf/diagram/ViewPaletteProvider.java | 6 ++-- .../ViewReconnectionToolsExecutor.java | 6 ++-- ...InitialDirectEditElementLabelProvider.java | 6 ++-- 44 files changed, 199 insertions(+), 177 deletions(-) create mode 100644 packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/api/IEMFEditingContext.java rename packages/{emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services => sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext}/EditingContext.java (83%) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 4c7b1dd6d7..67c9d0376a 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -139,6 +139,9 @@ This is a preliminary work to add some proper support for outside labels in the - https://github.com/eclipse-sirius/sirius-web/issues/2869[#2869] [diagram] Add `diagramContext` variable to accessible variables when computing semantic candidates expression. - https://github.com/eclipse-sirius/sirius-web/issues/2774[#2774] [gantt] Rework the gantt representation front-end to follow best practises. - https://github.com/eclipse-sirius/sirius-web/issues/2872[#2872] [diagram] Reduce the time needed to retrieve a diagram description, thus leading to reduce the duration of diagrams opening. +- https://github.com/eclipse-sirius/sirius-web/issues/2889[#2889] [emf] Add the `IEMFEditingContext` interface in order to let any editing context be an EMF aware one. +After this change, we will be able to delete the `EditingContext` class from `sirius-components-emf` and add new interfaces to describe the various capabilities of an editing context. +Among those capabilities, we should find the list of view models to consider during the lifecycle of the editing context. == v2023.12.0 diff --git a/packages/compatibility/backend/sirius-components-compatibility-emf/src/main/java/org/eclipse/sirius/components/compatibility/emf/modeloperations/CreateInstanceOperationHandler.java b/packages/compatibility/backend/sirius-components-compatibility-emf/src/main/java/org/eclipse/sirius/components/compatibility/emf/modeloperations/CreateInstanceOperationHandler.java index f40f83faf7..15897e5d65 100644 --- a/packages/compatibility/backend/sirius-components-compatibility-emf/src/main/java/org/eclipse/sirius/components/compatibility/emf/modeloperations/CreateInstanceOperationHandler.java +++ b/packages/compatibility/backend/sirius-components-compatibility-emf/src/main/java/org/eclipse/sirius/components/compatibility/emf/modeloperations/CreateInstanceOperationHandler.java @@ -30,7 +30,7 @@ import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.core.api.IObjectService; import org.eclipse.sirius.components.core.api.IRepresentationMetadataSearchService; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.interpreter.AQLInterpreter; import org.eclipse.sirius.components.representations.IStatus; import org.eclipse.sirius.components.representations.VariableManager; @@ -95,9 +95,9 @@ public IStatus handle(Map variables) { .map(EObject.class::cast); Optional optionalEditingDomain = Optional.of(variables.get(IEditingContext.EDITING_CONTEXT)) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); // @formatter:on Matcher matcher = SEPARATOR.matcher(typeName); diff --git a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/handlers/EditingContextRepresentationDescriptionsEventHandler.java b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/handlers/EditingContextRepresentationDescriptionsEventHandler.java index 8adf5cbdcf..f92127027a 100644 --- a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/handlers/EditingContextRepresentationDescriptionsEventHandler.java +++ b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/handlers/EditingContextRepresentationDescriptionsEventHandler.java @@ -34,7 +34,7 @@ import org.eclipse.sirius.components.core.api.IPayload; import org.eclipse.sirius.components.core.api.IRepresentationDescriptionSearchService; import org.eclipse.sirius.components.core.api.SemanticKindConstants; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.emf.services.api.IEMFKindService; import org.eclipse.sirius.components.emf.services.messages.IEMFMessageService; import org.eclipse.sirius.components.representations.IRepresentationDescription; @@ -141,8 +141,8 @@ private Optional resolveKind(IEditingContext editingContext, String kind } private Optional getPackageRegistry(IEditingContext editingContext) { - if (editingContext instanceof EditingContext) { - Registry packageRegistry = ((EditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); + if (editingContext instanceof IEMFEditingContext) { + Registry packageRegistry = ((IEMFEditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); return Optional.of(packageRegistry); } else { return Optional.empty(); diff --git a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/query/EditingContextServices.java b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/query/EditingContextServices.java index 88fc7f0d3c..b20042c288 100644 --- a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/query/EditingContextServices.java +++ b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/query/EditingContextServices.java @@ -27,7 +27,7 @@ import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.edit.domain.EditingDomain; import org.eclipse.sirius.components.core.api.IEditingContext; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; /** * An utility class providing various query services. @@ -37,16 +37,13 @@ public final class EditingContextServices { public Collection allContents(IEditingContext editingContext) { - // @formatter:off return this.getResourceset(editingContext) .stream() .flatMap(this::collectAllContent) .toList(); - // @formatter:on } public Collection contents(IEditingContext editingContext) { - //@formatter:off return this.getResourceset(editingContext) .stream() .map(ResourceSet::getResources) @@ -54,11 +51,9 @@ public Collection contents(IEditingContext editingContext) { .map(Resource::getContents) .flatMap(EList::stream) .toList(); - //@formatter:on } public EObject getObjectById(IEditingContext editingContext, String id) { - //@formatter:off return this.getResourceset(editingContext) .stream() .map(ResourceSet::getResources) @@ -67,25 +62,20 @@ public EObject getObjectById(IEditingContext editingContext, String id) { .filter(Objects::nonNull) .findFirst() .orElse(null); - //@formatter:on } private Optional getResourceset(IEditingContext editingContext) { - //@formatter:off - return Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) - .map(EditingDomain::getResourceSet); - //@formatter:on + return Optional.of(editingContext) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) + .map(EditingDomain::getResourceSet); } private Stream collectAllContent(ResourceSet resourceSet) { Spliterator spliterator = Spliterators.spliteratorUnknownSize(resourceSet.getAllContents(), Spliterator.ORDERED); - //@formatter:off return StreamSupport.stream(spliterator, false) .filter(EObject.class::isInstance) .map(EObject.class::cast); - //@formatter:on } } diff --git a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/DefaultEditService.java b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/DefaultEditService.java index 62fb6edc84..0cd295e7aa 100644 --- a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/DefaultEditService.java +++ b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/DefaultEditService.java @@ -47,6 +47,7 @@ import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.core.api.IFeedbackMessageService; import org.eclipse.sirius.components.core.api.IObjectService; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.emf.services.api.IEMFKindService; import org.eclipse.sirius.components.emf.services.messages.IEMFMessageService; import org.eclipse.sirius.components.representations.Message; @@ -96,9 +97,9 @@ private Optional getEClass(EPackage.Registry ePackageRegistry, String ki private Optional getPackageRegistry(IEditingContext editingContext) { return Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) .map(EditingDomain::getResourceSet) .map(ResourceSet::getPackageRegistry); } @@ -161,9 +162,9 @@ public List getChildCreationDescriptions(IEditingConte @Override public Optional createChild(IEditingContext editingContext, Object object, String childCreationDescriptionId) { var optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); Optional optionalEObject = Optional.of(object) .filter(EObject.class::isInstance) @@ -271,9 +272,9 @@ public Optional createRootObject(IEditingContext editingContext, UUID do var optionalEClass = this.getMatchingEClass(editingContext, domainId, rootObjectCreationDescriptionId); var optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); if (optionalEClass.isPresent() && optionalEditingDomain.isPresent()) { EClass eClass = optionalEClass.get(); @@ -298,9 +299,9 @@ public Optional createRootObject(IEditingContext editingContext, UUID do private Optional getMatchingEClass(IEditingContext editingContext, String domainId, String rootObjectCreationDescriptionId) { return Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) .map(EditingDomain::getResourceSet) .map(ResourceSet::getPackageRegistry) .map(packageRegistry -> packageRegistry.getEPackage(domainId)) diff --git a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/DefaultObjectService.java b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/DefaultObjectService.java index 22fc11118e..05bd141f85 100644 --- a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/DefaultObjectService.java +++ b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/DefaultObjectService.java @@ -36,6 +36,7 @@ import org.eclipse.emf.edit.provider.ReflectiveItemProvider; import org.eclipse.sirius.components.core.api.IDefaultObjectService; import org.eclipse.sirius.components.core.api.IEditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.emf.services.api.IEMFKindService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -199,9 +200,9 @@ private List findImagePath(Object image) { @Override public Optional getObject(IEditingContext editingContext, String objectId) { return Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) .map(EditingDomain::getResourceSet) .flatMap(resourceSet -> { Optional optionalEObject = Optional.empty(); diff --git a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/EMFValidationService.java b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/EMFValidationService.java index d2d162614d..d14c473e0e 100644 --- a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/EMFValidationService.java +++ b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/EMFValidationService.java @@ -30,6 +30,7 @@ import org.eclipse.emf.edit.provider.IItemLabelProvider; import org.eclipse.sirius.components.collaborative.validation.api.IValidationService; import org.eclipse.sirius.components.core.api.IEditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.springframework.stereotype.Service; /** @@ -53,8 +54,8 @@ public EMFValidationService(EValidator.Registry eValidatorRegistry, ComposedAdap public List validate(IEditingContext editingContext) { // @formatter:off return Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) .map(this::validate) .orElseGet(List::of); // @formatter:on @@ -99,7 +100,7 @@ private boolean filterDiagnosticByFeature(Diagnostic diagnostic, Object feature) return false; } - private List validate(EditingContext editingContext) { + private List validate(IEMFEditingContext editingContext) { AdapterFactoryEditingDomain domain = editingContext.getDomain(); Map options = new HashMap<>(); diff --git a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/JSONResourceFactory.java b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/JSONResourceFactory.java index b4b1ef6c17..afbb32ab7a 100644 --- a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/JSONResourceFactory.java +++ b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/JSONResourceFactory.java @@ -20,6 +20,7 @@ import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.emfjson.resource.JsonResource; import org.eclipse.sirius.emfjson.resource.JsonResourceImpl; @@ -69,6 +70,6 @@ public JsonResource createResourceFromPath(String path) { */ public URI createResourceURI(String resourceId) { // There are three slashes because the URI authority is empty - return URI.createURI(EditingContext.RESOURCE_SCHEME + ":///" + resourceId); + return URI.createURI(IEMFEditingContext.RESOURCE_SCHEME + ":///" + resourceId); } } diff --git a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/api/IEMFEditingContext.java b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/api/IEMFEditingContext.java new file mode 100644 index 0000000000..a0425d9677 --- /dev/null +++ b/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/api/IEMFEditingContext.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2024 Obeo. + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.sirius.components.emf.services.api; + +import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; +import org.eclipse.sirius.components.core.api.IEditingContext; + +/** + * Used to identify editing context using EMF. + * + * @author sbegaudeau + */ +public interface IEMFEditingContext extends IEditingContext { + /** + * This scheme should be used to create an URI of a resource that corresponds to a document added in the + * EditingContext ResourceSet. + */ + String RESOURCE_SCHEME = "sirius"; + + AdapterFactoryEditingDomain getDomain(); +} diff --git a/packages/forms/backend/sirius-components-collaborative-widget-reference/src/main/java/org/eclipse/sirius/components/collaborative/widget/reference/browser/ModelBrowsersDescriptionProvider.java b/packages/forms/backend/sirius-components-collaborative-widget-reference/src/main/java/org/eclipse/sirius/components/collaborative/widget/reference/browser/ModelBrowsersDescriptionProvider.java index 5083343c79..501e5cd501 100644 --- a/packages/forms/backend/sirius-components-collaborative-widget-reference/src/main/java/org/eclipse/sirius/components/collaborative/widget/reference/browser/ModelBrowsersDescriptionProvider.java +++ b/packages/forms/backend/sirius-components-collaborative-widget-reference/src/main/java/org/eclipse/sirius/components/collaborative/widget/reference/browser/ModelBrowsersDescriptionProvider.java @@ -41,7 +41,7 @@ import org.eclipse.sirius.components.core.configuration.IRepresentationDescriptionRegistry; import org.eclipse.sirius.components.core.configuration.IRepresentationDescriptionRegistryConfigurer; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.emf.services.api.IEMFKindService; import org.eclipse.sirius.components.representations.Failure; import org.eclipse.sirius.components.representations.GetOrCreateRandomIdProvider; @@ -131,7 +131,7 @@ private boolean isContainerSelectable(VariableManager variableManager, EClass re if (self instanceof Resource) { isSelectable = true; } else if (self instanceof EObject selfEObject && referenceKind != null) { - var optionalEditingDomain = variableManager.get(IEditingContext.EDITING_CONTEXT, EditingContext.class).map(EditingContext::getDomain); + var optionalEditingDomain = variableManager.get(IEditingContext.EDITING_CONTEXT, IEMFEditingContext.class).map(IEMFEditingContext::getDomain); if (optionalEditingDomain.isPresent()) { Collection newChildDescriptors = optionalEditingDomain.get().getNewChildDescriptors(selfEObject, null); @@ -154,7 +154,7 @@ private boolean isTypeSelectable(VariableManager variableManager, EClass targetT private Optional resolveOwnerEObject(VariableManager variableManager) { var optionalTreeId = variableManager.get(GetOrCreateRandomIdProvider.PREVIOUS_REPRESENTATION_ID, String.class); - var optionalEditingContext = variableManager.get(IEditingContext.EDITING_CONTEXT, EditingContext.class); + var optionalEditingContext = variableManager.get(IEditingContext.EDITING_CONTEXT, IEMFEditingContext.class); if (optionalTreeId.isPresent() && optionalTreeId.get().startsWith(TREE_KIND) && optionalEditingContext.isPresent()) { Map> parameters = new URLParser().getParameterValues(optionalTreeId.get()); String ownerId = parameters.get("ownerId").get(0); @@ -167,7 +167,7 @@ private Optional resolveOwnerEObject(VariableManager variableManager) { private Optional resolveReferenceEClass(VariableManager variableManager) { var optionalTreeId = variableManager.get(GetOrCreateRandomIdProvider.PREVIOUS_REPRESENTATION_ID, String.class); - var optionalEditingContext = variableManager.get(IEditingContext.EDITING_CONTEXT, EditingContext.class); + var optionalEditingContext = variableManager.get(IEditingContext.EDITING_CONTEXT, IEMFEditingContext.class); if (optionalTreeId.isPresent() && optionalTreeId.get().startsWith(TREE_KIND) && optionalEditingContext.isPresent()) { Registry ePackageRegistry = optionalEditingContext.get().getDomain().getResourceSet().getPackageRegistry(); Map> parameters = new URLParser().getParameterValues(optionalTreeId.get()); @@ -184,7 +184,7 @@ private Optional resolveReferenceEClass(VariableManager variableManager) private Optional resolveTargetType(VariableManager variableManager) { var optionalTreeId = variableManager.get(GetOrCreateRandomIdProvider.PREVIOUS_REPRESENTATION_ID, String.class); - var optionalEditingContext = variableManager.get(IEditingContext.EDITING_CONTEXT, EditingContext.class); + var optionalEditingContext = variableManager.get(IEditingContext.EDITING_CONTEXT, IEMFEditingContext.class); if (optionalTreeId.isPresent() && optionalTreeId.get().startsWith(TREE_KIND) && optionalEditingContext.isPresent()) { Registry ePackageRegistry = optionalEditingContext.get().getDomain().getResourceSet().getPackageRegistry(); Map> parameters = new URLParser().getParameterValues(optionalTreeId.get()); @@ -287,7 +287,7 @@ private List getImageURL(VariableManager variableManager) { private List getSearchScopeElements(VariableManager variableManager) { var optionalTreeId = variableManager.get(GetOrCreateRandomIdProvider.PREVIOUS_REPRESENTATION_ID, String.class); - var optionalEditingContext = variableManager.get(IEditingContext.EDITING_CONTEXT, EditingContext.class); + var optionalEditingContext = variableManager.get(IEditingContext.EDITING_CONTEXT, IEMFEditingContext.class); if (optionalTreeId.isPresent() && optionalTreeId.get().startsWith(TREE_KIND) && optionalEditingContext.isPresent()) { Map> parameters = new URLParser().getParameterValues(optionalTreeId.get()); String descriptionId = parameters.get("descriptionId").get(0); @@ -304,14 +304,14 @@ private List getSearchScopeElements(VariableManager variableMa } private List getCreationScopeElements(VariableManager variableManager) { - var optionalResourceSet = variableManager.get(IEditingContext.EDITING_CONTEXT, EditingContext.class) - .map(EditingContext::getDomain) + var optionalResourceSet = variableManager.get(IEditingContext.EDITING_CONTEXT, IEMFEditingContext.class) + .map(IEMFEditingContext::getDomain) .map(EditingDomain::getResourceSet); if (optionalResourceSet.isPresent()) { var resourceSet = optionalResourceSet.get(); return resourceSet.getResources().stream() - .filter(resource -> resource.getURI() != null && EditingContext.RESOURCE_SCHEME.equals(resource.getURI().scheme())) + .filter(resource -> resource.getURI() != null && IEMFEditingContext.RESOURCE_SCHEME.equals(resource.getURI().scheme())) .sorted(Comparator.nullsLast(Comparator.comparing(this::getResourceLabel, String.CASE_INSENSITIVE_ORDER))) .toList(); } diff --git a/packages/forms/backend/sirius-components-collaborative-widget-reference/src/main/java/org/eclipse/sirius/components/collaborative/widget/reference/browser/ReferenceWidgetDefaultCandidateSearchProvider.java b/packages/forms/backend/sirius-components-collaborative-widget-reference/src/main/java/org/eclipse/sirius/components/collaborative/widget/reference/browser/ReferenceWidgetDefaultCandidateSearchProvider.java index 05e049de57..901848f807 100644 --- a/packages/forms/backend/sirius-components-collaborative-widget-reference/src/main/java/org/eclipse/sirius/components/collaborative/widget/reference/browser/ReferenceWidgetDefaultCandidateSearchProvider.java +++ b/packages/forms/backend/sirius-components-collaborative-widget-reference/src/main/java/org/eclipse/sirius/components/collaborative/widget/reference/browser/ReferenceWidgetDefaultCandidateSearchProvider.java @@ -20,7 +20,7 @@ import org.eclipse.emf.edit.domain.EditingDomain; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.widget.reference.IReferenceWidgetRootCandidateSearchProvider; /** @@ -39,15 +39,15 @@ public boolean canHandle(String descriptionId) { @Override public List getRootElementsForReference(Object targetElement, String descriptionId, IEditingContext editingContext) { var optionalResourceSet = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) .map(EditingDomain::getResourceSet); if (optionalResourceSet.isPresent()) { var resourceSet = optionalResourceSet.get(); return resourceSet.getResources().stream() - .filter(res -> res.getURI() != null && EditingContext.RESOURCE_SCHEME.equals(res.getURI().scheme())) + .filter(res -> res.getURI() != null && IEMFEditingContext.RESOURCE_SCHEME.equals(res.getURI().scheme())) .sorted(Comparator.nullsLast(Comparator.comparing(this::getResourceLabel, String.CASE_INSENSITIVE_ORDER))) .toList(); } diff --git a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/DomainPropertiesConfigurer.java b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/DomainPropertiesConfigurer.java index 4bd3b6b3f2..7e53c9ddf9 100644 --- a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/DomainPropertiesConfigurer.java +++ b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/DomainPropertiesConfigurer.java @@ -24,8 +24,8 @@ import org.eclipse.sirius.components.collaborative.forms.services.api.IPropertiesDescriptionRegistryConfigurer; import org.eclipse.sirius.components.core.api.IFeedbackMessageService; import org.eclipse.sirius.components.domain.DomainPackage; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.IDAdapter; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.interpreter.AQLInterpreter; import org.eclipse.sirius.components.representations.IRepresentationDescription; import org.eclipse.sirius.components.view.ChangeContext; @@ -77,7 +77,7 @@ public void addPropertiesDescriptions(IPropertiesDescriptionRegistry registry) { FormDescription viewFormDescription = this.getAttributeDetails(); // The FormDescription must be part of View inside a proper EMF Resource to be correctly handled - URI uri = URI.createURI(EditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(DomainPropertiesConfigurer.class.getCanonicalName().getBytes())); + URI uri = URI.createURI(IEMFEditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(DomainPropertiesConfigurer.class.getCanonicalName().getBytes())); Resource resource = new XMIResourceImpl(uri); View view = org.eclipse.sirius.components.view.ViewFactory.eINSTANCE.createView(); resource.getContents().add(view); diff --git a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/FlowProjectTemplatesInitializer.java b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/FlowProjectTemplatesInitializer.java index 6228ee0f32..da8c6812d9 100644 --- a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/FlowProjectTemplatesInitializer.java +++ b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/FlowProjectTemplatesInitializer.java @@ -37,8 +37,8 @@ import org.eclipse.sirius.components.diagrams.Diagram; import org.eclipse.sirius.components.diagrams.description.DiagramDescription; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.emfjson.resource.JsonResource; import org.eclipse.sirius.web.persistence.entities.DocumentEntity; import org.eclipse.sirius.web.persistence.repositories.IDocumentRepository; @@ -101,9 +101,9 @@ private Optional initializeFlowProject(IEditingContext e Optional result = Optional.empty(); // @formatter:off Optional optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); // @formatter:on Optional editingContextUUID = new IDParser().parse(editingContext.getId()); if (optionalEditingDomain.isPresent() && editingContextUUID.isPresent()) { diff --git a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/MultipleDomainPropertiesConfigurer.java b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/MultipleDomainPropertiesConfigurer.java index b8e62b6b79..1d77814060 100644 --- a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/MultipleDomainPropertiesConfigurer.java +++ b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/MultipleDomainPropertiesConfigurer.java @@ -22,7 +22,7 @@ import org.eclipse.sirius.components.collaborative.forms.services.api.IPropertiesDescriptionRegistry; import org.eclipse.sirius.components.collaborative.forms.services.api.IPropertiesDescriptionRegistryConfigurer; import org.eclipse.sirius.components.domain.DomainPackage; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.interpreter.AQLInterpreter; import org.eclipse.sirius.components.representations.IRepresentationDescription; import org.eclipse.sirius.components.view.ChangeContext; @@ -60,7 +60,7 @@ public void addPropertiesDescriptions(IPropertiesDescriptionRegistry registry) { FormDescription viewFormDescription = this.getAttributeDetails(); // The FormDescription must be part of View inside a proper EMF Resource to be correctly handled - URI uri = URI.createURI(EditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(MultipleDomainPropertiesConfigurer.class.getCanonicalName().getBytes())); + URI uri = URI.createURI(IEMFEditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(MultipleDomainPropertiesConfigurer.class.getCanonicalName().getBytes())); Resource resource = new XMIResourceImpl(uri); View view = ViewFactory.eINSTANCE.createView(); resource.getContents().add(view); diff --git a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/StudioProjectTemplatesInitializer.java b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/StudioProjectTemplatesInitializer.java index 277f0864ff..ab14f17d6d 100644 --- a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/StudioProjectTemplatesInitializer.java +++ b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/configuration/StudioProjectTemplatesInitializer.java @@ -36,8 +36,8 @@ import org.eclipse.sirius.components.domain.Entity; import org.eclipse.sirius.components.domain.Relation; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.view.ChangeContext; import org.eclipse.sirius.components.view.ColorPalette; import org.eclipse.sirius.components.view.CreateInstance; @@ -123,9 +123,9 @@ private Optional initializeStudioProject(IEditingContext Optional result = Optional.empty(); // @formatter:off Optional optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); // @formatter:on Optional editingContextUUID = new IDParser().parse(editingContext.getId()); if (optionalEditingDomain.isPresent() && editingContextUUID.isPresent()) { diff --git a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/papaya/PapayaStudioTemplatesInitializer.java b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/papaya/PapayaStudioTemplatesInitializer.java index 54be85eee0..58edaa920d 100644 --- a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/papaya/PapayaStudioTemplatesInitializer.java +++ b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/papaya/PapayaStudioTemplatesInitializer.java @@ -29,8 +29,8 @@ import org.eclipse.sirius.components.diagrams.Diagram; import org.eclipse.sirius.components.diagrams.description.DiagramDescription; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.emfjson.resource.JsonResource; import org.eclipse.sirius.web.persistence.entities.DocumentEntity; import org.eclipse.sirius.web.persistence.repositories.IDocumentRepository; @@ -99,9 +99,9 @@ private Optional initializeStudioProject(IEditingContext Optional result = Optional.empty(); // @formatter:off Optional optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); // @formatter:on Optional editingContextUUID = new IDParser().parse(editingContext.getId()); if (optionalEditingDomain.isPresent() && editingContextUUID.isPresent()) { diff --git a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/services/EditingContextActionHandler.java b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/services/EditingContextActionHandler.java index 22308438aa..795224236b 100644 --- a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/services/EditingContextActionHandler.java +++ b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/services/EditingContextActionHandler.java @@ -45,8 +45,8 @@ import org.eclipse.sirius.components.domain.Domain; import org.eclipse.sirius.components.domain.DomainFactory; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.emf.utils.EMFResourceUtils; import org.eclipse.sirius.components.representations.Failure; import org.eclipse.sirius.components.representations.IStatus; @@ -94,9 +94,9 @@ public boolean canHandle(IEditingContext editingContext, String actionId) { @Override public IStatus handle(IEditingContext editingContext, String actionId) { return Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) .map(AdapterFactoryEditingDomain::getResourceSet) .map(resourceSet -> this.performActionOnResourceSet(resourceSet, actionId)) .orElse(new Failure("Something went wrong while handling this action.")); diff --git a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/services/EditingContextActionProvider.java b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/services/EditingContextActionProvider.java index e522dd4309..a78e3b9d2f 100644 --- a/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/services/EditingContextActionProvider.java +++ b/packages/sirius-web/backend/sirius-web-sample-application/src/main/java/org/eclipse/sirius/web/sample/services/EditingContextActionProvider.java @@ -20,7 +20,7 @@ import org.eclipse.sirius.components.collaborative.dto.EditingContextAction; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.domain.DomainPackage; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.view.ViewPackage; import org.springframework.stereotype.Service; @@ -67,7 +67,7 @@ public class EditingContextActionProvider implements IEditingContextActionProvid @Override public List getEditingContextAction(IEditingContext editingContext) { var actions = new ArrayList(); - if (editingContext instanceof EditingContext emfEditingContext) { + if (editingContext instanceof IEMFEditingContext emfEditingContext) { var nsURIs = emfEditingContext.getDomain().getResourceSet().getPackageRegistry().values() .stream() .filter(EPackage.class::isInstance) diff --git a/packages/sirius-web/backend/sirius-web-sample-application/src/test/java/org/eclipse/sirius/web/sample/tests/integration/view/ReferenceViewRepresentationDescriptionRegistryConfigurer.java b/packages/sirius-web/backend/sirius-web-sample-application/src/test/java/org/eclipse/sirius/web/sample/tests/integration/view/ReferenceViewRepresentationDescriptionRegistryConfigurer.java index 1a54283be7..de80b99766 100644 --- a/packages/sirius-web/backend/sirius-web-sample-application/src/test/java/org/eclipse/sirius/web/sample/tests/integration/view/ReferenceViewRepresentationDescriptionRegistryConfigurer.java +++ b/packages/sirius-web/backend/sirius-web-sample-application/src/test/java/org/eclipse/sirius/web/sample/tests/integration/view/ReferenceViewRepresentationDescriptionRegistryConfigurer.java @@ -29,8 +29,8 @@ import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl; import org.eclipse.sirius.components.core.configuration.IRepresentationDescriptionRegistry; import org.eclipse.sirius.components.core.configuration.IRepresentationDescriptionRegistryConfigurer; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.IDAdapter; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.emf.utils.EMFResourceUtils; import org.eclipse.sirius.components.view.View; import org.eclipse.sirius.components.view.ViewPackage; @@ -88,7 +88,7 @@ private Optional load(ClassPathResource classPathResource, List resourceSet.setPackageRegistry(ePackageRegistry); try (var inputStream = classPathResource.getInputStream()) { - URI uri = URI.createURI(EditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(classPathResource.getPath().getBytes())); + URI uri = URI.createURI(IEMFEditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(classPathResource.getPath().getBytes())); Resource resource = new XMIResourceImpl(uri); resourceSet.getResources().add(resource); resource.load(inputStream, new EMFResourceUtils().getXMILoadOptions()); diff --git a/packages/sirius-web/backend/sirius-web-sample-application/src/test/java/org/eclipse/sirius/web/sample/tests/integration/view/SliderViewRepresentationDescriptionRegistryConfigurer.java b/packages/sirius-web/backend/sirius-web-sample-application/src/test/java/org/eclipse/sirius/web/sample/tests/integration/view/SliderViewRepresentationDescriptionRegistryConfigurer.java index 397051393f..be45b70214 100644 --- a/packages/sirius-web/backend/sirius-web-sample-application/src/test/java/org/eclipse/sirius/web/sample/tests/integration/view/SliderViewRepresentationDescriptionRegistryConfigurer.java +++ b/packages/sirius-web/backend/sirius-web-sample-application/src/test/java/org/eclipse/sirius/web/sample/tests/integration/view/SliderViewRepresentationDescriptionRegistryConfigurer.java @@ -29,8 +29,8 @@ import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl; import org.eclipse.sirius.components.core.configuration.IRepresentationDescriptionRegistry; import org.eclipse.sirius.components.core.configuration.IRepresentationDescriptionRegistryConfigurer; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.IDAdapter; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.emf.utils.EMFResourceUtils; import org.eclipse.sirius.components.view.View; import org.eclipse.sirius.components.view.ViewPackage; @@ -89,7 +89,7 @@ private Optional load(ClassPathResource classPathResource, List resourceSet.setPackageRegistry(ePackageRegistry); try (var inputStream = classPathResource.getInputStream()) { - URI uri = URI.createURI(EditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(classPathResource.getPath().getBytes())); + URI uri = URI.createURI(IEMFEditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(classPathResource.getPath().getBytes())); Resource resource = new XMIResourceImpl(uri); resourceSet.getResources().add(resource); resource.load(inputStream, new EMFResourceUtils().getXMILoadOptions()); diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/CreateDocumentEventHandler.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/CreateDocumentEventHandler.java index 54a359a432..c60fbd8e99 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/CreateDocumentEventHandler.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/CreateDocumentEventHandler.java @@ -30,8 +30,8 @@ import org.eclipse.sirius.components.core.api.IPayload; import org.eclipse.sirius.components.core.configuration.StereotypeDescription; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.emfjson.resource.JsonResource; import org.eclipse.sirius.web.services.api.document.CreateDocumentInput; import org.eclipse.sirius.web.services.api.document.CreateDocumentSuccessPayload; @@ -123,9 +123,9 @@ private void createDocument(One payloadSink, Many c // @formatter:off Optional optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); // @formatter:on if (optionalEditingDomain.isPresent()) { diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/DeleteDocumentEventHandler.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/DeleteDocumentEventHandler.java index 727f4aa90b..53edabcf9b 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/DeleteDocumentEventHandler.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/DeleteDocumentEventHandler.java @@ -31,8 +31,8 @@ import org.eclipse.sirius.components.core.api.IInput; import org.eclipse.sirius.components.core.api.IPayload; import org.eclipse.sirius.components.core.api.SuccessPayload; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.web.services.api.document.Document; import org.eclipse.sirius.web.services.api.document.IDocumentService; import org.eclipse.sirius.web.services.messages.IServicesMessageService; @@ -83,9 +83,9 @@ public void handle(One payloadSink, Many changeDesc // @formatter:off var optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); // @formatter:on if (input instanceof DeleteDocumentInput) { diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/RenameDocumentEventHandler.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/RenameDocumentEventHandler.java index 799552686a..553c6ff49f 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/RenameDocumentEventHandler.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/RenameDocumentEventHandler.java @@ -29,7 +29,7 @@ import org.eclipse.sirius.components.core.api.IPayload; import org.eclipse.sirius.components.core.api.SuccessPayload; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.web.services.api.document.Document; import org.eclipse.sirius.web.services.api.document.IDocumentService; import org.eclipse.sirius.web.services.messages.IServicesMessageService; @@ -80,9 +80,9 @@ public void handle(One payloadSink, Many changeDesc // @formatter:off Optional optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); // @formatter:on if (input instanceof RenameDocumentInput) { diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/RewriteProxiesEventHandler.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/RewriteProxiesEventHandler.java index 0f96841fc1..17b038fe26 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/RewriteProxiesEventHandler.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/RewriteProxiesEventHandler.java @@ -28,7 +28,7 @@ import org.eclipse.sirius.components.core.api.IInput; import org.eclipse.sirius.components.core.api.IPayload; import org.eclipse.sirius.components.core.api.SuccessPayload; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.web.services.api.document.RewriteProxiesInput; import org.eclipse.sirius.web.services.messages.IServicesMessageService; import org.springframework.stereotype.Service; @@ -60,9 +60,9 @@ public void handle(One payloadSink, Many changeDesc IPayload payload = new ErrorPayload(input.id(), this.messageService.unexpectedError()); ChangeDescription changeDescription = new ChangeDescription(ChangeKind.NOTHING, editingContext.getId(), input); - if (input instanceof RewriteProxiesInput && editingContext instanceof EditingContext) { + if (input instanceof RewriteProxiesInput && editingContext instanceof IEMFEditingContext) { RewriteProxiesInput rewriteInput = (RewriteProxiesInput) input; - AdapterFactoryEditingDomain adapterFactoryEditingDomain = ((EditingContext) editingContext).getDomain(); + AdapterFactoryEditingDomain adapterFactoryEditingDomain = ((IEMFEditingContext) editingContext).getDomain(); int totalRewrittenCount = 0; for (Resource resource : adapterFactoryEditingDomain.getResourceSet().getResources()) { totalRewrittenCount += this.rewriteProxyURIs(resource, rewriteInput.oldDocumentIdToNewDocumentId()); @@ -87,7 +87,7 @@ private int rewriteProxyURIs(Resource resource, Map oldDocumentI String oldDocumentId = proxyURI.path().substring(1); String newDocumentId = oldDocumentIdToNewDocumentId.get(oldDocumentId); if (newDocumentId != null) { - String prefix = EditingContext.RESOURCE_SCHEME + ":///"; + String prefix = IEMFEditingContext.RESOURCE_SCHEME + ":///"; URI newProxyURI = URI.createURI(proxyURI.toString().replace(prefix + oldDocumentId, prefix + newDocumentId)); internalEObject.eSetProxyURI(newProxyURI); rewrittenCount.incrementAndGet(); diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/UploadDocumentEventHandler.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/UploadDocumentEventHandler.java index 24b12f0bec..518cb36138 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/UploadDocumentEventHandler.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/documents/UploadDocumentEventHandler.java @@ -46,8 +46,8 @@ import org.eclipse.sirius.components.core.api.IInput; import org.eclipse.sirius.components.core.api.IPayload; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.emf.utils.EMFResourceUtils; import org.eclipse.sirius.components.graphql.api.UploadFile; import org.eclipse.sirius.emfjson.resource.JsonResource; @@ -117,9 +117,9 @@ public void handle(One payloadSink, Many changeDesc UploadFile file = uploadDocumentInput.file(); Optional optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); String name = file.getName().trim(); if (optionalEditingDomain.isPresent()) { @@ -267,7 +267,7 @@ private Optional getResource(InputStream inputStream, URI resourceURI, private void loadStudioColorPalettes(ResourceSet resourceSet) { ClassPathResource classPathResource = new ClassPathResource("studioColorPalettes.json"); - URI uri = URI.createURI(EditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(classPathResource.getPath().getBytes())); + URI uri = URI.createURI(IEMFEditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(classPathResource.getPath().getBytes())); Resource resource = new JSONResourceFactory().createResource(uri); try (var inputStream = new ByteArrayInputStream(classPathResource.getContentAsByteArray())) { resourceSet.getResources().add(resource); diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/DomainSearchService.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/DomainSearchService.java index ab4a3cfc64..72dba390e4 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/DomainSearchService.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/DomainSearchService.java @@ -21,7 +21,7 @@ import org.eclipse.sirius.components.core.api.Domain; import org.eclipse.sirius.components.core.api.IDomainSearchService; import org.eclipse.sirius.components.core.api.IEditingContext; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.view.diagram.DiagramPackage; import org.eclipse.sirius.components.view.form.FormPackage; import org.springframework.stereotype.Service; @@ -36,9 +36,9 @@ public class DomainSearchService implements IDomainSearchService { @Override public List findAllByEditingContext(IEditingContext editingContext) { return Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) .map(EditingDomain::getResourceSet) .map(ResourceSet::getPackageRegistry) .map(EPackage.Registry::values) @@ -54,9 +54,9 @@ public List findAllByEditingContext(IEditingContext editingContext) { @Override public List findRootDomainsByEditingContext(IEditingContext editingContext) { return Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) .map(EditingDomain::getResourceSet) .map(ResourceSet::getPackageRegistry) .map(EPackage.Registry::values) diff --git a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/EditingContext.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingContext.java similarity index 83% rename from packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/EditingContext.java rename to packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingContext.java index 7c72e6668e..bf78c3efb4 100644 --- a/packages/emf/backend/sirius-components-emf/src/main/java/org/eclipse/sirius/components/emf/services/EditingContext.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingContext.java @@ -16,7 +16,7 @@ import java.util.Objects; import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; -import org.eclipse.sirius.components.core.api.IEditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.representations.IRepresentationDescription; /** @@ -24,13 +24,7 @@ * * @author sbegaudeau */ -public class EditingContext implements IEditingContext { - - /** - * This scheme should be used to create an URI of a resource that corresponds to a document added in the - * EditingContext ResourceSet. - */ - public static final String RESOURCE_SCHEME = "sirius"; +public class EditingContext implements IEMFEditingContext { private final String id; @@ -49,6 +43,7 @@ public String getId() { return this.id; } + @Override public AdapterFactoryEditingDomain getDomain() { return this.editingDomain; } diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingContextPersistenceService.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingContextPersistenceService.java index 0b63cd1da4..1712b8362a 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingContextPersistenceService.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingContextPersistenceService.java @@ -28,7 +28,7 @@ import org.eclipse.sirius.components.core.api.IEditingContextPersistenceService; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; import org.eclipse.sirius.components.emf.services.EObjectIDManager; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.view.util.services.ColorPaletteService; import org.eclipse.sirius.emfjson.resource.JsonResource; import org.eclipse.sirius.web.persistence.entities.DocumentEntity; @@ -78,8 +78,8 @@ public EditingContextPersistenceService(IDocumentRepository documentRepository, public void persist(IEditingContext editingContext) { long start = System.currentTimeMillis(); - if (editingContext instanceof EditingContext) { - List documentEntities = this.persistResources((EditingContext) editingContext); + if (editingContext instanceof IEMFEditingContext) { + List documentEntities = this.persistResources((IEMFEditingContext) editingContext); List documents = documentEntities.stream().map(new DocumentMapper()::toDTO).toList(); new IDParser().parse(editingContext.getId()) .map(editingContextId -> new DocumentsModifiedEvent(editingContextId, documents)) @@ -90,14 +90,14 @@ public void persist(IEditingContext editingContext) { this.timer.record(end - start, TimeUnit.MILLISECONDS); } - private List persistResources(EditingContext editingContext) { + private List persistResources(IEMFEditingContext editingContext) { List result = new ArrayList<>(); List resources = editingContext.getDomain().getResourceSet().getResources().stream() .filter(res -> { URI uri = res.getURI(); if (uri != null && !ColorPaletteService.SIRIUS_STUDIO_COLOR_PALETTES_URI.equals(uri.toString())) { - return EditingContext.RESOURCE_SCHEME.equals(uri.scheme()); + return IEMFEditingContext.RESOURCE_SCHEME.equals(uri.scheme()); } return false; }) diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingDomainFactoryService.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingDomainFactoryService.java index 09a4211ca5..fadbc90d25 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingDomainFactoryService.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/EditingDomainFactoryService.java @@ -32,9 +32,9 @@ import org.eclipse.emf.edit.provider.ComposedAdapterFactory; import org.eclipse.sirius.components.domain.DomainPackage; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.IEditingContextEPackageService; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.view.View; import org.eclipse.sirius.components.view.ViewPackage; import org.eclipse.sirius.components.view.diagram.DiagramPackage; @@ -118,7 +118,7 @@ private Stream findGlobalEPackages() { private Optional loadStudioColorPalettes(ResourceSet resourceSet) { ClassPathResource classPathResource = new ClassPathResource("studioColorPalettes.json"); - URI uri = URI.createURI(EditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(classPathResource.getPath().getBytes())); + URI uri = URI.createURI(IEMFEditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(classPathResource.getPath().getBytes())); Resource resource = null; Optional existingResource = resourceSet.getResources().stream().filter(r -> uri.equals(r.getURI())).findFirst(); if (existingResource.isEmpty()) { diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/ViewLoader.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/ViewLoader.java index c2729f1b79..7d9f360465 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/ViewLoader.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/editingcontext/ViewLoader.java @@ -27,8 +27,8 @@ import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; import org.eclipse.emf.ecore.util.ECrossReferenceAdapter; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.view.View; import org.eclipse.sirius.components.view.ViewPackage; import org.eclipse.sirius.emfjson.resource.JsonResource; @@ -84,7 +84,7 @@ private ResourceSet createResourceSet() { private void loadStudioColorPalettes(ResourceSet resourceSet) { ClassPathResource classPathResource = new ClassPathResource("studioColorPalettes.json"); - URI uri = URI.createURI(EditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(classPathResource.getPath().getBytes())); + URI uri = URI.createURI(IEMFEditingContext.RESOURCE_SCHEME + ":///" + UUID.nameUUIDFromBytes(classPathResource.getPath().getBytes())); Resource resource = new JSONResourceFactory().createResource(uri); try (var inputStream = new ByteArrayInputStream(classPathResource.getContentAsByteArray())) { resourceSet.getResources().add(resource); diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/DeleteDocumentTreeItemEventHandler.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/DeleteDocumentTreeItemEventHandler.java index 48d8111e94..adef0d52a6 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/DeleteDocumentTreeItemEventHandler.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/DeleteDocumentTreeItemEventHandler.java @@ -24,8 +24,8 @@ import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; import org.eclipse.sirius.components.collaborative.api.ChangeKind; import org.eclipse.sirius.components.core.api.IEditingContext; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.representations.Failure; import org.eclipse.sirius.components.representations.IStatus; import org.eclipse.sirius.components.representations.Success; @@ -59,9 +59,9 @@ public boolean canHandle(IEditingContext editingContext, TreeItem treeItem) { public IStatus handle(IEditingContext editingContext, TreeItem treeItem) { // @formatter:off var optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); // @formatter:on var optionalDocumentEntity = new IDParser().parse(treeItem.getId()).flatMap(this.documentRepository::findById); diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/ExpandAllTreePathProvider.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/ExpandAllTreePathProvider.java index e93797273b..4e17fc204d 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/ExpandAllTreePathProvider.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/ExpandAllTreePathProvider.java @@ -24,7 +24,7 @@ import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.core.api.IObjectService; import org.eclipse.sirius.components.core.api.IPayload; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.trees.Tree; import org.eclipse.sirius.web.services.api.representations.IRepresentationService; import org.eclipse.sirius.web.services.explorer.api.IExplorerNavigationService; @@ -68,9 +68,9 @@ public IPayload handle(IEditingContext editingContext, Tree tree, ExpandAllTreeP maxDepth = this.addAllContents(editingContext, treeItemId, maxDepth, treeItemIdsToExpand); } else { // The object may be a document - var optionalEditingDomain = Optional.of(editingContext).filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + var optionalEditingDomain = Optional.of(editingContext).filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); if (optionalEditingDomain.isPresent()) { var optionalResource = optionalEditingDomain.get().getResourceSet().getResources().stream() diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/ExplorerDescriptionProvider.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/ExplorerDescriptionProvider.java index b3181ba233..2e898d0197 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/ExplorerDescriptionProvider.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/ExplorerDescriptionProvider.java @@ -35,7 +35,7 @@ import org.eclipse.sirius.components.core.configuration.IRepresentationDescriptionRegistry; import org.eclipse.sirius.components.core.configuration.IRepresentationDescriptionRegistryConfigurer; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.representations.Failure; import org.eclipse.sirius.components.representations.GetOrCreateRandomIdProvider; import org.eclipse.sirius.components.representations.IStatus; @@ -213,14 +213,14 @@ private List getImageURL(VariableManager variableManager) { private List getElements(VariableManager variableManager) { var optionalEditingContext = Optional.of(variableManager.getVariables().get(IEditingContext.EDITING_CONTEXT)); var optionalResourceSet = optionalEditingContext.filter(IEditingContext.class::isInstance) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) .map(EditingDomain::getResourceSet); if (optionalResourceSet.isPresent()) { return optionalResourceSet.get().getResources().stream() - .filter(res -> res.getURI() != null && EditingContext.RESOURCE_SCHEME.equals(res.getURI().scheme()) + .filter(res -> res.getURI() != null && IEMFEditingContext.RESOURCE_SCHEME.equals(res.getURI().scheme()) && !ColorPaletteService.SIRIUS_STUDIO_COLOR_PALETTES_URI.equals(res.getURI().toString())) .sorted(Comparator.nullsLast(Comparator.comparing(this::getResourceLabel, String.CASE_INSENSITIVE_ORDER))) .toList(); diff --git a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/RenameDocumentTreeItemHandler.java b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/RenameDocumentTreeItemHandler.java index b8e579ad23..1e6991ce0e 100644 --- a/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/RenameDocumentTreeItemHandler.java +++ b/packages/sirius-web/backend/sirius-web-services/src/main/java/org/eclipse/sirius/web/services/explorer/RenameDocumentTreeItemHandler.java @@ -21,7 +21,7 @@ import org.eclipse.sirius.components.collaborative.api.ChangeKind; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.representations.Failure; import org.eclipse.sirius.components.representations.IStatus; import org.eclipse.sirius.components.representations.Success; @@ -55,9 +55,9 @@ public boolean canHandle(IEditingContext editingContext, TreeItem treeItem, Stri public IStatus handle(IEditingContext editingContext, TreeItem treeItem, String newLabel) { // @formatter:off Optional optionalEditingDomain = Optional.of(editingContext) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain); + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); // @formatter:on var optionalDocumentEntity = new IDParser().parse(treeItem.getId()).flatMap(this.documentRepository::findById); diff --git a/packages/starters/backend/sirius-components-task-starter/src/main/java/org/eclipse/sirius/components/task/starter/configuration/TaskStudioTemplatesInitializer.java b/packages/starters/backend/sirius-components-task-starter/src/main/java/org/eclipse/sirius/components/task/starter/configuration/TaskStudioTemplatesInitializer.java index 283564bfc0..af41314662 100644 --- a/packages/starters/backend/sirius-components-task-starter/src/main/java/org/eclipse/sirius/components/task/starter/configuration/TaskStudioTemplatesInitializer.java +++ b/packages/starters/backend/sirius-components-task-starter/src/main/java/org/eclipse/sirius/components/task/starter/configuration/TaskStudioTemplatesInitializer.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; import java.util.Optional; -import java.util.UUID; import java.util.function.Function; import org.eclipse.emf.ecore.resource.Resource; @@ -26,8 +25,8 @@ import org.eclipse.sirius.components.core.RepresentationMetadata; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.emf.ResourceMetadataAdapter; -import org.eclipse.sirius.components.emf.services.EditingContext; import org.eclipse.sirius.components.emf.services.JSONResourceFactory; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.task.starter.helper.StereotypeBuilder; import org.eclipse.sirius.emfjson.resource.JsonResource; import org.eclipse.sirius.web.persistence.entities.DocumentEntity; @@ -87,9 +86,10 @@ private String createTaskModel() { private Optional initializeTaskProject(IEditingContext editingContext, String documentName, String documentContent, Function> createRepresentation) { Optional result = Optional.empty(); - Optional optionalEditingDomain = Optional.of(editingContext).filter(EditingContext.class::isInstance).map(EditingContext.class::cast) - .map(EditingContext::getDomain); - Optional editingContextUUID = new IDParser().parse(editingContext.getId()); + var optionalEditingDomain = Optional.of(editingContext).filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain); + var editingContextUUID = new IDParser().parse(editingContext.getId()); if (optionalEditingDomain.isPresent() && editingContextUUID.isPresent()) { AdapterFactoryEditingDomain adapterFactoryEditingDomain = optionalEditingDomain.get(); ResourceSet resourceSet = adapterFactoryEditingDomain.getResourceSet(); diff --git a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/AQLTextfieldCustomizer.java b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/AQLTextfieldCustomizer.java index cb0cbca60c..70baa49f24 100644 --- a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/AQLTextfieldCustomizer.java +++ b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/AQLTextfieldCustomizer.java @@ -29,7 +29,7 @@ import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EPackage.Registry; import org.eclipse.sirius.components.core.api.IEditingContext; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.forms.CompletionProposal; import org.eclipse.sirius.components.forms.CompletionRequest; import org.eclipse.sirius.components.forms.TextareaStyle; @@ -122,8 +122,8 @@ public Function> getCompletionProposal } private List getAccessibleEPackages(IEditingContext editingContext) { - if (editingContext instanceof EditingContext) { - Registry packageRegistry = ((EditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); + if (editingContext instanceof IEMFEditingContext) { + Registry packageRegistry = ((IEMFEditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); // @formatter:off return packageRegistry.values().stream() .filter(EPackage.class::isInstance) diff --git a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/DomainTypeTextfieldCustomizer.java b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/DomainTypeTextfieldCustomizer.java index 332b004ae1..f2279f0816 100644 --- a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/DomainTypeTextfieldCustomizer.java +++ b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/DomainTypeTextfieldCustomizer.java @@ -15,7 +15,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map.Entry; -import java.util.Optional; import java.util.function.Function; import org.eclipse.emf.common.util.EList; @@ -24,7 +23,7 @@ import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.sirius.components.core.api.IEditingContext; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.forms.CompletionProposal; import org.eclipse.sirius.components.forms.CompletionRequest; import org.eclipse.sirius.components.forms.TextareaStyle; @@ -63,7 +62,7 @@ public Function> getCompletionProposal int cursorPosition = variableManager.get(CompletionRequest.CURSOR_POSITION, Integer.class).orElse(0); List choices = List.of(); - Optional optionalEditingContext = variableManager.get(IEditingContext.EDITING_CONTEXT, EditingContext.class); + var optionalEditingContext = variableManager.get(IEditingContext.EDITING_CONTEXT, IEMFEditingContext.class); if (optionalEditingContext.isPresent()) { ResourceSet resourceSet = optionalEditingContext.get().getDomain().getResourceSet(); List ePackages = this.getEPackagesFromRegistry(resourceSet.getPackageRegistry()); diff --git a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/OperationInterpreterViewSwitch.java b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/OperationInterpreterViewSwitch.java index 3d0e86ec52..33e5041c56 100644 --- a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/OperationInterpreterViewSwitch.java +++ b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/OperationInterpreterViewSwitch.java @@ -26,7 +26,7 @@ import org.eclipse.emf.edit.domain.EditingDomain; import org.eclipse.sirius.components.core.api.IEditService; import org.eclipse.sirius.components.core.api.IEditingContext; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.interpreter.AQLInterpreter; import org.eclipse.sirius.components.interpreter.Result; import org.eclipse.sirius.components.representations.VariableManager; @@ -116,7 +116,7 @@ public Optional caseLet(Let object) { @Override public Optional caseCreateInstance(CreateInstance creatInstanceOperation) { var optionalSelf = this.variableManager.get(VariableManager.SELF, EObject.class); - var editingDomain = this.variableManager.get(IEditingContext.EDITING_CONTEXT, EditingContext.class).map(EditingContext::getDomain); + var editingDomain = this.variableManager.get(IEditingContext.EDITING_CONTEXT, IEMFEditingContext.class).map(IEMFEditingContext::getDomain); if (optionalSelf.isPresent() && editingDomain.isPresent()) { var optionalNewInstance = this.createSemanticInstance(editingDomain.get(), creatInstanceOperation.getTypeName()); if (optionalNewInstance.isPresent()) { diff --git a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/ViewRepresentationDescriptionsProvider.java b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/ViewRepresentationDescriptionsProvider.java index 9bf46cd428..214e0776c7 100644 --- a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/ViewRepresentationDescriptionsProvider.java +++ b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/ViewRepresentationDescriptionsProvider.java @@ -21,7 +21,7 @@ import org.eclipse.sirius.components.collaborative.api.IRepresentationDescriptionsProvider; import org.eclipse.sirius.components.collaborative.api.RepresentationDescriptionMetadata; import org.eclipse.sirius.components.core.api.IEditingContext; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.interpreter.AQLInterpreter; import org.eclipse.sirius.components.representations.IRepresentationDescription; import org.eclipse.sirius.components.representations.VariableManager; @@ -65,8 +65,8 @@ public List handle(IEditingContext editingCon } private List getAccessibleEPackages(IEditingContext editingContext) { - if (editingContext instanceof EditingContext) { - Registry packageRegistry = ((EditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); + if (editingContext instanceof IEMFEditingContext) { + Registry packageRegistry = ((IEMFEditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); return packageRegistry.values().stream() .filter(EPackage.class::isInstance) .map(EPackage.class::cast) diff --git a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/EdgeStylePropertiesConfigurer.java b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/EdgeStylePropertiesConfigurer.java index cfd7469144..7a404f6744 100644 --- a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/EdgeStylePropertiesConfigurer.java +++ b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/EdgeStylePropertiesConfigurer.java @@ -30,7 +30,7 @@ import org.eclipse.sirius.components.collaborative.forms.services.api.IPropertiesDescriptionRegistry; import org.eclipse.sirius.components.collaborative.forms.services.api.IPropertiesDescriptionRegistryConfigurer; import org.eclipse.sirius.components.core.api.IEditingContext; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.forms.SelectStyle; import org.eclipse.sirius.components.forms.components.SelectComponent; import org.eclipse.sirius.components.forms.description.AbstractControlDescription; @@ -155,9 +155,9 @@ private List getGeneralControlDescription() { private Stream getColorsFromColorPalettesStream(VariableManager variableManager) { return variableManager.get(IEditingContext.EDITING_CONTEXT, IEditingContext.class) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) .map(EditingDomain::getResourceSet) .map(ResourceSet::getResources) .stream() diff --git a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/NodeStylePropertiesConfigurer.java b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/NodeStylePropertiesConfigurer.java index e79b2619e5..e4d2348a16 100644 --- a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/NodeStylePropertiesConfigurer.java +++ b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/NodeStylePropertiesConfigurer.java @@ -33,7 +33,7 @@ import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.core.api.IObjectService; import org.eclipse.sirius.components.diagrams.NodeType; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.forms.SelectStyle; import org.eclipse.sirius.components.forms.components.SelectComponent; import org.eclipse.sirius.components.forms.description.AbstractControlDescription; @@ -281,9 +281,9 @@ private SelectDescription createBorderLineStyleSelectionField() { private Stream getColorsFromColorPalettesStream(VariableManager variableManager) { return variableManager.get(IEditingContext.EDITING_CONTEXT, IEditingContext.class) - .filter(EditingContext.class::isInstance) - .map(EditingContext.class::cast) - .map(EditingContext::getDomain) + .filter(IEMFEditingContext.class::isInstance) + .map(IEMFEditingContext.class::cast) + .map(IEMFEditingContext::getDomain) .map(EditingDomain::getResourceSet) .map(ResourceSet::getResources) .stream() diff --git a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/ViewPaletteProvider.java b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/ViewPaletteProvider.java index 2fe9eb42a7..82d16b469f 100644 --- a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/ViewPaletteProvider.java +++ b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/ViewPaletteProvider.java @@ -43,7 +43,7 @@ import org.eclipse.sirius.components.diagrams.description.IDiagramElementDescription; import org.eclipse.sirius.components.diagrams.description.NodeDescription; import org.eclipse.sirius.components.diagrams.description.SynchronizationPolicy; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.interpreter.AQLInterpreter; import org.eclipse.sirius.components.interpreter.Result; import org.eclipse.sirius.components.interpreter.Status; @@ -485,8 +485,8 @@ private AQLInterpreter createInterpreter(View view, IEditingContext editingConte } private List getAccessibleEPackages(IEditingContext editingContext) { - if (editingContext instanceof EditingContext) { - EPackage.Registry packageRegistry = ((EditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); + if (editingContext instanceof IEMFEditingContext) { + EPackage.Registry packageRegistry = ((IEMFEditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); return packageRegistry.values().stream() .filter(EPackage.class::isInstance) .map(EPackage.class::cast) diff --git a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/ViewReconnectionToolsExecutor.java b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/ViewReconnectionToolsExecutor.java index cf48498626..c0479f8ca3 100644 --- a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/ViewReconnectionToolsExecutor.java +++ b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/ViewReconnectionToolsExecutor.java @@ -28,7 +28,7 @@ import org.eclipse.sirius.components.diagrams.description.DiagramDescription; import org.eclipse.sirius.components.diagrams.description.EdgeDescription; import org.eclipse.sirius.components.diagrams.events.ReconnectEdgeKind; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.interpreter.AQLInterpreter; import org.eclipse.sirius.components.representations.Failure; import org.eclipse.sirius.components.representations.IStatus; @@ -133,8 +133,8 @@ private VariableManager createVariableManager(ReconnectionToolInterpreterData to } private List getAccessibleEPackages(IEditingContext editingContext) { - if (editingContext instanceof EditingContext) { - Registry packageRegistry = ((EditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); + if (editingContext instanceof IEMFEditingContext) { + Registry packageRegistry = ((IEMFEditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); return packageRegistry.values().stream() .filter(EPackage.class::isInstance) .map(EPackage.class::cast) diff --git a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/providers/ViewInitialDirectEditElementLabelProvider.java b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/providers/ViewInitialDirectEditElementLabelProvider.java index b44cbd4d3f..5b41a7a08f 100644 --- a/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/providers/ViewInitialDirectEditElementLabelProvider.java +++ b/packages/view/backend/sirius-components-view-emf/src/main/java/org/eclipse/sirius/components/view/emf/diagram/providers/ViewInitialDirectEditElementLabelProvider.java @@ -28,7 +28,7 @@ import org.eclipse.sirius.components.diagrams.Edge; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.diagrams.description.EdgeLabelKind; -import org.eclipse.sirius.components.emf.services.EditingContext; +import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.interpreter.AQLInterpreter; import org.eclipse.sirius.components.interpreter.Result; import org.eclipse.sirius.components.interpreter.Status; @@ -189,8 +189,8 @@ private Optional getEdgeDescription(List edgeD } private List getAccessibleEPackages(IEditingContext editingContext) { - if (editingContext instanceof EditingContext) { - Registry packageRegistry = ((EditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); + if (editingContext instanceof IEMFEditingContext) { + Registry packageRegistry = ((IEMFEditingContext) editingContext).getDomain().getResourceSet().getPackageRegistry(); return packageRegistry.values().stream() .filter(EPackage.class::isInstance) .map(EPackage.class::cast)