diff options
Diffstat (limited to 'plugins/uml/architecture/org.eclipse.papyrus.uml.architecture')
16 files changed, 969 insertions, 0 deletions
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.classpath b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.classpath new file mode 100644 index 00000000000..eca7bdba8f0 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.classpath @@ -0,0 +1,7 @@ +<?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="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.project b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.project new file mode 100644 index 00000000000..4d88371ed29 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.papyrus.uml.architecture</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/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.settings/org.eclipse.jdt.core.prefs b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..0c68a61dca8 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.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/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 new file mode 100644 index 00000000000..12c4de3c043 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/META-INF/MANIFEST.MF @@ -0,0 +1,37 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.papyrus.uml.architecture;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.papyrus.uml.service.types;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.nattable.common;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.constraints;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.infra.emf;bundle-version="[2.2.0,3.0.0)", + org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.nattable;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.nattable.common;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.nattable.views.config;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.services.controlmode;bundle-version="[1.5.0,2.0.0)", + org.eclipse.papyrus.infra.services.edit;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.infra.types.rulebased;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[1.2.0,2.0.0)", + org.eclipse.papyrus.uml.diagram.activity;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.diagram.communication;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.diagram.component;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.diagram.deployment;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.diagram.profile;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.diagram.sequence;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.diagram.stereotype.edition;bundle-version="[2.0.0,3.0.0)", + org.eclipse.papyrus.uml.diagram.timing;bundle-version="[1.2.0,2.0.0)", + org.eclipse.papyrus.uml.diagram.usecase;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.nattable.generic.config;bundle-version="[1.2.0,2.0.0)", + org.eclipse.papyrus.uml.service.types;bundle-version="[3.0.0,4.0.0)", + org.eclipse.papyrus.uml.service.types.ui;bundle-version="[2.0.0,3.0.0)" +Export-Package: org.eclipse.papyrus.uml.architecture +Bundle-Vendor: %providerName diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/about.html b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/about.html new file mode 100644 index 00000000000..bbf2bd6aac7 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/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>January 30, 2017</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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>
\ No newline at end of file diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/build.properties b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/build.properties new file mode 100644 index 00000000000..0dc34f7833b --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/build.properties @@ -0,0 +1,6 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + plugin.properties diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/profile.gif b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/profile.gif Binary files differnew file mode 100644 index 00000000000..deadaaa3634 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/profile.gif diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/uml.gif b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/uml.gif Binary files differnew file mode 100644 index 00000000000..0626e1f8fa4 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/uml.gif 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 new file mode 100644 index 00000000000..37fe77aebb1 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/model/uml.architecture @@ -0,0 +1,429 @@ +<?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:constraints="http://www.eclipse.org/papyrus/constraints/0.9" xmlns:gmfdiagrepresentation="http://www.eclipse.org/papyrus/infra/gmfdiag/representation" xmlns:nattablerepresentation="http://www.eclipse.org/papyrus/infra/nattable/representation" xmi:id="_HQhf4MSYEeaKZJ_pGfaSiA" name="Software Engineering" desciption="The domain of developing software systems"> + <stakeholders xmi:id="_HQhf4cSYEeaKZJ_pGfaSiA" name="Software Engineer" desciption="An engineer interested in software development" concerns="_HQhf4sSYEeaKZJ_pGfaSiA _HQhf48SYEeaKZJ_pGfaSiA _HQhf5MSYEeaKZJ_pGfaSiA"/> + <stakeholders xmi:id="_IigrMMSjEeaCPPhpB0_9OQ" name="Domain Architect" concerns="_NxfRgMSjEeaCPPhpB0_9OQ"/> + <concerns xmi:id="_NxfRgMSjEeaCPPhpB0_9OQ" name="Profiles" desciption="The concern of defining the domain profiles"/> + <concerns xmi:id="_HQhf4sSYEeaKZJ_pGfaSiA" name="Use Cases" desciption="The concern of defining the system's use cases"/> + <concerns xmi:id="_HQhf48SYEeaKZJ_pGfaSiA" name="Structure" desciption="The concern of developing the system's structure"/> + <concerns xmi:id="_HQhf5MSYEeaKZJ_pGfaSiA" name="Behavior" desciption="The concern of developing the system's behavior"/> + <contexts xsi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_HQhf5cSYEeaKZJ_pGfaSiA" name="UML" desciption="The Unified Modeling Language" id="org.eclipse.papyrus.infra.services.edit.TypeContext" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/uml.gif" creationCommandClass="org.eclipse.papyrus.uml.diagram.common.commands.CreateUMLModelCommand"> + <viewpoints xmi:id="_HQhf5sSYEeaKZJ_pGfaSiA" name="Software Analysis" desciption="A viewpoint allowing software analysis with UML" representationKinds="_yeY0sHDvEeWh-MssWmCB_A _zzf4gHDtEeWh-MssWmCB_A _zzf4cXDtEeWh-MssWmCB_A _Uz8agHDuEeWh-MssWmCB_A _WC1q0P4UEeSRsNBVzfUrzA _wXztQHDwEeWh-MssWmCB_A _P3J1cEr7EeSVGbM3cmVSqQ _P3J1cEr7EeSVGbM3cmVSqQ _P3J1cEr7EeRVGbM3cmVSqQ" id="org.eclipse.papyrus.uml.analysis"/> + <viewpoints xmi:id="_OOrIUMSZEeaKZJ_pGfaSiA" name="Software Design" desciption="A viewpoint allowing software design with UML" 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 _P3J1cEr7EeSVGbM3cmVSqQ _Uz8agHDuEeWh-MssWmCB_A _P3J1cEr7EeRVGbM3cmVSqQ _wXztQHDwEeWh-MssWmCB_A _WC1q0P4UEeSRsNBVzfUrzA _P3J1cEr7EeSVGbM3cmVSqQ _P3J1cEr7EeSVGbM3cmVSqQ" id="org.eclipse.papyrus.uml.design"/> + <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"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.nattable/model/nattable-tablecontents.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.nattable/model/nattable-tablecontext.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.nattable.common/model/nattable-common.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.services.controlmode/model/controlmode.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.services.edit/model/marker.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.types.rulebased/model/rulebased.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.activity/model/activityDiagram.elementtypesconfigurations#_x8G0YGaNEeSyJIsxLao1Pw"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.communication/model/communicationdiagram-uml.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.composite/model/compositediagram.elementtypesconfigurations#_tL86sLazEeSbnofizoRSMQ"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.interactionoverview/model/interactionOverviewDiagram.elementtypesconfigurations#_x8G0YGaNEeSyJIsxLao1Pw"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.sequence/model/sequencediagram-uml.elementtypesconfigurations#_BJMa0PyeEeWbo9Y7g2MLdw"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.statemachine/model/stateMachineDiagram.elementtypesconfigurations#_wYwtMMeDEeSwP_9Vn5UnWg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.stereotype.edition/model/stereotype-edit.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.timing/model/timingdiagram-uml.elementtypesconfigurations#_BJMa0PyeEeWbo9Y7g2MLdw"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml-containments.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/StandardProfile.elementtypesconfigurations#_jfoLkGT_EeSEqNuV3JpFCA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types.ui/model/uml-advice.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_UzcgsHDtEeWh-MssWmCB_A" name="Activity Diagram" concerns="_HQhf5MSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.activity/icons/obj16/Diagram_Activity.gif" implementationID="PapyrusUMLActivityDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand"> + <modelRules xmi:id="_UzcgsXDtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/> + </modelRules> + <owningRules xmi:id="_UzcgsnDtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/> + </owningRules> + <owningRules xmi:id="_Uzcgs3DtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> + <newModelPath xmi:id="_UzcgtHDtEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/> + </newModelPath> + </owningRules> + <owningRules xmi:id="_UzcgtXDtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> + <newModelPath xmi:id="_UzcgtnDtEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/> + </newModelPath> + </owningRules> + <owningRules xmi:id="_Uzcgt3DtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + <newModelPath xmi:id="_UzcguHDtEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/> + </newModelPath> + </owningRules> + <childRules xmi:id="_UzcguXDtEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_zzf4gHDtEeWh-MssWmCB_A" name="Class Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/icons/obj16/Diagram_Class.gif" implementationID="PapyrusUMLClassDiagram" 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"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_zzf4YHDtEeWh-MssWmCB_A" name="Inner Class Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/icons/obj16/Diagram_Class.gif" implementationID="PapyrusUMLClassDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.clazz.CreateClassDiagramCommand"> + <modelRules xmi:id="_zzf4YXDtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> + </modelRules> + <owningRules xmi:id="_zzf4YnDtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> + </owningRules> + <owningRules xmi:id="_zzf4Y3DtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + <childRules xmi:id="_zzf4ZHDtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> + <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> + <insertionPath xmi:id="_zzf4ZXDtEeWh-MssWmCB_A"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/> + </insertionPath> + </childRules> + <childRules xmi:id="_zzf4ZnDtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/> + <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> + <insertionPath xmi:id="_zzf4Z3DtEeWh-MssWmCB_A"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedComment"/> + </insertionPath> + </childRules> + <paletteRules xmi:id="_zzf4aHDtEeWh-MssWmCB_A" element="clazz.tool.class"/> + <paletteRules xmi:id="_zzf4aXDtEeWh-MssWmCB_A" element="clazz.tool.comment"/> + <paletteRules xmi:id="_zzf4anDtEeWh-MssWmCB_A" element="clazz.tool.interface"/> + <paletteRules xmi:id="_zzf4a3DtEeWh-MssWmCB_A" element="clazz.tool.abstraction"/> + <paletteRules xmi:id="_zzf4bHDtEeWh-MssWmCB_A" element="clazz.tool.association"/> + <paletteRules xmi:id="_zzf4bXDtEeWh-MssWmCB_A" element="clazz.tool.generalization"/> + <paletteRules xmi:id="_zzf4bnDtEeWh-MssWmCB_A" element="clazz.tool.generalizationset"/> + <paletteRules xmi:id="_zzf4b3DtEeWh-MssWmCB_A" permit="false" element="clazz.tool.*"/> + <paletteRules xmi:id="_zzf4cHDtEeWh-MssWmCB_A" element=""/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_zzf4cXDtEeWh-MssWmCB_A" name="Package Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/icons/Diagram_Package.gif" implementationID="PapyrusUMLClassDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.clazz.CreateClassDiagramCommand"> + <modelRules xmi:id="_zzf4cnDtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </modelRules> + <owningRules xmi:id="_zzf4c3DtEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + <childRules xmi:id="_zzf4dHDtEeWh-MssWmCB_A"/> + <paletteRules xmi:id="_zzf4dXDtEeWh-MssWmCB_A" element="clazz.tool.comment"/> + <paletteRules xmi:id="_zzf4dnDtEeWh-MssWmCB_A" element="clazz.tool.constraint"/> + <paletteRules xmi:id="_zzf4d3DtEeWh-MssWmCB_A" element="clazz.tool.model"/> + <paletteRules xmi:id="_zzf4eHDtEeWh-MssWmCB_A" element="clazz.tool.package"/> + <paletteRules xmi:id="_zzf4eXDtEeWh-MssWmCB_A" element="clazz.tool.abstraction"/> + <paletteRules xmi:id="_zzf4enDtEeWh-MssWmCB_A" element="clazz.tool.dependency"/> + <paletteRules xmi:id="_zzf4e3DtEeWh-MssWmCB_A" element="clazz.tool.packageimport"/> + <paletteRules xmi:id="_zzf4fHDtEeWh-MssWmCB_A" element="clazz.tool.link"/> + <paletteRules xmi:id="_zzf4fXDtEeWh-MssWmCB_A" element="clazz.tool.containmentlink"/> + <paletteRules xmi:id="_zzf4fnDtEeWh-MssWmCB_A" permit="false" element="clazz.tool.*"/> + <paletteRules xmi:id="_zzf4f3DtEeWh-MssWmCB_A" element=""/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_jRtroHDuEeWh-MssWmCB_A" name="Communication Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.communication/icons/obj16/Diagram_Communication.gif" implementationID="PapyrusUMLCommunicationDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.communication.CreateCommunicationDiagramCommand"> + <modelRules xmi:id="_jRtroXDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Interaction"/> + </modelRules> + <owningRules xmi:id="_jRtronDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Interaction"/> + </owningRules> + <owningRules xmi:id="_jRtro3DuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> + <newModelPath xmi:id="_jRtrpHDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/> + </newModelPath> + </owningRules> + <owningRules xmi:id="_jRtrpXDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> + <newModelPath xmi:id="_jRtrpnDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/> + </newModelPath> + </owningRules> + <owningRules xmi:id="_jRtrp3DuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + <newModelPath xmi:id="_jRtrqHDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/> + </newModelPath> + </owningRules> + <childRules xmi:id="_jRtrqXDuEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_fa4kAHDuEeWh-MssWmCB_A" name="Component Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.component/icons/obj16/ComponentDiagram.gif" implementationID="PapyrusUMLComponentDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.component.CreateComponentDiagramCommand"> + <modelRules xmi:id="_fa4kAXDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </modelRules> + <owningRules xmi:id="_fa4kAnDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + <childRules xmi:id="_fa4kA3DuEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_fa4kBHDuEeWh-MssWmCB_A" name="Component Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.component/icons/obj16/ComponentDiagram.gif" implementationID="PapyrusUMLComponentDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.component.CreateComponentDiagramCommand"> + <modelRules xmi:id="_fa4kBXDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/> + </modelRules> + <owningRules xmi:id="_fa4kBnDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/> + </owningRules> + <owningRules xmi:id="_fa4kB3DuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + <childRules xmi:id="_fa4kCHDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> + <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/> + <insertionPath xmi:id="_fa4kCXDuEeWh-MssWmCB_A"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/> + </insertionPath> + </childRules> + <childRules xmi:id="_fa4kCnDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/> + <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/> + <insertionPath xmi:id="_fa4kC3DuEeWh-MssWmCB_A"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedComment"/> + </insertionPath> + </childRules> + <childRules xmi:id="_fa4kDHDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/> + <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/> + <insertionPath xmi:id="_fa4kDXDuEeWh-MssWmCB_A"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace/ownedRule"/> + </insertionPath> + </childRules> + <childRules xmi:id="_fa4kDnDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/> + <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/> + <insertionPath xmi:id="_fa4kD3DuEeWh-MssWmCB_A"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//EncapsulatedClassifier/ownedPort"/> + </insertionPath> + </childRules> + <paletteRules xmi:id="_fa4kEHDuEeWh-MssWmCB_A" permit="false" element="component.tool.model"/> + <paletteRules xmi:id="_fa4kEXDuEeWh-MssWmCB_A" permit="false" element="component.tool.package"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_bKiwMHDuEeWh-MssWmCB_A" name="Composite Structure Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.composite/icons/obj16/Diagram_CompositeStructure.gif" implementationID="CompositeStructure" creationCommandClass="org.eclipse.papyrus.uml.diagram.composite.CreateCompositeDiagramCommand"> + <modelRules xmi:id="_bKiwMXDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </modelRules> + <owningRules xmi:id="_bKiwMnDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + <childRules xmi:id="_bKiwM3DuEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_bKiwNHDuEeWh-MssWmCB_A" name="Composite Structure Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.composite/icons/obj16/Diagram_CompositeStructure.gif" implementationID="CompositeStructure" creationCommandClass="org.eclipse.papyrus.uml.diagram.composite.CreateCompositeDiagramCommand"> + <modelRules xmi:id="_bKiwNXDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier"/> + </modelRules> + <owningRules xmi:id="_bKiwNnDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier"/> + </owningRules> + <owningRules xmi:id="_bKiwN3DuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + <childRules xmi:id="_bKiwOHDuEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_ARGokHDuEeWh-MssWmCB_A" name="Deployment Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.deployment/icons/obj16/DeploymentDiagram.gif" implementationID="PapyrusUMLDeploymentDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.deployment.CreateDeploymentDiagramCommand"> + <modelRules xmi:id="_ARGokXDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </modelRules> + <owningRules xmi:id="_ARGoknDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + <childRules xmi:id="_ARGok3DuEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_FuMjYHDuEeWh-MssWmCB_A" name="Interaction Overview Diagram" concerns="_HQhf5MSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.interactionoverview/icons/obj16/interactionOverviewDiagram.gif" implementationID="PapyrusUMLInteractionOverviewDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.interactionoverview.InteractionOverviewDiagramCreateCommand"> + <modelRules xmi:id="_FuMjYXDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/> + </modelRules> + <owningRules xmi:id="_FuMjYnDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/> + </owningRules> + <owningRules xmi:id="_FuMjY3DuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> + <newModelPath xmi:id="_FuMjZHDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/> + </newModelPath> + </owningRules> + <owningRules xmi:id="_FuMjZXDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> + <newModelPath xmi:id="_FuMjZnDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/> + </newModelPath> + </owningRules> + <owningRules xmi:id="_FuMjZ3DuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + <newModelPath xmi:id="_FuMjaHDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/> + </newModelPath> + </owningRules> + <childRules xmi:id="_FuMjaXDuEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_UekVgHDwEeWh-MssWmCB_A" name="Profile Diagram" concerns="_NxfRgMSjEeaCPPhpB0_9OQ" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.profile/icons/obj16/Diagram_Profile.gif" implementationID="PapyrusUMLProfileDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.profile.CreateProfileDiagramCommand"> + <modelRules xmi:id="_UekVgXDwEeWh-MssWmCB_A"> + <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_UekVgnDwEeWh-MssWmCB_A" name="IsContainedByProfile"> + <constraintType href="platform:/plugin/org.eclipse.papyrus.infra.constraints/Model/ConstraintEnvironment.xmi#//@constraintTypes.4"/> + <properties xsi:type="constraints:ValueProperty" xmi:id="_UekVg3DwEeWh-MssWmCB_A" name="className" value="org.eclipse.papyrus.infra.viewpoints.policy.query.IsContainedByProfileQuery"/> + </constraints> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </modelRules> + <owningRules xmi:id="_UekVhHDwEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + <owningRules xmi:id="_UekVhXDwEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Profile"/> + </owningRules> + <childRules xmi:id="_UekVhnDwEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_TR15IHDvEeWh-MssWmCB_A" name="Sequence Diagram" concerns="_HQhf5MSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.sequence/icons/obj16/Diagram_Sequence.gif" implementationID="PapyrusUMLSequenceDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.sequence.CreateSequenceDiagramCommand"> + <modelRules xmi:id="_TR15IXDvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Interaction"/> + </modelRules> + <owningRules xmi:id="_TR15InDvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Interaction"/> + </owningRules> + <owningRules xmi:id="_TR15I3DvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> + <newModelPath xmi:id="_TR15JHDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/> + </newModelPath> + </owningRules> + <owningRules xmi:id="_TR15JXDvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/> + <newModelPath xmi:id="_TR15JnDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/> + </newModelPath> + </owningRules> + <owningRules xmi:id="_TR15J3DvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + <newModelPath xmi:id="_TR15KHDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/> + </newModelPath> + </owningRules> + <owningRules xmi:id="_TR15KXDvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//UseCase"/> + <newModelPath xmi:id="_TR15KnDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction"> + <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/> + </newModelPath> + </owningRules> + <childRules xmi:id="_TR15K3DvEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_PwD0cHDvEeWh-MssWmCB_A" name="State Machine Diagram" concerns="_HQhf5MSYEeaKZJ_pGfaSiA" 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"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_LzyMIHDvEeWh-MssWmCB_A" name="Timing Diagram" concerns="_HQhf5MSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.timing/icons/obj16/Diagram_Timing.gif" implementationID="PapyrusUMLTimingDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.timing.custom.CreateTimingDiagramCommand"> + <modelRules xmi:id="_LzyMIXDvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </modelRules> + <owningRules xmi:id="_LzyMInDvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + <childRules xmi:id="_LzyMI3DvEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_yeY0sHDvEeWh-MssWmCB_A" name="Use Case Diagram" concerns="_HQhf4sSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.usecase/icons/obj16/Diagram_UseCase.gif" implementationID="UseCase" customStyle="platform:/plugin/org.eclipse.papyrus.uml.diagram.usecase/models/usecase.css" creationCommandClass="org.eclipse.papyrus.uml.diagram.usecase.CreateUseCaseDiagramCommand"> + <modelRules xmi:id="_yeY0sXDvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </modelRules> + <modelRules xmi:id="_yeY0snDvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> + </modelRules> + <owningRules xmi:id="_yeY0s3DvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + <owningRules xmi:id="_yeY0tHDvEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/> + </owningRules> + <childRules xmi:id="_yeY0tXDvEeWh-MssWmCB_A"/> + </representationKinds> + <representationKinds xsi:type="nattablerepresentation:PapyrusSyncTable" xmi:id="_P3J1cEr7EeSVGbM3cmVSqQ" name="Generic Tree Table" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.nattable/icons/uml_generic_table.png" implementationID="PapyrusUMLGenericTreeTable"> + <modelRules xmi:id="_vZwgkEr7EeSVGbM3cmVSqQ"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> + </modelRules> + <owningRules xmi:id="_vZwgkUr7EeSVGbM3cmVSqQ"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> + </owningRules> + </representationKinds> + <representationKinds xsi:type="nattablerepresentation:PapyrusSyncTable" xmi:id="_P3J1cEr7EeRVGbM3cmVSqQ" name="Class Tree Table" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/icons/uml_generic_table.png" implementationID="PapyrusClassTreeTable"> + <modelRules xmi:id="_vZwgkEr7EeSVGbM3cmVSqQ"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </modelRules> + <owningRules xmi:id="_vZwgkUr7EeSVGbM3cmVSqQ"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/> + </owningRules> + </representationKinds> + <representationKinds xsi:type="nattablerepresentation:PapyrusSyncTable" xmi:id="_Uz8agHDuEeWh-MssWmCB_A" name="Generic Table" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/icons/uml_generic_table.png" implementationID="PapyrusGenericTable"> + <modelRules xmi:id="_Uz8agXDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> + </modelRules> + <owningRules xmi:id="_Uz8agnDuEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> + </owningRules> + </representationKinds> + <representationKinds xsi:type="nattablerepresentation:PapyrusSyncTable" xmi:id="_WC1q0P4UEeSRsNBVzfUrzA" name="Stereotype Display Tree Table" concerns="_NxfRgMSjEeaCPPhpB0_9OQ" icon="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/icons/uml_generic_table.png" implementationID="PapyrusStereotypeDisplayTreeTable"> + <modelRules xmi:id="_7k79wP4VEeSRsNBVzfUrzA"> + <element href="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View"/> + </modelRules> + <owningRules xmi:id="_AJmbwP4WEeSRsNBVzfUrzA"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/> + </owningRules> + </representationKinds> + <representationKinds xsi:type="nattablerepresentation:PapyrusSyncTable" xmi:id="_wXztQHDwEeWh-MssWmCB_A" name="View Table" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.infra.nattable.views.config/icons/nattablepageeditor.png" implementationID="PapyrusViewsTable"> + <modelRules xmi:id="_wXztQXDwEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> + </modelRules> + <owningRules xmi:id="_wXztQnDwEeWh-MssWmCB_A"> + <element href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/> + </owningRules> + </representationKinds> + <metamodel href="http://www.eclipse.org/uml2/5.0.0/UML#/"/> + </contexts> + <contexts xsi:type="architecture:ArchitectureFramework" xmi:id="__ZqwAMSlEeaCPPhpB0_9OQ" name="Profile" desciption="The Profile Definition Framework" id="org.eclipse.papyrus.uml.architecture.Profile" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/profile.gif" extensionPrefix="profile" creationCommandClass="org.eclipse.papyrus.uml.diagram.profile.CreateProfileModelCommand"> + <viewpoints xmi:id="_hoXx0MSiEeaKZJ_pGfaSiA" name="Profile Definition" desciption="A viewpoint allowing profile definition with UML" representationKinds="_UekVgHDwEeWh-MssWmCB_A _zzf4gHDtEeWh-MssWmCB_A" id="org.eclipse.papyrus.uml.profile.definition"/> + <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"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.services.controlmode/model/controlmode.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.services.edit/model/marker.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.types.rulebased/model/rulebased.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.stereotype.edition/model/stereotype-edit.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml-containments.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/StandardProfile.elementtypesconfigurations#_jfoLkGT_EeSEqNuV3JpFCA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types.ui/model/uml-advice.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/> + </contexts> +</architecture:ArchitectureDomain> diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.properties b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.properties new file mode 100644 index 00000000000..ac94a7f7681 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.properties @@ -0,0 +1,14 @@ +# Copyright (c) 2017 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: +# Maged Elaasar - Initial API and implementation +# +# + +pluginName = UML Architecture +providerName=Eclipse Modeling Project diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.xml b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.xml new file mode 100644 index 00000000000..1be64e8b3e9 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.xml @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<plugin> + + <extension + point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings"> + <clientContext + id="org.eclipse.papyrus.uml.architecture.Profile"> + <matcher + class="org.eclipse.papyrus.uml.architecture.internal.NoContextEnablementMatcher"> + </matcher> + </clientContext> + <binding context="org.eclipse.papyrus.uml.architecture.Profile"> + <!-- ElementType that deals with View deletion when their related model element is deleted --> + <elementType ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/> + <elementType ref="org.eclipse.gmf.runtime.diagram.core.advice.removeBookmarks"/> + <!-- Check for attempts to edit read-only objects that cannot reasonably be made writeable. --> + <advice ref="org.eclipse.papyrus.infra.emf.readOnlyAdvice" /> + <!-- Delete markers attached to objects being deleted. --> + </binding> + </extension> + + <extension point="org.eclipse.papyrus.infra.architecture.models"> + <model path="model/uml.architecture"/> + </extension> + + <extension + point="org.eclipse.papyrus.infra.gmfdiag.common.diagramReconciler"> + <diagramReconciler + diagramType="PapyrusUMLActivityDiagram" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="PapyrusUMLClassDiagram" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="PapyrusUMLCommunicationDiagram" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="PapyrusUMLComponentDiagram" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="CompositeStructure" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="PapyrusUMLDeploymentDiagram" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="PapyrusUMLInteractionOverviewDiagram" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="PapyrusUMLProfileDiagram" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="PapyrusUMLSequenceDiagram" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="PapyrusUMLStateMachineDiagram" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="PapyrusUMLTimingDiagram" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + <diagramReconciler + diagramType="UseCase" + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0" + source="1.2.0" + target="1.3.0"> + </diagramReconciler> + </extension> + + <extension + point="org.eclipse.papyrus.infra.nattable.common.tableReconciler"> + <tableReconciler + reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLTableReconciler_1_3_0" + source="1.0.0" + target="1.3.0"> + </tableReconciler> + </extension> + +</plugin> + diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/pom.xml b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/pom.xml new file mode 100644 index 00000000000..b0958eef33b --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/pom.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.eclipse.papyrus</groupId> + <artifactId>org.eclipse.papyrus.uml-architecture</artifactId> + <version>0.0.1-SNAPSHOT</version> + </parent> + <artifactId>org.eclipse.papyrus.uml.architecture</artifactId> + <version>1.0.0-SNAPSHOT</version> + <packaging>eclipse-plugin</packaging> +</project>
\ No newline at end of file diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLArchitectureContextIds.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLArchitectureContextIds.java new file mode 100644 index 00000000000..1483f541d9f --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLArchitectureContextIds.java @@ -0,0 +1,31 @@ +/***************************************************************************** + * Copyright (c) 2017 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 ids of UML-related architecture contexts + * + * @since 1.0 + */ +public class UMLArchitectureContextIds { + + /** + * The id of the UML architecture context + */ + public static final String UML = "org.eclipse.papyrus.infra.services.edit.TypeContext"; //$NON-NLS-1$ + + /** + * The id of the Profile architecture context + */ + public static final String Profile = "org.eclipse.papyrus.uml.architecture.Profile"; //$NON-NLS-1$ +} diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/internal/NoContextEnablementMatcher.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/internal/NoContextEnablementMatcher.java new file mode 100644 index 00000000000..0125bb33134 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/internal/NoContextEnablementMatcher.java @@ -0,0 +1,29 @@ +/***************************************************************************** + * Copyright (c) 2017 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: + * + * Maged Elaasar - Initial API and implementation + * + *****************************************************************************/ +package org.eclipse.papyrus.uml.architecture.internal; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher; + +/** + * A no context matcher used to register element type bindings in the extension points + */ +public class NoContextEnablementMatcher implements IElementMatcher { + + @Override + public boolean matches(EObject eObject) { + return false; + } +} diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLDiagramReconciler_1_3_0.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLDiagramReconciler_1_3_0.java new file mode 100644 index 00000000000..a893e60d2d4 --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLDiagramReconciler_1_3_0.java @@ -0,0 +1,101 @@ +/***************************************************************************** + * Copyright (c) 2017 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.migration; + +import org.eclipse.gmf.runtime.notation.Diagram; +import org.eclipse.papyrus.infra.core.architecture.RepresentationKind; +import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureDescriptionLanguage; +import org.eclipse.papyrus.infra.architecture.ArchitectureDomainManager; +import org.eclipse.papyrus.infra.gmfdiag.common.reconciler.DiagramReconciler_1_3_0; +import org.eclipse.papyrus.infra.gmfdiag.representation.PapyrusDiagram; +import org.eclipse.papyrus.infra.viewpoints.style.PapyrusViewStyle; +import org.eclipse.papyrus.uml.architecture.UMLArchitectureContextIds; + +/** + * UML Diagram Reconciler from 1.2.0 to 1.3.0 that switches the old PapyrusViewStyle by + * the new PapyrusDiagramStyle + */ +public class UMLDiagramReconciler_1_3_0 extends DiagramReconciler_1_3_0 { + + private static final String ACTIVITY_DIAGRAM = "PapyrusUMLActivityDiagram"; + private static final String CLASS_DIAGRAM = "PapyrusUMLClassDiagram"; + private static final String COMMUNICATION_DIAGRAM = "PapyrusUMLCommunicationDiagram"; + private static final String COMPONENT_DIAGRAM = "PapyrusUMLComponentDiagram"; + private static final String COMPOSITE_STRUCTURE_DIAGRAM = "CompositeStructure"; + private static final String DEPLOYMENT_DIAGRAM = "PapyrusUMLDeploymentDiagram"; + private static final String INTERACTION_OVERVIEW_DIAGRAM = "PapyrusUMLInteractionOverviewDiagram"; + private static final String PROFILE_DIAGRAM = "PapyrusUMLProfileDiagram"; + private static final String SEQUENCE_DIAGRAM = "PapyrusUMLSequenceDiagram"; + private static final String STATE_MACHINE_DIAGRAM = "PapyrusUMLStateMachineDiagram"; + private static final String TIMING_DIAGRAM = "PapyrusUMLTimingDiagram"; + private static final String USE_CASE_DIAGRAM = "UseCase"; + + /** + * @see org.eclipse.papyrus.infra.gmfdiag.common.reconciler.DiagramReconciler_1_3_0#getPapyrusDiagram(org.eclipse.papyrus.infra.viewpoints.style.PapyrusViewStyle) + * + * @param oldStyle + * @return + */ + @Override + protected PapyrusDiagram getDiagramKind(Diagram diagram, PapyrusViewStyle oldStyle) { + if (oldStyle != null) { + org.eclipse.papyrus.infra.viewpoints.configuration.PapyrusDiagram oldDiagramKind = + (org.eclipse.papyrus.infra.viewpoints.configuration.PapyrusDiagram) oldStyle.getConfiguration(); + if (oldDiagramKind != null) + return getDiagramKind(oldDiagramKind.getName(), diagram); + } + if (ACTIVITY_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Activity Diagram", diagram); + } else if (CLASS_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Class Diagram", diagram); + } else if (COMMUNICATION_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Communication Diagram", diagram); + } else if (COMPONENT_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Component Diagram", diagram); + } else if (COMPOSITE_STRUCTURE_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Composite Structure Diagram", diagram); + } else if (DEPLOYMENT_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Deployment Diagram", diagram); + } else if (INTERACTION_OVERVIEW_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Interaction Overview Diagram", diagram); + } else if (PROFILE_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Profile Diagram", diagram); + } else if (SEQUENCE_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Sequence Diagram", diagram); + } else if (STATE_MACHINE_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("State Machine Diagram", diagram); + } else if (TIMING_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Timing Diagram", diagram); + } else if (USE_CASE_DIAGRAM.equals(diagram.getType())) { + return getDiagramKind("Use Case Diagram", diagram); + } + return null; + } + + /** + * Gets the diagram kind that matches given name and that supports the given diagram + */ + protected PapyrusDiagram getDiagramKind(String name, Diagram diagram) { + ArchitectureDomainManager manager = ArchitectureDomainManager.getInstance(); + MergedArchitectureDescriptionLanguage context = (MergedArchitectureDescriptionLanguage) manager.getArchitectureContextById(UMLArchitectureContextIds.UML); + for(RepresentationKind pKind : context.getRepresentationKinds()) { + if (pKind.getName().equals(name)) { + PapyrusDiagram dKind = (PapyrusDiagram) pKind; + if (dKind.getModelRules().get(0).getElement().isInstance(diagram.getElement())) { + return dKind; + } + } + } + return null; + } +} diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLTableReconciler_1_3_0.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLTableReconciler_1_3_0.java new file mode 100644 index 00000000000..591b999edbd --- /dev/null +++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLTableReconciler_1_3_0.java @@ -0,0 +1,127 @@ +/***************************************************************************** + * Copyright (c) 2017 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.migration; + +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.gmf.runtime.common.core.command.AbstractCommand; +import org.eclipse.gmf.runtime.common.core.command.CommandResult; +import org.eclipse.gmf.runtime.common.core.command.ICommand; +import org.eclipse.papyrus.infra.core.architecture.RepresentationKind; +import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureDescriptionLanguage; +import org.eclipse.papyrus.infra.nattable.representation.PapyrusSyncTable; +import org.eclipse.papyrus.infra.architecture.ArchitectureDomainManager; +import org.eclipse.papyrus.infra.nattable.common.reconciler.TableReconciler; +import org.eclipse.papyrus.infra.nattable.model.nattable.Table; +import org.eclipse.papyrus.uml.architecture.UMLArchitectureContextIds; + +/** + * UML Table Reconciler from 1.0.0 to 1.3.0 that replaces the old prototype value for tables + * with ones based on table kinds + */ +public class UMLTableReconciler_1_3_0 extends TableReconciler { + + private static final String VIEW_TABLE = "View Table"; + private static final String GENERIC_TREE_TABLE = "Generic Tree Table"; + private static final String CLASS_TREE_TABLE = "ClassTreeTable"; + private static final String GENERIC_TABLE = "Generic Table"; + private static final String STEREO_DISPLAY_TREE_TABLE = "StereotypeDisplayTreeTable"; + + @Override + public ICommand getReconcileCommand(Table table) { + if (table.getPrototype() instanceof org.eclipse.papyrus.infra.viewpoints.configuration.PapyrusView) { + org.eclipse.papyrus.infra.viewpoints.configuration.PapyrusView oldTableKind = + (org.eclipse.papyrus.infra.viewpoints.configuration.PapyrusView) table.getPrototype(); + + RepresentationKind newTableKind = null; + if (oldTableKind != null) { + if (VIEW_TABLE.equals(oldTableKind.getName())) { + newTableKind = getSyncTableKind(oldTableKind.getName(), table); + } else if (GENERIC_TREE_TABLE.equals(oldTableKind.getName())) { + newTableKind = getSyncTableKind(oldTableKind.getName(), table); + } else if (CLASS_TREE_TABLE.equals(oldTableKind.getName())) { + newTableKind = getSyncTableKind("Class Tree Table", table); + } else if (GENERIC_TABLE.equals(oldTableKind.getName())) { + newTableKind = getSyncTableKind(oldTableKind.getName(), table); + } else if (STEREO_DISPLAY_TREE_TABLE.equals(oldTableKind.getName())) { + newTableKind = getSyncTableKind("Stereotype Display Tree Table", table); + } else if (oldTableKind.getName() == null) { + newTableKind = getSyncTableKind(GENERIC_TABLE, table); + } + }; + + if (newTableKind != null) + return new ReplaceTablePrototypeCommand(table, newTableKind); + } + return null; + } + + /** + * Get a sync table that matches the given name and that supports the given table + */ + protected PapyrusSyncTable getSyncTableKind(String name, Table table) { + ArchitectureDomainManager manager = ArchitectureDomainManager.getInstance(); + MergedArchitectureDescriptionLanguage context = (MergedArchitectureDescriptionLanguage) manager.getArchitectureContextById(UMLArchitectureContextIds.UML); + for(RepresentationKind pKind : context.getRepresentationKinds()) { + if (pKind.getName().equals(name)) { + PapyrusSyncTable tKind = (PapyrusSyncTable) pKind; + if (tKind.getModelRules().get(0).getElement().isInstance(table.getContext())) { + return tKind; + } + } + } + return null; + } + + /** + * A command to replace the old table prototype with the new representation kinds + */ + protected class ReplaceTablePrototypeCommand extends AbstractCommand { + + private Table table; + private RepresentationKind newKind; + + public ReplaceTablePrototypeCommand(Table table, RepresentationKind newKind) { + super("Replace the papyrus view style from 1.0.0 to 1.3.0"); + this.table = table; + this.newKind = newKind; + } + + @Override + protected CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException { + table.setPrototype(newKind); + return CommandResult.newOKCommandResult(); + } + + @Override + public boolean canUndo() { + return false; + } + + @Override + public boolean canRedo() { + return false; + } + + @Override + protected CommandResult doRedoWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException { + throw new ExecutionException("Should not be called, canRedo false"); //$NON-NLS-1$ + } + + @Override + protected CommandResult doUndoWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException { + throw new ExecutionException("Should not be called, canUndo false"); //$NON-NLS-1$ + } + } +} |