Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2021-03-01 18:37:44 +0000
committerChristian W. Damus2021-03-01 20:14:41 +0000
commitb1406dd9acb9cb63860c8231b5ac51818a5191c0 (patch)
treee17b9c14e3ded45ab010a320f1b294459ecf5cca
parent658beb40e47033a8db30c816b45c2755c9ab5b70 (diff)
downloadorg.eclipse.papyrus-bugs/570486-ad-merge-inherit.tar.gz
org.eclipse.papyrus-bugs/570486-ad-merge-inherit.tar.xz
org.eclipse.papyrus-bugs/570486-ad-merge-inherit.zip
Bug 570486: [Architecture] Architecture model shall clearly define merge and inherit conceptsbugs/570486-ad-merge-inherit
- fix dangling references to representation kinds in extension context - complete domain extension support: - an extension domain is any domain that has an extension context - copy non-extension contexts to extended domains - elide extension domains as was done already for extension contexts Change-Id: Ie47a1fe3881e3f25e40bc12e51a714a1abbd2ff8 Signed-off-by: Christian W. Damus <give.a.damus@gmail.com>
-rw-r--r--plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/architecture/merged/MergedArchitectureContext.java11
-rw-r--r--plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/ArchitectureDomainRule.xtend12
-rw-r--r--plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/InternalArchitectureDomainMerger.xtend4
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/MergeTraceAdapter.java20
-rw-r--r--[-rwxr-xr-x]plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/helper/GMFDiagramViewTypeHelper.java9
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/architecture/tests/AllTests.java2
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/ArchitectureDomainMergerAddContextTest.java82
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/extension/add_framework.architecture12
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/extension/domain.architecture9
9 files changed, 153 insertions, 8 deletions
diff --git a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/architecture/merged/MergedArchitectureContext.java b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/architecture/merged/MergedArchitectureContext.java
index 29336eb6006..b06b65f391e 100644
--- a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/architecture/merged/MergedArchitectureContext.java
+++ b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/architecture/merged/MergedArchitectureContext.java
@@ -29,7 +29,9 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.papyrus.infra.architecture.commands.IModelConversionCommand;
import org.eclipse.papyrus.infra.architecture.commands.IModelCreationCommand;
import org.eclipse.papyrus.infra.core.architecture.ArchitectureContext;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
import org.eclipse.papyrus.infra.core.architecture.ArchitectureViewpoint;
+import org.eclipse.papyrus.infra.core.architecture.util.MergeTraceAdapter;
import org.eclipse.papyrus.infra.tools.util.ClassLoaderHelper;
import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
@@ -88,7 +90,10 @@ public abstract class MergedArchitectureContext extends MergedADElement {
*/
public Class<? extends IModelCreationCommand> getCreationCommandClass() throws ClassNotFoundException {
String className = getCreationCommandClassName();
- return className == null ? null : ClassLoaderHelper.loadClass(className, IModelCreationCommand.class, EcoreUtil.getURI(getModel()));
+
+ return className == null ? null
+ : ClassLoaderHelper.loadClass(className, IModelCreationCommand.class,
+ EcoreUtil.getURI(MergeTraceAdapter.getSource(getModel(), ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS)));
}
/**
@@ -98,7 +103,9 @@ public abstract class MergedArchitectureContext extends MergedADElement {
*/
public Class<? extends IModelConversionCommand> getConversionCommandClass() throws ClassNotFoundException {
String className = getConversionCommandClassName();
- return className == null ? null : ClassLoaderHelper.loadClass(className, IModelConversionCommand.class, EcoreUtil.getURI(getModel()));
+ return className == null ? null
+ : ClassLoaderHelper.loadClass(className, IModelConversionCommand.class,
+ EcoreUtil.getURI(MergeTraceAdapter.getSource(getModel(), ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS)));
}
/**
diff --git a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/ArchitectureDomainRule.xtend b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/ArchitectureDomainRule.xtend
index bb332568e23..40ef90d1c29 100644
--- a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/ArchitectureDomainRule.xtend
+++ b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/ArchitectureDomainRule.xtend
@@ -33,7 +33,11 @@ class ArchitectureDomainRule {
@Inject extension ArchitectureContextInheritanceRule
def hasExtensions(ArchitectureDomain domain) {
- domain.contexts.exists[hasExtensions || extension]
+ domain.contexts.exists[hasExtensions]
+ }
+
+ def isExtension(ArchitectureDomain domain) {
+ domain.contexts.exists[extension]
}
def hasInheritance(ArchitectureDomain domain) {
@@ -44,6 +48,10 @@ class ArchitectureDomainRule {
!domain.contexts.empty
}
+ def allContexts(ArchitectureDomain domain) {
+ domain.contexts + domain.allExtensions.flatMap[contexts]
+ }
+
/** A domain's extensions are implied by the domains defining extensions of its contexts. */
def extensions(ArchitectureDomain extended) {
if (inExtensionsPhase) extended.contexts.flatMap[extensions].mapUnique[domain] else emptyList
@@ -92,7 +100,7 @@ class ArchitectureDomainRule {
stakeholders += currentScope.flatMap[stakeholders].mapUnique[name].map[mergedStakeholder]
// Extension contexts exist only to contribute to others
- contexts += domain.contexts.reject[extension].map[merged]
+ contexts += domain.allContexts.reject[extension].map[merged]
// Trace to the merged domains
domain.allExtensions.forEach[result.traceTo(it)]
diff --git a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/InternalArchitectureDomainMerger.xtend b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/InternalArchitectureDomainMerger.xtend
index 55111070e16..a752797b32e 100644
--- a/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/InternalArchitectureDomainMerger.xtend
+++ b/plugins/infra/architecture/org.eclipse.papyrus.infra.architecture/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/InternalArchitectureDomainMerger.xtend
@@ -91,7 +91,9 @@ class InternalArchitectureDomainMerger {
// Then, merge domains for context extensions
advancePhase
- val mergedDomains = mergeableDomains.map[merged].toList // Collapse the lazy iterable before we advance to 'done'
+ val mergedDomains = mergeableDomains.reject[extension] // Elide extension domains
+ .map[merged] // Merge them
+ .toList // Collapse the lazy iterable before we advance to 'done'
// Done. Screen and encapsulate the results
advancePhase
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/MergeTraceAdapter.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/MergeTraceAdapter.java
index 0a29d8515bc..4c24399976a 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/MergeTraceAdapter.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.architecture/src/org/eclipse/papyrus/infra/core/architecture/util/MergeTraceAdapter.java
@@ -16,6 +16,7 @@
package org.eclipse.papyrus.infra.core.architecture.util;
import java.util.Collection;
+import java.util.Optional;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.ecore.EStructuralFeature;
@@ -62,4 +63,23 @@ public interface MergeTraceAdapter extends Adapter {
return (MergeTraceAdapter) EcoreUtil.getExistingAdapter(element, MergeTraceAdapter.class);
}
+ /**
+ * Query the source of a merged element that matches it in the given {@code feature}. This will be
+ * the source element that contributed the {@code feature} value to the merge.
+ *
+ * @param <T>
+ * the element type
+ * @param mergedElement
+ * an element in the merged domain model
+ * @param feature
+ * the feature to trace
+ * @return the source element, or the original merged element if no source can be determined (in which
+ * case this element is assumed to be a free-standing, effectively unmerged element)
+ */
+ static <T extends ADElement> T getSource(T mergedElement, EStructuralFeature feature) {
+ return Optional.ofNullable(getMergeTraces(mergedElement))
+ .map(traces -> traces.trace(mergedElement, feature))
+ .orElse(mergedElement);
+ }
+
}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/helper/GMFDiagramViewTypeHelper.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/helper/GMFDiagramViewTypeHelper.java
index a63b3c59b4e..d9973f88fc2 100755..100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/helper/GMFDiagramViewTypeHelper.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/helper/GMFDiagramViewTypeHelper.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2013, 2017, 2019 CEA LIST and others.
+ * Copyright (c) 2013, 2021 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,7 +10,7 @@
*
* Contributors:
* Laurent Wouters laurent.wouters@cea.fr - Initial API and implementation
- * Christian W. Damus - bug 527580
+ * Christian W. Damus - bugs 527580, 570486
* Ansgar Radermacher - bug 539754
* Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Bug 550568
*
@@ -20,10 +20,12 @@ package org.eclipse.papyrus.infra.gmfdiag.common.helper;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.infra.core.architecture.util.MergeTraceAdapter;
import org.eclipse.papyrus.infra.gmfdiag.common.AbstractPapyrusGmfCreateDiagramCommandHandler;
import org.eclipse.papyrus.infra.gmfdiag.common.Activator;
import org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils;
import org.eclipse.papyrus.infra.gmfdiag.representation.PapyrusDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.representation.RepresentationPackage;
import org.eclipse.papyrus.infra.tools.util.ClassLoaderHelper;
import org.eclipse.papyrus.infra.viewpoints.policy.AbstractViewTypeHelper;
import org.eclipse.papyrus.infra.viewpoints.policy.PolicyChecker;
@@ -57,7 +59,8 @@ public class GMFDiagramViewTypeHelper extends AbstractViewTypeHelper<PapyrusDiag
protected ViewPrototype doGetPrototypeFor(PapyrusDiagram diagramKind) {
String commandClassName = diagramKind.getCreationCommandClass();
if (commandClassName != null) {
- Class<? extends AbstractPapyrusGmfCreateDiagramCommandHandler> creationCommandClass = ClassLoaderHelper.loadClass(commandClassName, AbstractPapyrusGmfCreateDiagramCommandHandler.class, EcoreUtil.getURI(diagramKind));
+ Class<? extends AbstractPapyrusGmfCreateDiagramCommandHandler> creationCommandClass = ClassLoaderHelper.loadClass(commandClassName, AbstractPapyrusGmfCreateDiagramCommandHandler.class,
+ EcoreUtil.getURI(MergeTraceAdapter.getSource(diagramKind, RepresentationPackage.Literals.PAPYRUS_DIAGRAM__CREATION_COMMAND_CLASS)));
if (creationCommandClass != null) {
AbstractPapyrusGmfCreateDiagramCommandHandler command;
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/architecture/tests/AllTests.java b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/architecture/tests/AllTests.java
index 2e28d240f94..03373659795 100644
--- a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/architecture/tests/AllTests.java
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/architecture/tests/AllTests.java
@@ -19,6 +19,7 @@ import org.eclipse.papyrus.infra.architecture.tests.merged.MergedArchitectureDom
import org.eclipse.papyrus.infra.architecture.tests.merged.MergedArchitectureFacadeTest;
import org.eclipse.papyrus.infra.core.architecture.tests.ArchitectureAllTests;
import org.eclipse.papyrus.infra.core.internal.architecture.merger.tests.ArchitectureDomainInheritanceTest;
+import org.eclipse.papyrus.infra.core.internal.architecture.merger.tests.ArchitectureDomainMergerAddContextTest;
import org.eclipse.papyrus.infra.core.internal.architecture.merger.tests.ArchitectureDomainMergerLegacyTest;
import org.eclipse.papyrus.infra.core.internal.architecture.merger.tests.ArchitectureDomainMergerTest;
import org.eclipse.papyrus.infra.core.internal.architecture.merger.tests.ArchitectureDomainMixedMergesTest;
@@ -39,6 +40,7 @@ import org.junit.runners.Suite.SuiteClasses;
ArchitectureDomainInheritanceTest.class,
ArchitectureDomainMergerLegacyTest.class,
ArchitectureDomainMixedMergesTest.class,
+ ArchitectureDomainMergerAddContextTest.class,
})
@Headless
public class AllTests {
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/ArchitectureDomainMergerAddContextTest.java b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/ArchitectureDomainMergerAddContextTest.java
new file mode 100644
index 00000000000..d3afd70618c
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/ArchitectureDomainMergerAddContextTest.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 2021 Christian W. Damus, CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - bug 570486
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.core.internal.architecture.merger.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.Map;
+
+import org.eclipse.papyrus.infra.architecture.tests.ArchitectureFixture;
+import org.eclipse.papyrus.infra.architecture.tests.ArchitectureResource;
+import org.eclipse.papyrus.infra.architecture.tests.DomainName;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionLanguage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureContext;
+import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureViewpoint;
+import org.junit.Rule;
+import org.junit.Test;
+
+/**
+ * Tests covering the scenarios in which domain extension adds a context that is not an extension context
+ * to an extended domain.
+ */
+public class ArchitectureDomainMergerAddContextTest {
+
+ @Rule
+ public final ArchitectureFixture fixture = new ArchitectureFixture();
+
+ /**
+ * Verify that a domain that has any extension contexts
+ * <ul>
+ * <li>is merged into the domains that its contexts extend,</li>
+ * <li>merges its extension contexts into the extended contexts of the domains that it extends,</li>
+ * <li>adds non-extension contexts to the domains that it extends, and</li>
+ * <li>does not appear in the merge result as a domain in its own right</li>
+ * </ul>
+ */
+ @ArchitectureResource("extension/add_framework")
+ @DomainName("add_framework")
+ @Test
+ public void addContextToExtendedDomain() {
+ Map<String, MergedArchitectureDomain> domains = fixture.mergeDomains();
+ assertThat("Wrong number of domains in merge result", domains.size(), is(1));
+
+ MergedArchitectureDomain mExtended = domains.get("domain");
+
+ // This one is defined by the extended domain model
+ MergedArchitectureContext adl = fixture.get(mExtended.getContexts(), "adl");
+
+ // This one is added to the domain by the extension model
+ MergedArchitectureContext addedContext = fixture.get(mExtended.getContexts(), "my_framework");
+
+ // And it has a viewpoint
+ MergedArchitectureViewpoint viewpoint = fixture.get(addedContext.getViewpoints(), "my_viewpoint");
+
+ // In which the diagram is properly owned by the merged architecture context in the merged domain
+ RepresentationKind diagram = fixture.get(viewpoint.getRepresentationKinds(), "my_diagram");
+
+ assertThat("Diagram is not contained in the merged model", diagram.getLanguage(), notNullValue());
+ assertThat("Diagram is not owned by the extended ADL", diagram.getLanguage(),
+ is(adl.getAdapter(ArchitectureDescriptionLanguage.class)));
+ assertThat("Diagram is not contained within the extended domain", diagram.getLanguage().getDomain(),
+ is(mExtended.getAdapter(ArchitectureDomain.class)));
+ }
+
+}
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/extension/add_framework.architecture b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/extension/add_framework.architecture
new file mode 100644
index 00000000000..fa3c3f1777c
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/extension/add_framework.architecture
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDomain xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" xmlns:gmfdiagrepresentation="http://www.eclipse.org/papyrus/infra/gmfdiag/representation" xmi:id="_W1e_4FwYEeupTbvtAFLDpA" name="add_framework" description="An extension domain that adds the 'my_framework' framework to the 'adl' domain.">
+ <contexts xmi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_hLZDwFwYEeupTbvtAFLDpA" name="adl_extension">
+ <extendedContexts xmi:type="architecture:ArchitectureDescriptionLanguage" href="domain.architecture#_hLZDwFwYEeupTbvtAFLDpA"/>
+ <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_HejlwHqvEeuxlImJSGDPXQ" name="my_diagram"/>
+ </contexts>
+ <contexts xmi:type="architecture:ArchitectureFramework" xmi:id="_lFlBYFwYEeupTbvtAFLDpA" name="my_framework" defaultViewpoints="_CXBrQHqvEeuxlImJSGDPXQ">
+ <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_CXBrQHqvEeuxlImJSGDPXQ" name="my_viewpoint" representationKinds="_HejlwHqvEeuxlImJSGDPXQ">
+ <concerns xmi:type="architecture:Concern" href="domain.architecture#_d0pKYFwYEeupTbvtAFLDpA"/>
+ </viewpoints>
+ </contexts>
+</architecture:ArchitectureDomain>
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/extension/domain.architecture b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/extension/domain.architecture
new file mode 100644
index 00000000000..a2e6917f9ff
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.architecture.tests/src/org/eclipse/papyrus/infra/core/internal/architecture/merger/tests/extension/domain.architecture
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDomain xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" xmlns:gmfdiagrepresentation="http://www.eclipse.org/papyrus/infra/gmfdiag/representation" xmi:id="_W1e_4FwYEeupTbvtAFLDpA" name="domain">
+ <stakeholders xmi:type="architecture:Stakeholder" xmi:id="_cYVkcFwYEeupTbvtAFLDpA" name="user"/>
+ <concerns xmi:type="architecture:Concern" xmi:id="_d0pKYFwYEeupTbvtAFLDpA" name="concern"/>
+ <contexts xmi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_hLZDwFwYEeupTbvtAFLDpA" name="adl" defaultViewpoints="_oVMYAFwYEeupTbvtAFLDpA">
+ <viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_oVMYAFwYEeupTbvtAFLDpA" name="viewpoint1" concerns="_d0pKYFwYEeupTbvtAFLDpA" representationKinds="_ZFCC0FwnEeupTbvtAFLDpA"/>
+ <representationKinds xmi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_ZFCC0FwnEeupTbvtAFLDpA" name="diagram1" concerns="_d0pKYFwYEeupTbvtAFLDpA"/>
+ </contexts>
+</architecture:ArchitectureDomain>

Back to the top