Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaged Elaasar2018-06-20 07:53:45 -0400
committerBenoit Maggi2018-06-21 05:05:56 -0400
commita5939d660d706c1cc5cf86083981d67e0219c5b9 (patch)
treedc1f0631bba37052b9280bccdd28e4be73a6b632
parent345623c30ee1d457eb85ddf3deba5d81e61500de (diff)
downloadorg.eclipse.papyrus-a5939d660d706c1cc5cf86083981d67e0219c5b9.tar.gz
org.eclipse.papyrus-a5939d660d706c1cc5cf86083981d67e0219c5b9.tar.xz
org.eclipse.papyrus-a5939d660d706c1cc5cf86083981d67e0219c5b9.zip
Bug 536083 - [AFViewpoints] Provide conversion to UML
- Support converting a model from an arbitrary context to the UML language context - add test to validate the uml.architecture model Change-Id: I0a9f45879229e368f6b8cb0925e54697ab1edf06 Signed-off-by: Benoit Maggi <benoit.maggi@cea.fr> Signed-off-by: Maged Elaasar <melaasar@gmail.com>
-rwxr-xr-xplugins/uml/architecture/org.eclipse.papyrus.uml.architecture/META-INF/MANIFEST.MF8
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/model/uml.architecture2
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLDiagramKinds.java54
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLDiagramTypes.java82
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLTableKinds.java34
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/commands/UMLModelConversionCommand.java163
-rw-r--r--plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/commands/AbstractModelConversionCommand.java59
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.classpath11
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.project28
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/META-INF/MANIFEST.MF14
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/about.html28
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/build.properties5
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/plugin.properties14
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/test/org/eclipse/papyrus/uml/architecture/tests/AllTests.java29
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/test/org/eclipse/papyrus/uml/architecture/tests/resources/ModelValidationTest.java76
-rwxr-xr-xtests/junit/plugins/uml/org.eclipse.papyrus.uml.suite.tests/META-INF/MANIFEST.MF3
-rwxr-xr-xtests/junit/plugins/uml/org.eclipse.papyrus.uml.suite.tests/test/org/eclipse/papyrus/uml/suite/tests/AllTests.java2
-rwxr-xr-xtests/junit/plugins/uml/pom.xml5
20 files changed, 629 insertions, 8 deletions
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/META-INF/MANIFEST.MF b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/META-INF/MANIFEST.MF
index d26afe76fb7..08634649801 100755
--- a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/META-INF/MANIFEST.MF
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/META-INF/MANIFEST.MF
@@ -35,7 +35,11 @@ Require-Bundle: org.eclipse.papyrus.uml.service.types;bundle-version="[4.0.0,5.0
org.eclipse.papyrus.infra.architecture;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.architecture.representation;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.nattable.representation;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.representation;bundle-version="[2.0.0,3.0.0)"
-Export-Package: org.eclipse.papyrus.uml.architecture
+ org.eclipse.papyrus.infra.gmfdiag.representation;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.style;bundle-version="[2.0.0,3.0.0)"
+Export-Package: org.eclipse.papyrus.uml.architecture,
+ org.eclipse.papyrus.uml.architecture.commands,
+ org.eclipse.papyrus.uml.architecture.internal;x-internal:=true,
+ org.eclipse.papyrus.uml.architecture.migration
Bundle-Vendor: %providerName
Automatic-Module-Name: org.eclipse.papyrus.uml.architecture
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/model/uml.architecture b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/model/uml.architecture
index 10d37da44ce..c70b0f40d92 100644
--- a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/model/uml.architecture
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/model/uml.architecture
@@ -6,7 +6,7 @@
<concerns xmi:type="architecture:Concern" xmi:id="_HQhf4sSYEeaKZJ_pGfaSiA" id="org.eclipse.papyrus.softwareEngineering.useCases" name="Use Cases" description="The concern of defining the system's use cases"/>
<concerns xmi:type="architecture:Concern" xmi:id="_HQhf48SYEeaKZJ_pGfaSiA" id="org.eclipse.papyrus.softwareEngineering.structure" name="Structure" description="The concern of developing the system's structure"/>
<concerns xmi:type="architecture:Concern" xmi:id="_HQhf5MSYEeaKZJ_pGfaSiA" id="org.eclipse.papyrus.softwareEngineering.behavior" name="Behavior" description="The concern of developing the system's behavior"/>
- <contexts xmi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_HQhf5cSYEeaKZJ_pGfaSiA" id="org.eclipse.papyrus.infra.services.edit.TypeContext" name="UML" description="The Unified Modeling Language" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/uml.gif" creationCommandClass="org.eclipse.papyrus.uml.diagram.common.commands.CreateUMLModelCommand">
+ <contexts xmi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_HQhf5cSYEeaKZJ_pGfaSiA" id="org.eclipse.papyrus.infra.services.edit.TypeContext" name="UML" description="The Unified Modeling Language" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/uml.gif" creationCommandClass="org.eclipse.papyrus.uml.diagram.common.commands.CreateUMLModelCommand" conversionCommandClass="org.eclipse.papyrus.uml.architecture.commands.UMLModelConversionCommand">
<viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_HQhf5sSYEeaKZJ_pGfaSiA" id="org.eclipse.papyrus.uml.analysis" name="Software Analysis" description="A viewpoint allowing software analysis with UML" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/viewpoint.gif" representationKinds="_yeY0sHDvEeWh-MssWmCB_A _zzf4gHDtEeWh-MssWmCB_A _zzf4cXDtEeWh-MssWmCB_A _P3J1cEb7EeRVGbM3cmVSqQ _Uz8agHDcEeWh-MssWmCB_A _P3J1cEa7EeSVGbM3cmVSqQ _WC1q0P4UEhSRsNBVzfUrzA _wXztQHDwEwWh-MssWmCB_A _d4-QwCT-EeedRqoTe_1ZiA"/>
<viewpoints xmi:type="architecture:ArchitectureViewpoint" xmi:id="_OOrIUMSZEeaKZJ_pGfaSiA" id="org.eclipse.papyrus.uml.design" name="Software Design" description="A viewpoint allowing software design with UML" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/viewpoint.gif" representationKinds="_UzcgsHDtEeWh-MssWmCB_A _zzf4gHDtEeWh-MssWmCB_A _jRtroHDuEeWh-MssWmCB_A _fa4kAHDuEeWh-MssWmCB_A _fa4kBHDuEeWh-MssWmCB_A _bKiwMHDuEeWh-MssWmCB_A _bKiwNHDuEeWh-MssWmCB_A _ARGokHDuEeWh-MssWmCB_A _zzf4YHDtEeWh-MssWmCB_A _FuMjYHDuEeWh-MssWmCB_A _zzf4cXDtEeWh-MssWmCB_A _TR15IHDvEeWh-MssWmCB_A _PwD0cHDvEeWh-MssWmCB_A _LzyMIHDvEeWh-MssWmCB_A _P3J1cEb7EeRVGbM3cmVSqQ _Uz8agHDcEeWh-MssWmCB_A _P3J1cEa7EeSVGbM3cmVSqQ _WC1q0P4UEhSRsNBVzfUrzA _wXztQHDwEwWh-MssWmCB_A _d4-QwCT-EeedRqoTe_1ZiA"/>
<elementTypes xmi:type="elementtypesconfigurations:ElementTypeSetConfiguration" href="platform:/plugin/org.eclipse.papyrus.infra.emf/model/infra-emf.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLDiagramKinds.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLDiagramKinds.java
new file mode 100644
index 00000000000..9ba426828f1
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLDiagramKinds.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Maged Elaasar, CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Maged Elaasar - Initial API and Implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.architecture;
+
+/**
+ * The kinds of UML diagrams in the UML Architecture Language
+ *
+ */
+public interface UMLDiagramKinds {
+
+ public static final String ACTIVITY_DIAGRAM ="org.eclipse.papyrus.uml.diagram.activity";
+
+ public static final String CLASS_DIAGRAM ="org.eclipse.papyrus.uml.diagram.class";
+
+ public static final String INNER_CLASS_DIAGRAM ="org.eclipse.papyrus.uml.diagram.innerClass";
+
+ public static final String PACKAGE_DIAGRAM ="org.eclipse.papyrus.uml.diagram.package";
+
+ public static final String COMMUNICATION_DIAGRAM ="org.eclipse.papyrus.uml.diagram.communication";
+
+ public static final String COMPONENT_DIAGRAM_IN_COMPONENT ="org.eclipse.papyrus.uml.diagram.component.root.component";
+
+ public static final String COMPONENT_DIAGRAM_IN_PACKAGE ="org.eclipse.papyrus.uml.diagram.component.root.package";
+
+ public static final String COMPOSITE_STRUCTURE_DIAGRAM_IN_STRUCTURED_CLASSIFIER ="org.eclipse.papyrus.uml.diagram.compositeStructure.root.structuredClassifier";
+
+ public static final String COMPOSITE_STRUCTURE_DIAGRAM_IN_PACKAGE ="org.eclipse.papyrus.uml.diagram.compositeStructure.root.package";
+
+ public static final String DEPLOYMENT_DIAGRAM ="org.eclipse.papyrus.uml.diagram.deployment";
+
+ public static final String INTERACTION_OVERVIEW_DIAGRAM ="org.eclipse.papyrus.uml.diagram.interactionOverview";
+
+ public static final String PROFILE_DIAGRAM ="org.eclipse.papyrus.uml.diagram.profile";
+
+ public static final String SEQUENCE_DIAGRAM ="org.eclipse.papyrus.uml.diagram.sequence";
+
+ public static final String STATE_MACHINE_DIAGRAM ="org.eclipse.papyrus.uml.diagram.stateMachine";
+
+ public static final String TIMING_DIAGRAM ="org.eclipse.papyrus.uml.diagram.timing";
+
+ public static final String USE_CASE_DIAGRAM ="org.eclipse.papyrus.uml.diagram.useCase";
+
+}
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLDiagramTypes.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLDiagramTypes.java
new file mode 100644
index 00000000000..01efdb4ec4b
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLDiagramTypes.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Maged Elaasar, CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.architecture;
+
+/**
+ * The type of UML diagrams
+ *
+ */
+public interface UMLDiagramTypes {
+
+ /**
+ * The type of the activity diagram
+ */
+ public static final String ACTIVITY_DIAGRAM = "PapyrusUMLActivityDiagram";
+
+ /**
+ * The type of the class diagram
+ */
+ public static final String CLASS_DIAGRAM = "PapyrusUMLClassDiagram";
+
+ /**
+ * The type of the communication diagram
+ */
+ public static final String COMMUNICATION_DIAGRAM = "PapyrusUMLCommunicationDiagram";
+
+ /**
+ * The type of the component diagram
+ */
+ public static final String COMPONENT_DIAGRAM = "PapyrusUMLComponentDiagram";
+
+ /**
+ * The type of the composite structure diagram
+ */
+ public static final String COMPOSITE_STRUCTURE_DIAGRAM = "CompositeStructure";
+
+ /**
+ * The type of the deployment diagram
+ */
+ public static final String DEPLOYMENT_DIAGRAM = "PapyrusUMLDeploymentDiagram";
+
+ /**
+ * The type of the interaction overview diagram
+ */
+ public static final String INTERACTION_OVERVIEW_DIAGRAM = "PapyrusUMLInteractionOverviewDiagram";
+
+ /**
+ * The type of the profile diagram
+ */
+ public static final String PROFILE_DIAGRAM = "PapyrusUMLProfileDiagram";
+
+ /**
+ * The type of the sequence diagram
+ */
+ public static final String SEQUENCE_DIAGRAM = "PapyrusUMLSequenceDiagram";
+
+ /**
+ * The type of the state machine diagram
+ */
+ public static final String STATE_MACHINE_DIAGRAM = "PapyrusUMLStateMachineDiagram";
+
+ /**
+ * The type of the timing diagram
+ */
+ public static final String TIMING_DIAGRAM = "PapyrusUMLTimingDiagram";
+
+ /**
+ * The type of the use case diagram
+ */
+ public static final String USE_CASE_DIAGRAM = "UseCase";
+
+}
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLTableKinds.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLTableKinds.java
new file mode 100644
index 00000000000..c9a12ba0d88
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLTableKinds.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Maged Elaasar, CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Maged Elaasar - Initial API and Implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.architecture;
+
+/**
+ * The kinds of UML tables in the UML Architecture Language
+ *
+ */
+public interface UMLTableKinds {
+
+ public static final String GENERIC_TREE_TABLE = "org.eclipse.papyrus.uml.table.genericTree";
+
+ public static final String CLASS_TREE_TABLE = "org.eclipse.papyrus.uml.table.classTree";
+
+ public static final String GENERIC_TABLE = "org.eclipse.papyrus.uml.table.generic";
+
+ public static final String STEREO_DISPLAY_TREE_TABLE = "org.eclipse.papyrus.uml.table.stereotypeDisplayTree";
+
+ public static final String VIEW_TABLE = "org.eclipse.papyrus.uml.table.view";
+
+ public static final String RELATIONSHIP_GENERIC_MATRIX = "org.eclipse.papyrus.uml.table.matrix";
+
+}
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/commands/UMLModelConversionCommand.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/commands/UMLModelConversionCommand.java
new file mode 100644
index 00000000000..1e0c82f1594
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/commands/UMLModelConversionCommand.java
@@ -0,0 +1,163 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.architecture.commands;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.infra.architecture.ArchitectureDomainManager;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationUtils;
+import org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils;
+import org.eclipse.papyrus.infra.gmfdiag.representation.PapyrusDiagram;
+import org.eclipse.papyrus.infra.gmfdiag.style.PapyrusDiagramStyle;
+import org.eclipse.papyrus.infra.gmfdiag.style.StyleFactory;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.infra.nattable.representation.PapyrusTable;
+import org.eclipse.papyrus.uml.architecture.UMLArchitectureContextIds;
+import org.eclipse.papyrus.uml.architecture.UMLDiagramKinds;
+import org.eclipse.papyrus.uml.architecture.UMLDiagramTypes;
+import org.eclipse.papyrus.uml.architecture.UMLTableKinds;
+import org.eclipse.papyrus.uml.diagram.common.commands.AbstractModelConversionCommand;
+import org.eclipse.uml2.uml.Component;
+import org.eclipse.uml2.uml.StructuredClassifier;
+
+/**
+ * A command to convert a model from an arbitrary context to the UML language context
+ */
+public class UMLModelConversionCommand extends AbstractModelConversionCommand {
+
+ /**
+ * @see org.eclipse.papyrus.uml.diagram.common.commands.ModelConversionCommandBase#doConvertModel(org.eclipse.papyrus.infra.core.resource.ModelSet)
+ *
+ * @param modelSet
+ */
+ @Override
+ public void doConvertModel(ModelSet modelSet) {
+ final Resource notationResource = NotationUtils.getNotationResource(modelSet);
+ if (notationResource != null) {
+ for (EObject eObject : notationResource.getContents()) {
+ if (eObject instanceof Diagram)
+ convertDiagram((Diagram)eObject);
+ else if (eObject instanceof Table)
+ convertTable((Table)eObject);
+ }
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ protected void convertDiagram(Diagram diagram) {
+ // get the existing diagram kind id if any
+ String diagramKindId = null;
+ PapyrusDiagramStyle pvs = DiagramUtils.getPapyrusDiagramStyle(diagram);
+ if (pvs != null) {
+ diagramKindId = pvs.getDiagramKindId();
+ }
+
+ // return if the existing diagram kind is already in the UML language
+ if (diagramKindId != null) {
+ PapyrusDiagram kind = getDiagramKindById(diagramKindId);
+ if (kind != null && UMLArchitectureContextIds.UML.equals(kind.getLanguage().getId())) {
+ return;
+ }
+ }
+
+ // Choose a UML diagram kind based on the diagram's type (and the diagram's element)
+ PapyrusDiagram diagramKind = null;
+ if (UMLDiagramTypes.ACTIVITY_DIAGRAM.equals(diagram.getType())) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.ACTIVITY_DIAGRAM);
+ } else if (UMLDiagramTypes.CLASS_DIAGRAM.equals(diagram.getType())) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.CLASS_DIAGRAM);
+ } else if (UMLDiagramTypes.COMMUNICATION_DIAGRAM.equals(diagram.getType())) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.COMMUNICATION_DIAGRAM);
+ } else if (UMLDiagramTypes.COMPONENT_DIAGRAM.equals(diagram.getType())) {
+ if (diagram.getElement() instanceof Component) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.COMPONENT_DIAGRAM_IN_COMPONENT);
+ } else if (diagram.getElement() instanceof Package) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.COMPONENT_DIAGRAM_IN_PACKAGE);
+ }
+ } else if (UMLDiagramTypes.COMPOSITE_STRUCTURE_DIAGRAM.equals(diagram.getType())) {
+ if (diagram.getElement() instanceof StructuredClassifier) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.COMPOSITE_STRUCTURE_DIAGRAM_IN_STRUCTURED_CLASSIFIER);
+ } else if (diagram.getElement() instanceof Package) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.COMPOSITE_STRUCTURE_DIAGRAM_IN_PACKAGE);
+ }
+ } else if (UMLDiagramTypes.DEPLOYMENT_DIAGRAM.equals(diagram.getType())) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.DEPLOYMENT_DIAGRAM);
+ } else if (UMLDiagramTypes.INTERACTION_OVERVIEW_DIAGRAM.equals(diagram.getType())) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.INTERACTION_OVERVIEW_DIAGRAM);
+ } else if (UMLDiagramTypes.PROFILE_DIAGRAM.equals(diagram.getType())) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.PROFILE_DIAGRAM);
+ } else if (UMLDiagramTypes.SEQUENCE_DIAGRAM.equals(diagram.getType())) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.SEQUENCE_DIAGRAM);
+ } else if (UMLDiagramTypes.STATE_MACHINE_DIAGRAM.equals(diagram.getType())) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.STATE_MACHINE_DIAGRAM);
+ } else if (UMLDiagramTypes.TIMING_DIAGRAM.equals(diagram.getType())) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.TIMING_DIAGRAM);
+ } else if (UMLDiagramTypes.USE_CASE_DIAGRAM.equals(diagram.getType())) {
+ diagramKind = getDiagramKindById(UMLDiagramKinds.USE_CASE_DIAGRAM);
+ }
+
+ // set the new diagram kind
+ if (diagramKind != null) {
+ if (pvs == null){
+ pvs = StyleFactory.eINSTANCE.createPapyrusDiagramStyle();
+ pvs.setOwner(diagram.getElement());
+ diagram.getStyles().add(pvs);
+ }
+ pvs.setDiagramKindId(diagramKind.getId());
+ }
+ }
+
+ protected void convertTable(Table table) {
+ // get the existing diagram kind id if any
+ String tableKindId = table.getTableKindId();
+
+ // return if the existing table kind is already in the UML language
+ if (tableKindId != null) {
+ RepresentationKind kind = getTableKindById(tableKindId);
+ if (kind != null && UMLArchitectureContextIds.UML.equals(kind.getLanguage().getId())) {
+ return;
+ }
+ }
+
+ // set the new table kind to a generic table (to make it visible in the model explorer)
+ // this does not by itself make the table readable under the UML context
+ PapyrusTable kind = getTableKindById(UMLTableKinds.GENERIC_TABLE);
+ if (kind != null) {
+ table.setTableKindId(kind.getId());
+ table.setTableConfiguration(kind.getConfiguration());
+ }
+ }
+
+ /**
+ * Gets a diagram kind that matches the given id
+ */
+ private PapyrusDiagram getDiagramKindById(String id) {
+ ArchitectureDomainManager manager = ArchitectureDomainManager.getInstance();
+ RepresentationKind kind = manager.getRepresentationKindById(id);
+ return (kind instanceof PapyrusDiagram)? (PapyrusDiagram) kind : null;
+ }
+
+ /**
+ * Gets a sync table kind that matches the given id
+ */
+ private PapyrusTable getTableKindById(String id) {
+ ArchitectureDomainManager manager = ArchitectureDomainManager.getInstance();
+ RepresentationKind kind = manager.getRepresentationKindById(id);
+ return (kind instanceof PapyrusTable)? (PapyrusTable) kind : null;
+ }
+
+}
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/commands/AbstractModelConversionCommand.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/commands/AbstractModelConversionCommand.java
new file mode 100644
index 00000000000..dbe070f4556
--- /dev/null
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common/src/org/eclipse/papyrus/uml/diagram/common/commands/AbstractModelConversionCommand.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2018 Maged Elaasar, CEA LIST, and others
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Maged Elaasar - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.diagram.common.commands;
+
+import java.util.Collections;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand;
+import org.eclipse.papyrus.infra.architecture.commands.IModelConversionCommand;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+
+/**
+ * A base class for model conversion commands.
+ */
+public abstract class AbstractModelConversionCommand implements IModelConversionCommand {
+
+ /**
+ * @see org.eclipse.papyrus.infra.ui.extension.commands.IModelConversionCommand#convertModel(org.eclipse.papyrus.infra.core.utils.DiResourceSet)
+ *
+ * @param diResourceSet
+ */
+ @Override
+ public final void convertModel(final ModelSet modelSet) {
+ TransactionalEditingDomain editingDomain = modelSet.getTransactionalEditingDomain();
+ AbstractTransactionalCommand command = new AbstractTransactionalCommand(editingDomain, "Convert model", Collections.emptyList()) {
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ doConvertModel(modelSet);
+ return CommandResult.newOKCommandResult();
+ }
+ };
+ editingDomain.getCommandStack().execute(new GMFtoEMFCommandWrapper(command));
+ }
+
+ /**
+ * Perform the model conversion logic
+ *
+ * @param modelSet
+ * the model resource set
+ */
+ public abstract void doConvertModel(final ModelSet modelSet);
+
+}
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.classpath b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.classpath
new file mode 100644
index 00000000000..f86babc4507
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.classpath
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="test">
+ <attributes>
+ <attribute name="test" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.project b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.project
new file mode 100644
index 00000000000..fd5d1468b19
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.architecture.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..0c68a61dca8
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..c2ce45eff1d
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.uml.architecture.tests
+Bundle-Version: 1.1.200.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Vendor: %providerName
+Automatic-Module-Name: org.eclipse.papyrus.uml.architecture.tests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit;bundle-version="4.12.0",
+ org.eclipse.emf.ecore,
+ org.eclipse.papyrus.junit.framework;bundle-version="1.2.0"
+Export-Package: org.eclipse.papyrus.uml.architecture.tests,
+ org.eclipse.papyrus.uml.architecture.tests.resources
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/about.html b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/build.properties b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/build.properties
new file mode 100644
index 00000000000..682bde044ae
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/build.properties
@@ -0,0 +1,5 @@
+source.. = test/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/plugin.properties b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/plugin.properties
new file mode 100644
index 00000000000..5815c1f156c
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/plugin.properties
@@ -0,0 +1,14 @@
+#################################################################################
+# Copyright (c) 2018 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#
+# CEA LIST - Initial API and Implementation.
+#
+##################################################################################
+pluginName=Papyrus UML Architecture Tests
+providerName=Eclipse Modeling Project
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/pom.xml b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/pom.xml
new file mode 100644
index 00000000000..d2c1d172879
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus.tests</groupId>
+ <artifactId>org.eclipse.papyrus.uml.tests.releng</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.uml.architecture.tests</artifactId>
+ <version>1.1.200-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/test/org/eclipse/papyrus/uml/architecture/tests/AllTests.java b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/test/org/eclipse/papyrus/uml/architecture/tests/AllTests.java
new file mode 100644
index 00000000000..cddb1261a96
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/test/org/eclipse/papyrus/uml/architecture/tests/AllTests.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Benoit Maggi (CEA LIST) benoit.maggi@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.architecture.tests;
+
+import org.eclipse.papyrus.junit.framework.classification.ClassificationSuite;
+import org.eclipse.papyrus.uml.architecture.tests.resources.ModelValidationTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * Main Test suite.
+ */
+@RunWith(ClassificationSuite.class)
+@SuiteClasses({
+ ModelValidationTest.class,
+})
+public class AllTests {
+}
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/test/org/eclipse/papyrus/uml/architecture/tests/resources/ModelValidationTest.java b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/test/org/eclipse/papyrus/uml/architecture/tests/resources/ModelValidationTest.java
new file mode 100644
index 00000000000..42288f550ba
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.architecture.tests/test/org/eclipse/papyrus/uml/architecture/tests/resources/ModelValidationTest.java
@@ -0,0 +1,76 @@
+/*****************************************************************************
+ * Copyright (c) 2018 CEA and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Benoit Maggi (CEA LIST) benoit.maggi@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.architecture.tests.resources;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+
+/**
+ * This is a parameterized test to validate all model in the plugin
+ *
+ * @author Benoit Maggi
+ */
+@SuppressWarnings("nls")
+@RunWith(Parameterized.class)
+public class ModelValidationTest {
+
+ @Parameters
+ public static Collection<Object[]> data() {
+ return Arrays.asList(new Object[][] {
+ {"/model/uml.architecture"},
+ });
+ }
+
+ private String modelPath;
+
+ public ModelValidationTest(String modelPath) {
+ this.modelPath = modelPath;
+ }
+
+ /**
+ * Validate the model with the rules defined in the meta-model tooling
+ */
+ @Test
+ public void validateModel() {
+ String fullPath = "org.eclipse.papyrus.uml.architecture"+ this.modelPath;
+ URI modelPlatformURI = URI.createPlatformPluginURI(fullPath, true);
+ Resource resource = new ResourceSetImpl().getResource(modelPlatformURI, true);
+ Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0));
+ Assert.assertEquals("The "+modelPath+" model is invalid "+print(diagnostic), Diagnostic.OK, diagnostic.getSeverity());
+ }
+
+ // FIXME : Something should exist in API to do that
+ private String print(Diagnostic diagnostic) {
+ List<Diagnostic> children = diagnostic.getChildren();
+ StringBuilder stringBuilder = new StringBuilder(diagnostic.getMessage());
+ for (Diagnostic diagnosticChildren : children) {
+ stringBuilder.append("\n"); //$NON-NLS-1$
+ stringBuilder.append(diagnosticChildren.getMessage());
+ }
+ return stringBuilder.toString();
+ }
+
+}
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.suite.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.suite.tests/META-INF/MANIFEST.MF
index a5504b84b31..be4d998b161 100755
--- a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.suite.tests/META-INF/MANIFEST.MF
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.suite.tests/META-INF/MANIFEST.MF
@@ -36,5 +36,6 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.uml.dynamic.profile.tests;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.uml.internationalization.tests;bundle-version="[1.0.0,2.0.0)",
org.eclipse.papyrus.uml.alf.tests;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.uml.expressions.tests;bundle-version="[1.0.0,2.0.0)"
+ org.eclipse.papyrus.uml.expressions.tests;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.uml.architecture.tests;bundle-version="1.1.200"
Automatic-Module-Name: org.eclipse.papyrus.uml.suite.tests
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.suite.tests/test/org/eclipse/papyrus/uml/suite/tests/AllTests.java b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.suite.tests/test/org/eclipse/papyrus/uml/suite/tests/AllTests.java
index bf396a5deee..29b0f0d4aca 100755
--- a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.suite.tests/test/org/eclipse/papyrus/uml/suite/tests/AllTests.java
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.suite.tests/test/org/eclipse/papyrus/uml/suite/tests/AllTests.java
@@ -62,7 +62,7 @@ public class AllTests {
suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.internationalization.tests.tests.AllTests.class));
suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.alf.tests.AllTests.class));
suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.expressions.tests.AllTests.class));
-
+ suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.architecture.tests.AllTests.class));
// end
}
diff --git a/tests/junit/plugins/uml/pom.xml b/tests/junit/plugins/uml/pom.xml
index 4d398d2bbad..01206c56a53 100755
--- a/tests/junit/plugins/uml/pom.xml
+++ b/tests/junit/plugins/uml/pom.xml
@@ -8,11 +8,9 @@
<artifactId>org.eclipse.papyrus.plugins.tests.releng</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
- <groupId>org.eclipse.papyrus.tests</groupId>
<artifactId>org.eclipse.papyrus.uml.tests.releng</artifactId>
- <version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
- <description>Tests for the core uml functions of Papyrus.</description>
+ <description>Tests for the core uml functions of Papyrus.</description>
<modules>
<!-- Suites -->
@@ -38,6 +36,7 @@
<module>org.eclipse.papyrus.uml.modelrepair.tests</module>
<module>org.eclipse.papyrus.uml.service.types.tests</module>
<module>org.eclipse.papyrus.uml.service.types.ui.tests</module>
+ <module>org.eclipse.papyrus.uml.architecture.tests</module>
</modules>

Back to the top