Bug 529131 - [RobotML] Create an oxygen release

* add .architecture to the build properties
* remove the old viewpoint configuration
* rename the robot ML Architecture Domain
* add a class diagram and a state machine diagram representation kind to
rename them in robotml viewpoint
* new model --> display the robotML representation kinds as well as the
templates

Change-Id: If317f45b45a0ae760beed3d9fdfa40fc3a19f308
Signed-off-by: Asma Smaoui <asma.smaoui@cea.fr>
diff --git a/org.eclipse.papyrus.robotml.diagram.common/architecture/robotml.architecture b/org.eclipse.papyrus.robotml.diagram.common/architecture/robotml.architecture
index ee87fff..1e0bed8 100644
--- a/org.eclipse.papyrus.robotml.diagram.common/architecture/robotml.architecture
+++ b/org.eclipse.papyrus.robotml.diagram.common/architecture/robotml.architecture
@@ -1,16 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>

-<architecture:ArchitectureDomain xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" xmlns:gmfdiagrepresentation="http://www.eclipse.org/papyrus/infra/gmfdiag/representation" xmi:id="_uP7B4ImXEeeIW_io9CMjng" name="Robotic engineering">

+<architecture:ArchitectureDomain xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" xmlns:gmfdiagrepresentation="http://www.eclipse.org/papyrus/infra/gmfdiag/representation" xmi:id="_uP7B4ImXEeeIW_io9CMjng" name="Robotic Systems Engineering">

   <stakeholders xmi:id="_iYiuwImYEeeIW_io9CMjng" name="RobotML Modeler" description="Stakeholder involved in basic Robotic modeling" concerns="_lM664ImYEeeIW_io9CMjng"/>

   <concerns xmi:id="_lM664ImYEeeIW_io9CMjng" name="Robotic System Design"/>

   <contexts xsi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_ojRLoImYEeeIW_io9CMjng" id="org.eclipse.papyrus.robotml.context" name="RobotML" description="Architecture Descritpion Language for robotic models" icon="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/icons/robotml_16x16.png" defaultViewpoints="_z313MImYEeeIW_io9CMjng" creationCommandClass="org.eclipse.papyrus.robotml.diagram.common.commands.CreateRobotmlModelCommand">

-    <viewpoints xmi:id="_z313MImYEeeIW_io9CMjng" id="org.eclipse.papyrus.robotml.viewpoint" name="RobotML Viewpoint" description="RobotML Viewpoint to help designing robotic system" icon="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/icons/robotml_16x16.png" concerns="_lM664ImYEeeIW_io9CMjng">

-      <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" href="#_FTKFQImeEeeIW_io9CMjng"/>

-      <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" href="#_ILxJwImhEeeIW_io9CMjng"/>

-      <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" href="#_IpFX4ImhEeeIW_io9CMjng"/>

-      <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" href="#_JEm2QImhEeeIW_io9CMjng"/>

-      <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.uml.architecture/model/uml.architecture#_zzf4gHDtEeWh-MssWmCB_A"/>

-      <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.uml.architecture/model/uml.architecture#_PwD0cHDvEeWh-MssWmCB_A"/>

-    </viewpoints>

+    <viewpoints xmi:id="_z313MImYEeeIW_io9CMjng" id="org.eclipse.papyrus.robotml.viewpoint" name="RobotML Viewpoint" description="RobotML Viewpoint to help designing robotic system" icon="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/icons/robotml_16x16.png" concerns="_lM664ImYEeeIW_io9CMjng" representationKinds="_FTKFQImeEeeIW_io9CMjng _ILxJwImhEeeIW_io9CMjng _IpFX4ImhEeeIW_io9CMjng _JEm2QImhEeeIW_io9CMjng _Ub6_EPBzEeezAe3_FaBUQg _PwD0cHDvEeWh-MssWmCB_A"/>

     <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.emf/model/infra-emf.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>

     <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/notation.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>

     <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/gmfdiag-common.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>

@@ -79,6 +72,56 @@
       <paletteRules xmi:id="_0kz9F_L_EeONXPQ2mbw9vA" permit="false" element="org.eclipse.papyrus.robotml.diagram.clazz"/>

       <palettes href="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/diagrams/interfacedef/interfacedef.palette.paletteconfiguration#/"/>

     </representationKinds>

+    <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_Ub6_EPBzEeezAe3_FaBUQg" id="org.eclipse.papyrus.uml.diagram.class" name="RobotML Class Diagram" description="RobotML Class Diagram" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/icons/obj16/Diagram_Class.gif" concerns="_lM664ImYEeeIW_io9CMjng" implementationID="PapyrusUMLClassDiagram" customStyle="" creationCommandClass="org.eclipse.papyrus.uml.diagram.clazz.CreateClassDiagramCommand">

+      <modelRules xmi:id="_zzf4gXDtEeWh-MssWmCB_A">

+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+      </modelRules>

+      <owningRules xmi:id="_zzf4gnDtEeWh-MssWmCB_A">

+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+      </owningRules>

+      <childRules xmi:id="_zzf4g3DtEeWh-MssWmCB_A"/>

+      <palettes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/model/PapyrusUMLClassDiagram.paletteconfiguration#/"/>

+    </representationKinds>

+    <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_PwD0cHDvEeWh-MssWmCB_A" id="org.eclipse.papyrus.uml.diagram.stateMachine" name="RobotML State Machine Diagram" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.statemachine/icons/obj16/Diagram_StateMachine.gif" implementationID="PapyrusUMLStateMachineDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.statemachine.CreateStateMachineDiagramCommand">

+      <modelRules xmi:id="_PwD0cXDvEeWh-MssWmCB_A">

+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+      </modelRules>

+      <modelRules xmi:id="_H-oCgB0UEea_bcpknMJ7-w">

+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+      </modelRules>

+      <owningRules xmi:id="_PwD0cnDvEeWh-MssWmCB_A">

+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+      </owningRules>

+      <owningRules xmi:id="_PwD0c3DvEeWh-MssWmCB_A">

+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>

+        <newModelPath xmi:id="_PwD0dHDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.StateMachine">

+          <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>

+        </newModelPath>

+      </owningRules>

+      <owningRules xmi:id="_PwD0dXDvEeWh-MssWmCB_A">

+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>

+        <newModelPath xmi:id="_PwD0dnDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.StateMachine">

+          <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/>

+        </newModelPath>

+      </owningRules>

+      <owningRules xmi:id="_PwD0d3DvEeWh-MssWmCB_A">

+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+        <newModelPath xmi:id="_PwD0eHDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.StateMachine">

+          <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>

+        </newModelPath>

+      </owningRules>

+      <owningRules xmi:id="_PwD0eXDvEeWh-MssWmCB_A">

+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>

+        <newModelPath xmi:id="_PwD0enDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.ProtocolStateMachine">

+          <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface/protocol"/>

+        </newModelPath>

+      </owningRules>

+      <owningRules xmi:id="_5kmMcB0UEea_bcpknMJ7-w">

+        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+      </owningRules>

+      <childRules xmi:id="_PwD0e3DvEeWh-MssWmCB_A"/>

+      <palettes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.statemachine/model/PapyrusUMLStateMachineDiagram.paletteconfiguration#/"/>

+    </representationKinds>

     <metamodel href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>

     <profiles href="http://Papyrus/RobotML/1#/"/>

   </contexts>

diff --git a/org.eclipse.papyrus.robotml.diagram.common/build.properties b/org.eclipse.papyrus.robotml.diagram.common/build.properties
index 6786b85..5030d3a 100644
--- a/org.eclipse.papyrus.robotml.diagram.common/build.properties
+++ b/org.eclipse.papyrus.robotml.diagram.common/build.properties
@@ -7,7 +7,7 @@
                icons/,\
                build.properties,\
                about.html,\
-               viewpoints/,\
                diagrams/,\
-               css/
+               css/,\
+               architecture/
 src.includes = about.html
diff --git a/org.eclipse.papyrus.robotml.diagram.common/viewpoints/robotml.configuration b/org.eclipse.papyrus.robotml.diagram.common/viewpoints/robotml.configuration
deleted file mode 100755
index 77dbec8..0000000
--- a/org.eclipse.papyrus.robotml.diagram.common/viewpoints/robotml.configuration
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration:PapyrusConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmi:id="_0kyH4PL_EeONXPQ2mbw9vA" defaultStakeholder="_0kyu8PL_EeONXPQ2mbw9vA">
-  <stakeholders xmi:id="_0kyu8PL_EeONXPQ2mbw9vA" name="RobotML Modeler"/>
-  <viewpoints xsi:type="configuration:PapyrusViewpoint" xmi:id="_0kyu8fL_EeONXPQ2mbw9vA" name="Default Papyrus Viewpoint">
-    <modelKinds xsi:type="configuration:PapyrusDiagram" xmi:id="_0kzWAPL_EeONXPQ2mbw9vA" name="RobotML Architecture Definition Diagram" icon="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/diagrams/architecture/architecture.gif" implementationID="CompositeStructure" categories="_0kz9GPL_EeONXPQ2mbw9vA" customPalette="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/diagrams/architecture/architecture.palette.xml" customStyle="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/css/style.css">
-      <profiles href="http://Papyrus/RobotML/1#/"/>
-      <modelRules xmi:id="_0kzWAfL_EeONXPQ2mbw9vA">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
-      </modelRules>
-      <owningRules xmi:id="_0kzWAvL_EeONXPQ2mbw9vA">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
-      </owningRules>
-      <childRules xmi:id="_0kzWA_L_EeONXPQ2mbw9vA"/>
-      <paletteRules xmi:id="_0kzWBPL_EeONXPQ2mbw9vA" permit="false" element="composite.group.*"/>
-    </modelKinds>
-    <modelKinds xsi:type="configuration:PapyrusDiagram" xmi:id="_0kzWBfL_EeONXPQ2mbw9vA" name="RobotML Component Definition Diagram" icon="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/diagrams/componentdef/componentdef.gif" implementationID="CompositeStructure" categories="_0kz9GPL_EeONXPQ2mbw9vA" customPalette="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/diagrams/componentdef/componentdef.palette.xml" customStyle="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/css/style.css">
-      <profiles href="http://Papyrus/RobotML/1#/"/>
-      <modelRules xmi:id="_0kzWBvL_EeONXPQ2mbw9vA">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
-      </modelRules>
-      <owningRules xmi:id="_0kzWB_L_EeONXPQ2mbw9vA">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
-      </owningRules>
-      <childRules xmi:id="_0kzWCPL_EeONXPQ2mbw9vA"/>
-      <paletteRules xmi:id="_0kzWCfL_EeONXPQ2mbw9vA" permit="false" element="composite.group.*"/>
-    </modelKinds>
-    <modelKinds xsi:type="configuration:PapyrusDiagram" xmi:id="_0kzWCvL_EeONXPQ2mbw9vA" name="RobotML Datatype Definition Diagram" icon="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/diagrams/datatypedef/datatypeD.gif" implementationID="PapyrusUMLClassDiagram" categories="_0kz9GPL_EeONXPQ2mbw9vA" customPalette="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/diagrams/datatypedef/datatypedef.palette.xml">
-      <profiles href="http://Papyrus/RobotML/1#/"/>
-      <modelRules xmi:id="_0kzWC_L_EeONXPQ2mbw9vA">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
-      </modelRules>
-      <owningRules xmi:id="_0kzWDPL_EeONXPQ2mbw9vA">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
-      </owningRules>
-      <childRules xmi:id="_0kzWDfL_EeONXPQ2mbw9vA"/>
-      <paletteRules xmi:id="_0kz9EPL_EeONXPQ2mbw9vA" permit="false" element="clazz.group.*"/>
-      <paletteRules xmi:id="_0kz9EfL_EeONXPQ2mbw9vA" permit="false" element="org.eclipse.papyrus.robotml.diagram.clazz"/>
-    </modelKinds>
-    <modelKinds xsi:type="configuration:PapyrusDiagram" xmi:id="_0kz9EvL_EeONXPQ2mbw9vA" name="RobotML Interface Definition Diagram" icon="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/diagrams/interfacedef/interfaceI.gif" implementationID="PapyrusUMLClassDiagram" categories="_0kz9GPL_EeONXPQ2mbw9vA" customPalette="platform:/plugin/org.eclipse.papyrus.robotml.diagram.common/diagrams/interfacedef/interfacedef.palette.xml">
-      <profiles href="http://Papyrus/RobotML/1#/"/>
-      <modelRules xmi:id="_0kz9E_L_EeONXPQ2mbw9vA">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
-      </modelRules>
-      <owningRules xmi:id="_0kz9FPL_EeONXPQ2mbw9vA">
-        <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
-      </owningRules>
-      <childRules xmi:id="_0kz9FfL_EeONXPQ2mbw9vA"/>
-      <paletteRules xmi:id="_0kz9FvL_EeONXPQ2mbw9vA" permit="false" element="clazz.group.*"/>
-      <paletteRules xmi:id="_0kz9F_L_EeONXPQ2mbw9vA" permit="false" element="org.eclipse.papyrus.robotml.diagram.clazz"/>
-    </modelKinds>
-  </viewpoints>
-  <metamodel href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
-  <categories xmi:id="_0kz9GPL_EeONXPQ2mbw9vA" name="robotML"/>
-</configuration:PapyrusConfiguration>
diff --git a/org.eclipse.papyrus.robotml.diagram.ui/src/org/eclipse/papyrus/robotml/diagram/ui/NewRobotmlModelWizard.java b/org.eclipse.papyrus.robotml.diagram.ui/src/org/eclipse/papyrus/robotml/diagram/ui/NewRobotmlModelWizard.java
index 3f02c25..c982c8c 100644
--- a/org.eclipse.papyrus.robotml.diagram.ui/src/org/eclipse/papyrus/robotml/diagram/ui/NewRobotmlModelWizard.java
+++ b/org.eclipse.papyrus.robotml.diagram.ui/src/org/eclipse/papyrus/robotml/diagram/ui/NewRobotmlModelWizard.java
@@ -18,6 +18,10 @@
 
 public class NewRobotmlModelWizard extends CreateModelWizard {
 
+	
+	public static final String ROBOTML_CONTEXT_ID = "org.eclipse.papyrus.robotml.context"; //$NON-NLS-1$
+	
+	public static final String ROBOTML_VIEWPOINT_ID = "org.eclipse.papyrus.robotml.viewpoint"; //$NON-NLS-1$
 	/**
 	 * @see org.eclipse.papyrus.wizards.CreateModelWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
 	 *
@@ -49,15 +53,26 @@
 	}
 
 	
-
+	/**
+	 * Gets the selected context ids.
+	 *
+	 * @return the context ids
+	 * @since 3.0
+	 */
+	@Override
+	protected String[] getSelectedContexts() {
+		
+		return new String[] {ROBOTML_CONTEXT_ID};
+	}
+	
+	@Override
+	protected String[] getSelectedViewpoints() {
+		return new String[] {ROBOTML_VIEWPOINT_ID};
+	}
 	/**
 	 * {@inheritDoc}
 	 */
-	@Override
-	protected void saveDiagramCategorySettings() {
-		// here RobotML is the only available category
-	}
-
+	
 	@Override
 	public boolean isPapyrusRootWizard() {
 		return false;