diff options
author | Francois Le Fevre - CEA | 2015-11-17 14:30:09 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2015-12-02 07:26:41 +0000 |
commit | 374529d4f9cc8ab036d4b4e2303f748663b96547 (patch) | |
tree | b341aa7b26bff4cff09faf40dc6f9bdf2b2207b3 | |
parent | 8137ca9d0ca797676d25a180746674e686d78eec (diff) | |
download | org.eclipse.papyrus-sysml-374529d4f9cc8ab036d4b4e2303f748663b96547.tar.gz org.eclipse.papyrus-sysml-374529d4f9cc8ab036d4b4e2303f748663b96547.tar.xz org.eclipse.papyrus-sysml-374529d4f9cc8ab036d4b4e2303f748663b96547.zip |
Bug 479327 [Sysml 1.4] add a customization to display modelExplorer as
IBD
-adding a custom facet for OperationalSysML.custom
-with a basic junit (model not valid)
-with a rcp test
Change-Id: I2c4211575f5c03b7a883e541979e7d27856ae158
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=482360
Signed-off-by: Francois Le Fevre - CEA <francois.le-fevre@cea.fr>
11 files changed, 795 insertions, 16 deletions
diff --git a/gui/org.eclipse.papyrus.sysml14.ui.tests/test/org/eclipse/papyrus/sysml14/ui/tests/resources/CustomModelExplorerTest.java b/gui/org.eclipse.papyrus.sysml14.ui.tests/test/org/eclipse/papyrus/sysml14/ui/tests/resources/CustomModelExplorerTest.java new file mode 100644 index 00000000..785c3ac8 --- /dev/null +++ b/gui/org.eclipse.papyrus.sysml14.ui.tests/test/org/eclipse/papyrus/sysml14/ui/tests/resources/CustomModelExplorerTest.java @@ -0,0 +1,55 @@ +/***************************************************************************** + * Copyright (c) 2015 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: + * Francois Le Fevre (CEA LIST) francois.le-fevre@cea.fr - Initial API and implementation + * + *****************************************************************************/ + +package org.eclipse.papyrus.sysml14.ui.tests.resources; + +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.eclipse.papyrus.infra.elementtypesconfigurations.registries.ElementTypeSetConfigurationRegistry; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Ignore; +import org.junit.Test; + +/** + * Test the custom Model explorer model : + * - validate the model + * + * @author Francois Le Fevre + */ +public class CustomModelExplorerTest { + + public static final String CUSTOM_MODEL_EXPLORER_PATH = "org.eclipse.papyrus.sysml14.ui/resources/custom/OperationalSysML.custom"; //$NON-NLS-1$ + + @BeforeClass + public static void loadElementTypeSet(){ + ElementTypeSetConfigurationRegistry.getInstance(); + } + + /** + * Validate the model with the rules defined in the meta-model tooling + */ + @Test + @Ignore //Model seems not to be valid due to the use of two classifier with the same name and a missing proxy toresolve a metamodel. + public void useValidation() { + URI createPlatformPluginURI = URI.createPlatformPluginURI(CUSTOM_MODEL_EXPLORER_PATH, true); + Resource resource = new ResourceSetImpl().getResource(createPlatformPluginURI, true); + Diagnostic diagnostic = Diagnostician.INSTANCE.validate(resource.getContents().get(0)); + Assert.assertEquals("The custom model explorer Model is not valid "+CUSTOM_MODEL_EXPLORER_PATH, Diagnostic.OK, diagnostic.getSeverity()); + } + + +} diff --git a/gui/org.eclipse.papyrus.sysml14.ui/META-INF/MANIFEST.MF b/gui/org.eclipse.papyrus.sysml14.ui/META-INF/MANIFEST.MF index c6143b73..00667a70 100644 --- a/gui/org.eclipse.papyrus.sysml14.ui/META-INF/MANIFEST.MF +++ b/gui/org.eclipse.papyrus.sysml14.ui/META-INF/MANIFEST.MF @@ -9,31 +9,33 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.uml2.uml;bundle-version="5.1.0", org.eclipse.gef;bundle-version="3.10.0", + org.eclipse.papyrus.customization.properties.model.xwt;bundle-version="1.1.0", + org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="1.1.0", + org.eclipse.papyrus.emf.facet.custom.ui;bundle-version="1.1.0", + org.eclipse.papyrus.emf.facet.query.java.core;bundle-version="1.1.0", org.eclipse.papyrus.uml.diagram.common;bundle-version="1.1.0", + org.eclipse.papyrus.uml.diagram.wizards;bundle-version="1.1.0", + org.eclipse.papyrus.uml.filters;bundle-version="1.1.0", + org.eclipse.papyrus.uml.modelexplorer;bundle-version="1.1.0", + org.eclipse.papyrus.uml.properties;bundle-version="1.1.0", + org.eclipse.papyrus.uml.templaterepository;bundle-version="1.1.0", org.eclipse.papyrus.uml.tools;bundle-version="1.1.0", org.eclipse.papyrus.uml.tools.utils;bundle-version="1.1.0", org.eclipse.papyrus.infra.core;bundle-version="1.1.0", - org.eclipse.papyrus.infra.constraints;bundle-version="1.1.0", - org.eclipse.papyrus.uml.properties;bundle-version="1.1.0", - org.eclipse.papyrus.infra.newchild;bundle-version="1.1.0", - org.eclipse.papyrus.uml.templaterepository;bundle-version="1.1.0", - org.eclipse.papyrus.uml.diagram.wizards;bundle-version="1.1.0", org.eclipse.papyrus.infra.core.log;bundle-version="1.1.0", + org.eclipse.papyrus.infra.constraints;bundle-version="1.1.0", org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="1.1.0", org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.1.0", + org.eclipse.papyrus.infra.newchild;bundle-version="1.1.0", org.eclipse.papyrus.infra.services.edit;bundle-version="1.1.0", - org.eclipse.papyrus.emf.facet.query.java.core;bundle-version="1.1.0", - org.eclipse.papyrus.customization.properties.model.xwt;bundle-version="1.1.0", - org.eclipse.papyrus.uml.modelexplorer;bundle-version="1.1.0", - org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="1.1.0", - org.eclipse.papyrus.emf.facet.custom.ui;bundle-version="1.1.0", + org.eclipse.papyrus.views.modelexplorer;bundle-version="1.1.0", org.eclipse.papyrus.views.properties;bundle-version="1.1.0", - org.eclipse.papyrus.sysml14;bundle-version="0.8.0", - org.eclipse.papyrus.uml.filters;bundle-version="1.1.0" + org.eclipse.papyrus.sysml14;bundle-version="0.8.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Export-Package: org.eclipse.papyrus.sysml14.ui, org.eclipse.papyrus.sysml14.ui.constraints, org.eclipse.papyrus.sysml14.ui.paste, + org.eclipse.papyrus.sysml14.ui.queries.property, org.eclipse.papyrus.sysml14.ui.template Bundle-ActivationPolicy: lazy Bundle-Localization: plugin diff --git a/gui/org.eclipse.papyrus.sysml14.ui/plugin.xml b/gui/org.eclipse.papyrus.sysml14.ui/plugin.xml index 3eac63bc..cd9876de 100644 --- a/gui/org.eclipse.papyrus.sysml14.ui/plugin.xml +++ b/gui/org.eclipse.papyrus.sysml14.ui/plugin.xml @@ -12,7 +12,10 @@ Benoit Maggi (CEA LIST) benoit.maggi@cea.fr - Initial API and implementation --> -<plugin> +<plugin> + <extension point="org.eclipse.papyrus.emf.facet.util.emf.core.modeldeclaration"> + <modeldeclaration file="resources/custom/OperationalSysML.custom"/> +</extension> <extension point="org.eclipse.papyrus.uml.extensionpoints.UMLProfile"> @@ -93,9 +96,9 @@ </extension> <extension point="org.eclipse.papyrus.infra.gmfdiag.common.pasteStrategy"> - <strategy + <strategy strategy="org.eclipse.papyrus.sysml14.ui.paste.PartPasteStrategy"> - </strategy> - </extension> + </strategy> + </extension> </plugin> diff --git a/gui/org.eclipse.papyrus.sysml14.ui/resources/custom/OperationalSysML.custom b/gui/org.eclipse.papyrus.sysml14.ui/resources/custom/OperationalSysML.custom new file mode 100644 index 00000000..ca04c09b --- /dev/null +++ b/gui/org.eclipse.papyrus.sysml14.ui/resources/custom/OperationalSysML.custom @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<custom:Customization xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:custom="http://www.eclipse.org/papyrus/emf/facet/custom/0.2.incubation/custom" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:efacet="http://www.eclipse.org/papyrus/emf/facet/efacet/0.2.incubation/efacet" xmlns:javaQuery="http://www.eclipse.org/papyrus/emf/facet/query/java/0.2.incubation/javaquery" xmlns:query="http://www.eclipse.org/papyrus/emf/facet/efacet/0.2.incubation/efacet/query" name="OperationalSysML" documentation="Display contained diagram and their icons"> + <eClassifiers xsi:type="efacet:Facet" name="TypedProperty" documentation="this element represent a typed property that could be displayed as tree" conformanceTypedElement="//TypedProperty/isTypedProperty"> + <extendedMetaclass href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/> + <facetOperations name="isTypedProperty" documentation="test if the property is typed"> + <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + <query xsi:type="javaQuery:JavaQuery" implementationClassName="org.eclipse.papyrus.sysml14.ui.queries.property.IsTypedPropertyJavaQuery"/> + </facetOperations> + </eClassifiers> + <eClassifiers xsi:type="custom:FacetCustomization" name="TypedProperty" documentation="Representation of a typed property"> + <facetElements xsi:type="efacet:FacetReference" name="attributes" upperBound="-1" defaultValueLiteral="" derived="true"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + <query xsi:type="query:OperationCallQuery" operation="//TypedProperty.1/TypedPropertyRefContent"/> + </facetElements> + <facetOperations name="TypedPropertyRefContent" upperBound="-1" documentation="Get the collection of all attributes of a typed property"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + <query xsi:type="javaQuery:JavaQuery" implementationClassName="org.eclipse.papyrus.sysml14.ui.queries.property.GetContainedAttributesJavaQuery"/> + </facetOperations> + <extendedFacets href="platform:/plugin/org.eclipse.papyrus.sysml14.ui/resources/custom/OperationalSysML.custom#//TypedProperty"/> + <customizedFacet href="platform:/plugin/org.eclipse.papyrus.sysml14.ui/resources/custom/OperationalSysML.custom#//TypedProperty"/> + </eClassifiers> +</custom:Customization> diff --git a/gui/org.eclipse.papyrus.sysml14.ui/resources/doc/org.eclipse.papyrus.sysml14.ui.di b/gui/org.eclipse.papyrus.sysml14.ui/resources/doc/org.eclipse.papyrus.sysml14.ui.di new file mode 100644 index 00000000..bf9abab3 --- /dev/null +++ b/gui/org.eclipse.papyrus.sysml14.ui/resources/doc/org.eclipse.papyrus.sysml14.ui.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/> diff --git a/gui/org.eclipse.papyrus.sysml14.ui/resources/doc/org.eclipse.papyrus.sysml14.ui.notation b/gui/org.eclipse.papyrus.sysml14.ui/resources/doc/org.eclipse.papyrus.sysml14.ui.notation new file mode 100644 index 00000000..2aaf7a76 --- /dev/null +++ b/gui/org.eclipse.papyrus.sysml14.ui/resources/doc/org.eclipse.papyrus.sysml14.ui.notation @@ -0,0 +1,253 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI 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" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration"> + <notation:Diagram xmi:id="_OF23gOLIEeSv5dwvZ9NSDw" type="PapyrusUMLClassDiagram" name="Overview" measurementUnit="Pixel"> + <children xmi:type="notation:Shape" xmi:id="_OF3ekOLIEeSv5dwvZ9NSDw" type="2005"> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3ekeLIEeSv5dwvZ9NSDw" type="5020"/> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3ekuLIEeSv5dwvZ9NSDw" type="7009"> + <styles xmi:type="notation:TitleStyle" xmi:id="_OF3ek-LIEeSv5dwvZ9NSDw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OF3elOLIEeSv5dwvZ9NSDw"/> + </children> + <element xmi:type="uml:Model" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfcuLIEeSv5dwvZ9NSDw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OF3eleLIEeSv5dwvZ9NSDw" x="201" y="38"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_OF3eluLIEeSv5dwvZ9NSDw" type="2005"> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3el-LIEeSv5dwvZ9NSDw" type="5020"/> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3emOLIEeSv5dwvZ9NSDw" type="7009"> + <styles xmi:type="notation:TitleStyle" xmi:id="_OF3emeLIEeSv5dwvZ9NSDw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OF3emuLIEeSv5dwvZ9NSDw"/> + </children> + <element xmi:type="uml:Model" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfc-LIEeSv5dwvZ9NSDw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OF3em-LIEeSv5dwvZ9NSDw" x="204" y="173"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_OF3enOLIEeSv5dwvZ9NSDw" type="2005"> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3eneLIEeSv5dwvZ9NSDw" type="5020"/> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3enuLIEeSv5dwvZ9NSDw" type="7009"> + <styles xmi:type="notation:TitleStyle" xmi:id="_OF3en-LIEeSv5dwvZ9NSDw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OF3eoOLIEeSv5dwvZ9NSDw"/> + </children> + <element xmi:type="uml:Model" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfduLIEeSv5dwvZ9NSDw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OF3eoeLIEeSv5dwvZ9NSDw" x="206" y="329"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_OF3eouLIEeSv5dwvZ9NSDw" type="2005"> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3eo-LIEeSv5dwvZ9NSDw" type="5020"/> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3epOLIEeSv5dwvZ9NSDw" type="7009"> + <styles xmi:type="notation:TitleStyle" xmi:id="_OF3epeLIEeSv5dwvZ9NSDw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OF3epuLIEeSv5dwvZ9NSDw"/> + </children> + <element xmi:type="uml:Model" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfeOLIEeSv5dwvZ9NSDw"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OF3ep-LIEeSv5dwvZ9NSDw" x="635" y="324"/> + </children> + <styles xmi:type="notation:DiagramStyle" xmi:id="_OF3eqOLIEeSv5dwvZ9NSDw"/> + <styles xmi:type="style:PapyrusViewStyle" xmi:id="_OF3eqeLIEeSv5dwvZ9NSDw"> + <owner xmi:type="uml:Model" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfcOLIEeSv5dwvZ9NSDw"/> + <configuration xmi:type="configuration:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wLmpNxhEeOqHvRyiN87hA"/> + </styles> + <styles xmi:type="notation:StringValueStyle" xmi:id="_ffusMFCLEeWVDv-g61eepg" name="diagram_compatibility_version" stringValue="1.1.0"/> + <element xmi:type="uml:Model" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfcOLIEeSv5dwvZ9NSDw"/> + <edges xmi:type="notation:Connector" xmi:id="_OF3equLIEeSv5dwvZ9NSDw" type="4006" source="_OF3eluLIEeSv5dwvZ9NSDw" target="_OF3ekOLIEeSv5dwvZ9NSDw"> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3eq-LIEeSv5dwvZ9NSDw" visible="false" type="6014"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_OF3erOLIEeSv5dwvZ9NSDw" y="40"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3ereLIEeSv5dwvZ9NSDw" visible="false" type="6015"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_OF3eruLIEeSv5dwvZ9NSDw" y="60"/> + </children> + <styles xmi:type="notation:FontStyle" xmi:id="_OF3er-LIEeSv5dwvZ9NSDw"/> + <element xmi:type="uml:Abstraction" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfdOLIEeSv5dwvZ9NSDw"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OF3esOLIEeSv5dwvZ9NSDw" points="[-2, -10, 8, 48]$[-27, -45, -17, 13]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OF3eseLIEeSv5dwvZ9NSDw" id="(0.305,0.1)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OF3esuLIEeSv5dwvZ9NSDw" id="(0.27,0.87)"/> + </edges> + <edges xmi:type="notation:Connector" xmi:id="_OF3es-LIEeSv5dwvZ9NSDw" type="4006" source="_OF3enOLIEeSv5dwvZ9NSDw" target="_OF3eluLIEeSv5dwvZ9NSDw"> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3etOLIEeSv5dwvZ9NSDw" visible="false" type="6014"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_OF3eteLIEeSv5dwvZ9NSDw" y="40"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3etuLIEeSv5dwvZ9NSDw" visible="false" type="6015"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_OF3et-LIEeSv5dwvZ9NSDw" y="60"/> + </children> + <styles xmi:type="notation:FontStyle" xmi:id="_OF3euOLIEeSv5dwvZ9NSDw"/> + <element xmi:type="uml:Abstraction" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfd-LIEeSv5dwvZ9NSDw"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OF3eueLIEeSv5dwvZ9NSDw" points="[-9, -16, 0, 67]$[-24, -72, -15, 11]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OF3euuLIEeSv5dwvZ9NSDw" id="(0.27,0.16)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OF3eu-LIEeSv5dwvZ9NSDw" id="(0.235,0.89)"/> + </edges> + <edges xmi:type="notation:Connector" xmi:id="_OF3evOLIEeSv5dwvZ9NSDw" type="4008" source="_OF3eouLIEeSv5dwvZ9NSDw" target="_OF3eluLIEeSv5dwvZ9NSDw"> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3eveLIEeSv5dwvZ9NSDw" visible="false" type="6026"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_OF3evuLIEeSv5dwvZ9NSDw" y="40"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3ev-LIEeSv5dwvZ9NSDw" visible="false" type="6027"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_OF3ewOLIEeSv5dwvZ9NSDw" y="60"/> + </children> + <styles xmi:type="notation:FontStyle" xmi:id="_OF3eweLIEeSv5dwvZ9NSDw"/> + <element xmi:type="uml:Dependency" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfeeLIEeSv5dwvZ9NSDw"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OF3ewuLIEeSv5dwvZ9NSDw" points="[-46, -20, 265, 113]$[-275, -135, 36, -2]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OF3ew-LIEeSv5dwvZ9NSDw" id="(0.0,0.24)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OF3exOLIEeSv5dwvZ9NSDw" id="(1.0,0.65)"/> + </edges> + <edges xmi:type="notation:Connector" xmi:id="_OF3exeLIEeSv5dwvZ9NSDw" type="4008" source="_OF3eouLIEeSv5dwvZ9NSDw" target="_OF3enOLIEeSv5dwvZ9NSDw"> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3exuLIEeSv5dwvZ9NSDw" visible="false" type="6026"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_OF3ex-LIEeSv5dwvZ9NSDw" y="40"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_OF3eyOLIEeSv5dwvZ9NSDw" visible="false" type="6027"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_OF3eyeLIEeSv5dwvZ9NSDw" y="60"/> + </children> + <styles xmi:type="notation:FontStyle" xmi:id="_OF3eyuLIEeSv5dwvZ9NSDw"/> + <element xmi:type="uml:Dependency" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfeuLIEeSv5dwvZ9NSDw"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OF3ey-LIEeSv5dwvZ9NSDw" points="[-40, 1, 262, -12]$[-267, 20, 35, 7]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OF3ezOLIEeSv5dwvZ9NSDw" id="(0.0,0.69)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OF3ezeLIEeSv5dwvZ9NSDw" id="(1.0,0.64)"/> + </edges> + </notation:Diagram> + <css:ModelStyleSheets xmi:id="_MXBlUOc1EeSLdPGe2q9R0g"/> + <notation:Diagram xmi:id="_uc4A8FCLEeWVDv-g61eepg" type="PapyrusUMLClassDiagram" name="UI Requirement Tracability" measurementUnit="Pixel"> + <children xmi:type="notation:Shape" xmi:id="_zPai4FCLEeWVDv-g61eepg" type="StereotypeComment"> + <styles xmi:type="notation:TitleStyle" xmi:id="_zPai4VCLEeWVDv-g61eepg" showTitle="true"/> + <styles xmi:type="notation:EObjectValueStyle" xmi:id="_zPai41CLEeWVDv-g61eepg" name="BASE_ELEMENT"> + <eObjectValue xmi:type="uml:Class" href="platform:/resource/org.eclipse.papyrus-sysml/core/org.eclipse.papyrus.sysml14/doc/omg.sysml.uml#_66Gknzq8EeW79ofuztDyTA"/> + </styles> + <element xsi:nil="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zPai4lCLEeWVDv-g61eepg" x="200"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_nUq-YJNWEeWc3dlpn_2AyA" type="2008"> + <children xmi:type="notation:DecorationNode" xmi:id="_nUtaoJNWEeWc3dlpn_2AyA" type="5029"/> + <children xmi:type="notation:DecorationNode" xmi:id="_nUtaoZNWEeWc3dlpn_2AyA" type="8510"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_nUtaopNWEeWc3dlpn_2AyA" y="5"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_nUvP0JNWEeWc3dlpn_2AyA" type="7017"> + <styles xmi:type="notation:TitleStyle" xmi:id="_nUvP0ZNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_nUvP0pNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_nUvP05NWEeWc3dlpn_2AyA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nUvP1JNWEeWc3dlpn_2AyA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_nUv24JNWEeWc3dlpn_2AyA" type="7018"> + <styles xmi:type="notation:TitleStyle" xmi:id="_nUv24ZNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_nUv24pNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_nUv245NWEeWc3dlpn_2AyA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nUv25JNWEeWc3dlpn_2AyA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_nUv25ZNWEeWc3dlpn_2AyA" type="7019"> + <styles xmi:type="notation:TitleStyle" xmi:id="_nUv25pNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_nUv255NWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_nUv26JNWEeWc3dlpn_2AyA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nUv26ZNWEeWc3dlpn_2AyA"/> + </children> + <element xmi:type="uml:Class" href="platform:/resource/org.eclipse.papyrus.sysml14.core/org.eclipse.papyrus.sysml14/resources/doc/omg.sysml.uml#_66IZyTq8EeW79ofuztDyTA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nUq-YZNWEeWc3dlpn_2AyA" x="469" y="51"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_nVihEJNWEeWc3dlpn_2AyA" type="StereotypeComment"> + <styles xmi:type="notation:TitleStyle" xmi:id="_nVihEZNWEeWc3dlpn_2AyA" showTitle="true"/> + <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nVihE5NWEeWc3dlpn_2AyA" name="BASE_ELEMENT"> + <eObjectValue xmi:type="uml:Class" href="platform:/resource/org.eclipse.papyrus.sysml14.core/org.eclipse.papyrus.sysml14/resources/doc/omg.sysml.uml#_66IZyTq8EeW79ofuztDyTA"/> + </styles> + <element xsi:nil="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nVihEpNWEeWc3dlpn_2AyA" x="200"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_vOpLUJNWEeWc3dlpn_2AyA" type="2008"> + <children xmi:type="notation:DecorationNode" xmi:id="_vOpyYJNWEeWc3dlpn_2AyA" type="5029"/> + <children xmi:type="notation:DecorationNode" xmi:id="_vOpyYZNWEeWc3dlpn_2AyA" type="8510"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_vOpyYpNWEeWc3dlpn_2AyA" y="5"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_vOpyY5NWEeWc3dlpn_2AyA" type="7017"> + <styles xmi:type="notation:TitleStyle" xmi:id="_vOpyZJNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_vOpyZZNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_vOpyZpNWEeWc3dlpn_2AyA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vOpyZ5NWEeWc3dlpn_2AyA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_vOpyaJNWEeWc3dlpn_2AyA" type="7018"> + <styles xmi:type="notation:TitleStyle" xmi:id="_vOpyaZNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_vOpyapNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_vOpya5NWEeWc3dlpn_2AyA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vOpybJNWEeWc3dlpn_2AyA"/> + </children> + <children xmi:type="notation:BasicCompartment" xmi:id="_vOqZcJNWEeWc3dlpn_2AyA" type="7019"> + <styles xmi:type="notation:TitleStyle" xmi:id="_vOqZcZNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:SortingStyle" xmi:id="_vOqZcpNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:FilteringStyle" xmi:id="_vOqZc5NWEeWc3dlpn_2AyA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vOqZdJNWEeWc3dlpn_2AyA"/> + </children> + <element xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.ui.uml#_tZwtUJNWEeWc3dlpn_2AyA"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vOpLUZNWEeWc3dlpn_2AyA" x="565" y="331"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_vOyVQ5NWEeWc3dlpn_2AyA" type="StereotypeComment"> + <styles xmi:type="notation:TitleStyle" xmi:id="_vOyVRJNWEeWc3dlpn_2AyA" showTitle="true"/> + <styles xmi:type="notation:EObjectValueStyle" xmi:id="_vOyVRpNWEeWc3dlpn_2AyA" name="BASE_ELEMENT"> + <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.ui.uml#_tZwtUJNWEeWc3dlpn_2AyA"/> + </styles> + <element xsi:nil="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vOyVRZNWEeWc3dlpn_2AyA" x="200"/> + </children> + <children xmi:type="notation:Shape" xmi:id="_wYxcIJNWEeWc3dlpn_2AyA" type="StereotypeComment"> + <styles xmi:type="notation:TitleStyle" xmi:id="_wYxcIZNWEeWc3dlpn_2AyA" showTitle="true"/> + <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wYxcI5NWEeWc3dlpn_2AyA" name="BASE_ELEMENT"> + <eObjectValue xmi:type="uml:Abstraction" href="org.eclipse.papyrus.sysml14.ui.uml#_taE2YJNWEeWc3dlpn_2AyA"/> + </styles> + <element xsi:nil="true"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wYxcIpNWEeWc3dlpn_2AyA" x="765" y="231"/> + </children> + <styles xmi:type="notation:StringValueStyle" xmi:id="_uc4A8VCLEeWVDv-g61eepg" name="diagram_compatibility_version" stringValue="1.1.0"/> + <styles xmi:type="notation:DiagramStyle" xmi:id="_uc4A8lCLEeWVDv-g61eepg"/> + <styles xmi:type="style:PapyrusViewStyle" xmi:id="_uc4A81CLEeWVDv-g61eepg"> + <owner xmi:type="uml:Model" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfcuLIEeSv5dwvZ9NSDw"/> + </styles> + <element xmi:type="uml:Model" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfcuLIEeSv5dwvZ9NSDw"/> + <edges xmi:type="notation:Connector" xmi:id="_nVjIIJNWEeWc3dlpn_2AyA" type="StereotypeCommentLink" source="_nUq-YJNWEeWc3dlpn_2AyA" target="_nVihEJNWEeWc3dlpn_2AyA"> + <styles xmi:type="notation:FontStyle" xmi:id="_nVjIIZNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:EObjectValueStyle" xmi:id="_nVjIJZNWEeWc3dlpn_2AyA" name="BASE_ELEMENT"> + <eObjectValue xmi:type="uml:Class" href="platform:/resource/org.eclipse.papyrus.sysml14.core/org.eclipse.papyrus.sysml14/resources/doc/omg.sysml.uml#_66IZyTq8EeW79ofuztDyTA"/> + </styles> + <element xsi:nil="true"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nVjIIpNWEeWc3dlpn_2AyA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nVjII5NWEeWc3dlpn_2AyA"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nVjIJJNWEeWc3dlpn_2AyA"/> + </edges> + <edges xmi:type="notation:Connector" xmi:id="_vOyVR5NWEeWc3dlpn_2AyA" type="StereotypeCommentLink" source="_vOpLUJNWEeWc3dlpn_2AyA" target="_vOyVQ5NWEeWc3dlpn_2AyA"> + <styles xmi:type="notation:FontStyle" xmi:id="_vOyVSJNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:EObjectValueStyle" xmi:id="_vOyVTJNWEeWc3dlpn_2AyA" name="BASE_ELEMENT"> + <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.ui.uml#_tZwtUJNWEeWc3dlpn_2AyA"/> + </styles> + <element xsi:nil="true"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vOyVSZNWEeWc3dlpn_2AyA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vOyVSpNWEeWc3dlpn_2AyA"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vOyVS5NWEeWc3dlpn_2AyA"/> + </edges> + <edges xmi:type="notation:Connector" xmi:id="_wYkn0JNWEeWc3dlpn_2AyA" type="4008" source="_vOpLUJNWEeWc3dlpn_2AyA" target="_nUq-YJNWEeWc3dlpn_2AyA"> + <children xmi:type="notation:DecorationNode" xmi:id="_wYlO4JNWEeWc3dlpn_2AyA" type="6026"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_wYlO4ZNWEeWc3dlpn_2AyA" y="40"/> + </children> + <children xmi:type="notation:DecorationNode" xmi:id="_wYlO4pNWEeWc3dlpn_2AyA" type="6027"> + <layoutConstraint xmi:type="notation:Location" xmi:id="_wYlO45NWEeWc3dlpn_2AyA" y="60"/> + </children> + <styles xmi:type="notation:FontStyle" xmi:id="_wYkn0ZNWEeWc3dlpn_2AyA"/> + <element xmi:type="uml:Abstraction" href="org.eclipse.papyrus.sysml14.ui.uml#_taE2YJNWEeWc3dlpn_2AyA"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wYkn0pNWEeWc3dlpn_2AyA" points="[-1, -52, 0, 228]$[0, -228, 1, 52]"/> + </edges> + <edges xmi:type="notation:Connector" xmi:id="_wYxcJJNWEeWc3dlpn_2AyA" type="StereotypeCommentLink" source="_wYkn0JNWEeWc3dlpn_2AyA" target="_wYxcIJNWEeWc3dlpn_2AyA"> + <styles xmi:type="notation:FontStyle" xmi:id="_wYxcJZNWEeWc3dlpn_2AyA"/> + <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wYxcKZNWEeWc3dlpn_2AyA" name="BASE_ELEMENT"> + <eObjectValue xmi:type="uml:Abstraction" href="org.eclipse.papyrus.sysml14.ui.uml#_taE2YJNWEeWc3dlpn_2AyA"/> + </styles> + <element xsi:nil="true"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wYxcJpNWEeWc3dlpn_2AyA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wYxcJ5NWEeWc3dlpn_2AyA"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wYxcKJNWEeWc3dlpn_2AyA"/> + </edges> + </notation:Diagram> + <nattable:Table xmi:id="_b08VgJLDEeW7kqdnK_Tudw" name="UI RequirementTable" currentRowAxisProvider="_b08VhZLDEeW7kqdnK_Tudw" currentColumnAxisProvider="_b08VgZLDEeW7kqdnK_Tudw"> + <context xmi:type="uml:Model" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfcuLIEeSv5dwvZ9NSDw"/> + <owner xmi:type="uml:Model" href="org.eclipse.papyrus.sysml14.ui.uml#_OFsfcuLIEeSv5dwvZ9NSDw"/> + <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration#_7wNb3txhEeOqHvRyiN87hA"/> + <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/> + <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_b08VgZLDEeW7kqdnK_Tudw" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider"> + <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_b08VgpLDEeW7kqdnK_Tudw" element="property_of_stereotype:/SysML::Requirements::Requirement::id"> + <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/> + </axis> + <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_b08Vg5LDEeW7kqdnK_Tudw"> + <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/> + <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> + </axis> + <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_b08VhJLDEeW7kqdnK_Tudw" element="property_of_stereotype:/SysML::Requirements::Requirement::text"> + <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/> + </axis> + </columnAxisProvidersHistory> + <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_b08VhZLDEeW7kqdnK_Tudw" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/> + </nattable:Table> +</xmi:XMI> diff --git a/gui/org.eclipse.papyrus.sysml14.ui/resources/doc/org.eclipse.papyrus.sysml14.ui.uml b/gui/org.eclipse.papyrus.sysml14.ui/resources/doc/org.eclipse.papyrus.sysml14.ui.uml new file mode 100644 index 00000000..ba5e07ba --- /dev/null +++ b/gui/org.eclipse.papyrus.sysml14.ui/resources/doc/org.eclipse.papyrus.sysml14.ui.uml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"> + <uml:Model xmi:id="_OFsfcOLIEeSv5dwvZ9NSDw" name="org.eclipse.papyrus.sysml14.ui"> + <packageImport xmi:type="uml:PackageImport" xmi:id="_OFsfceLIEeSv5dwvZ9NSDw"> + <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/> + </packageImport> + <packageImport xmi:type="uml:PackageImport" xmi:id="_ehZx8JNWEeWc3dlpn_2AyA"> + <importedPackage xmi:type="uml:Model" href="../../../org.eclipse.papyrus.sysml14.core/org.eclipse.papyrus.sysml14/resources/doc/omg.sysml.uml#_d7ALQDqsEeWNg8WvR7UDoQ"/> + </packageImport> + <packagedElement xmi:type="uml:Model" xmi:id="_OFsfcuLIEeSv5dwvZ9NSDw" name="Requirements"> + <ownedComment xmi:type="uml:Comment" xmi:id="_dICO8Oc2EeSLdPGe2q9R0g"> + <body>This package will contains all graphical requirements for SysML elements from the UI components.</body> + </ownedComment> + <packagedElement xmi:type="uml:Class" xmi:id="_tZwtUJNWEeWc3dlpn_2AyA" name="REQ_001"/> + <packagedElement xmi:type="uml:Abstraction" xmi:id="_taE2YJNWEeWc3dlpn_2AyA" name="DeriveFrom_REQ-OMG-SYSML14-8.3.1.2.1 Property types" client="_tZwtUJNWEeWc3dlpn_2AyA"> + <supplier xmi:type="uml:Class" href="../../../org.eclipse.papyrus.sysml14.core/org.eclipse.papyrus.sysml14/resources/doc/omg.sysml.uml#_66IZyTq8EeW79ofuztDyTA"/> + </packagedElement> + </packagedElement> + <packagedElement xmi:type="uml:Model" xmi:id="_OFsfc-LIEeSv5dwvZ9NSDw" name="UseCases"> + <packagedElement xmi:type="uml:Abstraction" xmi:id="_OFsfdOLIEeSv5dwvZ9NSDw" name="useCasesAbstraction" client="_OFsfc-LIEeSv5dwvZ9NSDw" supplier="_OFsfcuLIEeSv5dwvZ9NSDw"/> + <packagedElement xmi:type="uml:Component" xmi:id="_OFsfdeLIEeSv5dwvZ9NSDw" name="MySystem"/> + </packagedElement> + <packagedElement xmi:type="uml:Model" xmi:id="_OFsfduLIEeSv5dwvZ9NSDw" name="Design"> + <packagedElement xmi:type="uml:Abstraction" xmi:id="_OFsfd-LIEeSv5dwvZ9NSDw" name="DesignAbstraction" client="_OFsfduLIEeSv5dwvZ9NSDw" supplier="_OFsfc-LIEeSv5dwvZ9NSDw"/> + </packagedElement> + <packagedElement xmi:type="uml:Model" xmi:id="_OFsfeOLIEeSv5dwvZ9NSDw" name="Test"> + <packagedElement xmi:type="uml:Dependency" xmi:id="_OFsfeeLIEeSv5dwvZ9NSDw" name="Dependency1" client="_OFsfeOLIEeSv5dwvZ9NSDw" supplier="_OFsfc-LIEeSv5dwvZ9NSDw"/> + <packagedElement xmi:type="uml:Dependency" xmi:id="_OFsfeuLIEeSv5dwvZ9NSDw" name="Dependency2" client="_OFsfeOLIEeSv5dwvZ9NSDw" supplier="_OFsfduLIEeSv5dwvZ9NSDw"/> + </packagedElement> + <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_OFsfgeLIEeSv5dwvZ9NSDw"> + <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_OFsfguLIEeSv5dwvZ9NSDw" source="http://www.eclipse.org/uml2/2.0.0/UML"> + <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/> + </eAnnotations> + <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/> + </profileApplication> + </uml:Model> + <Requirements:Requirement xmi:id="_tZ86kJNWEeWc3dlpn_2AyA" text="Type properties should be displayed in the Model Explorer with a tree viewver to display their owned elements
Property types details here https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/site-staging/org.eclipse.papyrus.sysml.core/norm/formal-15-06-03.pdf#page=69" id="REQ_001" base_Class="_tZwtUJNWEeWc3dlpn_2AyA"/> + <Requirements:DeriveReqt xmi:id="_taGrkJNWEeWc3dlpn_2AyA" base_Abstraction="_taE2YJNWEeWc3dlpn_2AyA"/> +</xmi:XMI> diff --git a/gui/org.eclipse.papyrus.sysml14.ui/src/org/eclipse/papyrus/sysml14/ui/queries/property/GetContainedAttributesJavaQuery.java b/gui/org.eclipse.papyrus.sysml14.ui/src/org/eclipse/papyrus/sysml14/ui/queries/property/GetContainedAttributesJavaQuery.java new file mode 100644 index 00000000..73c272d7 --- /dev/null +++ b/gui/org.eclipse.papyrus.sysml14.ui/src/org/eclipse/papyrus/sysml14/ui/queries/property/GetContainedAttributesJavaQuery.java @@ -0,0 +1,49 @@ +/***************************************************************************** + * Copyright (c) 2015 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: + * Francois Le Fevre francois.le-fevre@cea.fr - Initial API and implementation + *****************************************************************************/ +package org.eclipse.papyrus.sysml14.ui.queries.property; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager; +import org.eclipse.papyrus.emf.facet.efacet.core.exception.DerivedTypedElementException; +import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2; +import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2; +import org.eclipse.uml2.uml.Property; + + +/** + * Build the facet linked to a typed property for Menu Explorer customisation + * Get the collection of all owned elements of the typed property + * + * @pap.req org.eclipse.papyrus.sysml14.ui#REQ_001 + * @author Francois Le Fevre + * + */ +public class GetContainedAttributesJavaQuery implements IJavaQuery2<Property, Collection<EObject>> { + + + /* (non-Javadoc) + * @see org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2#evaluate(org.eclipse.emf.ecore.EObject, org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2, org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager) + * @Override + */ + public Collection<EObject> evaluate(Property property, IParameterValueList2 parameterValues, IFacetManager facetManager) throws DerivedTypedElementException { + List<EObject> result = new ArrayList<EObject>(); + if(property.getType()!=null){ + result.addAll(property.getType().getOwnedElements()); + } + return result; + } +} diff --git a/gui/org.eclipse.papyrus.sysml14.ui/src/org/eclipse/papyrus/sysml14/ui/queries/property/IsTypedPropertyJavaQuery.java b/gui/org.eclipse.papyrus.sysml14.ui/src/org/eclipse/papyrus/sysml14/ui/queries/property/IsTypedPropertyJavaQuery.java new file mode 100644 index 00000000..5da90e6a --- /dev/null +++ b/gui/org.eclipse.papyrus.sysml14.ui/src/org/eclipse/papyrus/sysml14/ui/queries/property/IsTypedPropertyJavaQuery.java @@ -0,0 +1,39 @@ +/***************************************************************************** + * Copyright (c) 2015 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: + * Francois Le Fevre francois.le-fevre@cea.fr - Initial API and implementation + *****************************************************************************/ +package org.eclipse.papyrus.sysml14.ui.queries.property; + +import org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager; +import org.eclipse.papyrus.emf.facet.efacet.core.exception.DerivedTypedElementException; +import org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2; +import org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2; +import org.eclipse.uml2.uml.Property; + +/** + * Query used for Menu Explorer customisation + * @pap.req org.eclipse.papyrus.sysml14.ui#REQ_001 + * + * @author Francois Le Fevre + * + */ +public class IsTypedPropertyJavaQuery implements IJavaQuery2<Property, Boolean> { + + /* (non-Javadoc) + * @see org.eclipse.papyrus.emf.facet.query.java.core.IJavaQuery2#evaluate(org.eclipse.emf.ecore.EObject, org.eclipse.papyrus.emf.facet.query.java.core.IParameterValueList2, org.eclipse.papyrus.emf.facet.efacet.core.IFacetManager) + * @Override + * Return true if the element is a typed property + */ + public Boolean evaluate(Property source, IParameterValueList2 parameterValues, IFacetManager facetManager) throws DerivedTypedElementException { + return (source.getType()!=null); + } + +} diff --git a/releng/org.eclipse.papyrus.sysml14.rcptt.tests/suites/TS-diagIBD.suite b/releng/org.eclipse.papyrus.sysml14.rcptt.tests/suites/TS-diagIBD.suite new file mode 100644 index 00000000..53c4ead6 --- /dev/null +++ b/releng/org.eclipse.papyrus.sysml14.rcptt.tests/suites/TS-diagIBD.suite @@ -0,0 +1,16 @@ +--- RCPTT testcase --- +Format-Version: 1.0 +Element-Name: TS-diagIBD +Element-Type: testsuite +Element-Version: 2.0 +Id: _gGFDQJUjEeW59ZeaPCptCg +Runtime-Version: 2.0.0.201507292316 +Save-Time: 11/27/15 5:25 PM + +------=_testcase-items-62c497da-4241-31f4-811a-6b453a3ecff8 +Content-Type: text/testcase +Entry-Name: testcase-items + +_wkc48JNcEeWdrOtbW826CQ // kind: 'test' name: 'TC-ME-Property' path: '../testcases/menuExplorer/TC-ME-Property.test' + +------=_testcase-items-62c497da-4241-31f4-811a-6b453a3ecff8-- diff --git a/releng/org.eclipse.papyrus.sysml14.rcptt.tests/testcases/menuExplorer/TC-ME-Property.test b/releng/org.eclipse.papyrus.sysml14.rcptt.tests/testcases/menuExplorer/TC-ME-Property.test new file mode 100644 index 00000000..8fd1f023 --- /dev/null +++ b/releng/org.eclipse.papyrus.sysml14.rcptt.tests/testcases/menuExplorer/TC-ME-Property.test @@ -0,0 +1,299 @@ +--- RCPTT testcase --- +Format-Version: 1.0 +Element-Name: TC-ME-Property +Element-Type: testcase +Element-Version: 3.0 +External-Reference: +Id: _wkc48JNcEeWdrOtbW826CQ +Runtime-Version: 2.0.0.201507292316 +Save-Time: 11/27/15 6:07 PM +Testcase-Type: ecl + +------=_.description-216f885c-d591-38ce-8ea2-e4f8cb4d6ffa +Content-Type: text/plain +Entry-Name: .description + +The user has to create a new papyrus SysML 1.4 project. +It switch to the perspective papyrus +It create an IBD with the block1 +We create two additional block 2 and 3, they are referenced as parts of block1. +we add a basic flowpart to block2 +and we create an additional property in block3 that we typed with Block1 + +We check the tree explorer of block1,2,3 with and without the model explorer customisation. +------=_.description-216f885c-d591-38ce-8ea2-e4f8cb4d6ffa-- +------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac +Content-Type: text/ecl +Entry-Name: .content + +//creation of a basic model +//with one IBD diagram +//with Block1, Block2 and Block3 + + +get-menu "File/New/Project..." | click +with [get-window "New Project"] { + get-tree | select "Papyrus/Papyrus Project" + get-button "Next >" | click +} +with [get-window "New Papyrus Project"] { + get-group "Diagram Language:" | get-button "SysML 1.4" | click + get-button "Next >" | click + get-editbox -after [get-label "Project name:"] | set-text AAA + get-button "Next >" | click +} + +with [get-window "New Papyrus Project" | get-group "Select a Diagram Kind:" | get-table] { + select "SysML 1.4 Internal Block" -column "Diagram name" + get-cell 1 0 | check +} +get-window "New Papyrus Project" | get-button Finish | click +with [get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1] { + mouse-move 308 305 -height 318 -width 595 + mouse-move 188 "-87" -height 318 -width 595 +} +get-menu "Window/Perspective/Open Perspective/Other..." | click +get-window "Open Perspective" | get-table | select Papyrus | double-click +with [get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1] { + get-edit-part -name Block1 | get-edit-part -className ClassCompositeCompartmentEditPart + | mouse-release 157 0 button1 524288 -height 215 -width 500 + mouse-move 0 254 -height 342 -width 656 +} +get-view "Model Explorer" | get-tree | get-item RootElement | click + +with [get-editor "model.di"] { + with [get-palette] { + get-palette-entry ChangeStructuralFeatureEvent | mouse-move 101 4 -height 24 -width 125 + get-palette-entry ActorPart | mouse-move 45 2 -height 24 -width 125 + } + get-diagram -index 1 | get-edit-part -name Block1 | mouse-move 506 "-3" -height 321 -width 598 +} +get-menu "Window/Perspective/Open Perspective/Other..." | click +get-window "Open Perspective" | get-table | select Papyrus | double-click +with [get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1] { + get-edit-part -name Block1 | get-edit-part -className ClassCompositeCompartmentEditPart + | mouse-release 166 10 button1 524288 -height 215 -width 500 + mouse-move 13 257 -height 345 -width 659 +} +with [get-view "Model Explorer" | get-tree] { + get-item RootElement | click + select RootElement | get-menu "SysML 1.4/Block" | click +} +get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1 | mouse-move 8 312 -height 345 -width 659 +with [get-view "Model Explorer" | get-tree] { + get-item RootElement | click + select RootElement | get-menu "SysML 1.4/Block" | click +} +get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1 | mouse-move 3 294 -height 345 -width 659 +with [get-view "Model Explorer" | get-tree] { + get-item "RootElement/«Block» Block2" | click + select "RootElement/«Block» Block2" | get-menu "SysML 1.4/FullPort" | click + get-item "RootElement/«Block» Block3" | click + select "RootElement/«Block» Block3" | get-menu "New Child/Property" | click + get-item "RootElement/«Block» Block2" | click + get-item "RootElement/«Block» Block2" | drag-start 27 19 + get-item "RootElement/«Block» Block2" | drag-enter 58 10 -detail move + get-item "RootElement/«Block» Block2" | drag-over 94 1 -detail move + get-item "RootElement/«Block» Block1" | drag-over 113 16 -detail move + get-item "RootElement/«Block» Block2" | drag-exit +} +with [get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1] { + drag-enter 9 287 -detail move + with [get-edit-part -name Block1] { + drag-over 7 226 + get-edit-part -className ClassCompositeCompartmentEditPart | get-figure "1/0" | drag-over 166 79 -detail copy + } + drag-exit + get-edit-part -name Block1 | get-edit-part -className ClassCompositeCompartmentEditPart | get-figure "1/0" + | drag-accept 166 79 -detail copy +} +get-view "Model Explorer" | get-tree | drag-set-data +get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1 | get-edit-part -name Block1 | get-edit-part + -className ClassCompositeCompartmentEditPart | get-figure "1/0" | drop 166 79 -detail copy +get-view "Model Explorer" | get-tree | drag-end -detail copy +with [get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1] { + with [get-edit-part -name Block1 | get-edit-part -className ClassCompositeCompartmentEditPart] { + mouse-move 143 98 -height 215 -width 500 + mouse-hover 143 98 -height 215 -width 500 + } + mouse-move 0 297 -height 345 -width 659 +} + +with [get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1] { + mouse-move 200 32 -height 342 -width 656 + mouse-move 114 302 -height 342 -width 656 +} +with [get-view "Model Explorer" | get-tree] { + get-item "RootElement/«Block» Block3" | click + get-item "RootElement/«Block» Block3" | drag-start 31 11 + get-item "RootElement/«Block» Block3" | drag-enter 98 17 -detail move + get-item "RootElement/«Block» Block3" | drag-over 117 15 -detail move + get-item "RootElement/«Block» Block3" | drag-exit +} +with [get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1] { + drag-enter 8 286 -detail move + drag-over 37 281 + get-edit-part -name Block1 | get-edit-part -className ClassCompositeCompartmentEditPart | get-figure "1/0" + | drag-over 369 61 -detail copy + drag-exit + get-edit-part -name Block1 | get-edit-part -className ClassCompositeCompartmentEditPart | get-figure "1/0" + | drag-accept 369 61 -detail copy +} +get-view "Model Explorer" | get-tree | drag-set-data +get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1 | get-edit-part -name Block1 | get-edit-part + -className ClassCompositeCompartmentEditPart | get-figure "1/0" | drop 369 61 -detail copy +get-view "Model Explorer" | get-tree | drag-end -detail copy +get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1 | mouse-move 8 284 -height 342 -width 656 +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block3/Attribute1" | click +get-view Properties | get-button "Edit the reference value" | click +with [get-window Type] { + get-editbox -after [get-label "Filter:"] | set-focus + get-tree | select "RootElement/«Block» Block1" + get-button OK | click +} +get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1 | mouse-move 0 305 -height 342 -width 656 +get-view "Model Explorer" | get-tree | get-item RootElement | click +with [get-editor "model.di"] { + with [get-diagram -index 1 | get-edit-part -name Block1] { + with [get-edit-part -name Block1 | get-edit-part -className ClassCompositeCompartmentEditPart] { + mouse-move 233 135 -height 215 -width 500 + mouse-move 351 95 -height 215 -width 500 + } + mouse-move 648 112 -height 342 -width 656 + } + get-palette | get-palette-entry ActorPart | mouse-move 107 1 -height 24 -width 234 +} + +//tsting with 4 elements, 3 blocks and the diagram +get-view "Model Explorer" | get-tree | get-item RootElement | get-property childCount | equals 4 | verify-true +with [get-editor "model.di"] { + with [get-diagram -index 1 | get-edit-part -name Block1] { + mouse-move 583 29 -height 342 -width 656 + mouse-move 646 84 -height 342 -width 656 + } + get-palette | get-palette-entry "Intersection Selection" | mouse-move 10 17 -height 19 -width 19 +} + +//testing the block1 is composed only with 2 children +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1" | get-property childCount | equals 2 + | verify-true +with [get-editor "model.di"] { + with [get-diagram -index 1 | get-edit-part -name Block1] { + mouse-move 566 37 -height 342 -width 656 + get-edit-part -name Block1 | get-edit-part -className ClassCompositeCompartmentEditPart | mouse-move 343 82 + -height 215 -width 500 + mouse-move 644 65 -height 342 -width 656 + } + get-palette | get-palette-entry "Zoom Out" | mouse-move 5 8 -height 19 -width 19 +} +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1/block2 : Block2" | get-property childCount + | equals 0 | verify-true + +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block2" | get-property childCount | equals 1 + | verify-true +with [get-editor "model.di"] { + get-palette | get-palette-entry Conform | mouse-move 41 19 -height 24 -width 125 + with [get-diagram -index 1 | get-edit-part -name Block1] { + mouse-move 256 302 -height 342 -width 656 + mouse-move 616 156 -height 342 -width 656 + } + get-palette | get-palette-entry ActorPart | mouse-move 66 4 -height 24 -width 234 +} +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block3" | get-property childCount | equals 1 + | verify-true +with [get-editor "model.di"] { + with [get-palette] { + get-palette-entry "Zoom In" | mouse-move 8 3 -height 19 -width 19 + get-palette-entry Select | mouse-move 1 10 -height 19 -width 19 + } + get-diagram -index 1 | get-edit-part -name Block1 | mouse-move 0 199 -height 342 -width 656 +} + +//Loading OperationalSysML +get-view "Model Explorer" | get-button "Customize Model Explorer" | click +with [get-window "Load Customizations"] { + get-tree | select OperationalSysML + get-button ">" | click + get-button OK | click +} + +//Testing in the ui we could see parts displayed as tree, so with children +get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1 | mouse-move 0 341 -height 342 -width 656 +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1" | click +with [get-editor "model.di"] { + with [get-diagram -index 1 | get-edit-part -name Block1] { + get-edit-part -name Block1 | get-edit-part -className ClassCompositeCompartmentEditPart | mouse-move 288 129 + -height 215 -width 500 + mouse-move 640 111 -height 342 -width 656 + } + get-palette | get-palette-entry ActorPart | mouse-move 51 6 -height 24 -width 234 +} +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1" | get-property childCount | equals 2 + | verify-true +with [get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1] { + mouse-move 566 155 -height 342 -width 656 + mouse-move 16 319 -height 342 -width 656 +} +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1/block2 : Block2" | click +with [get-editor "model.di"] { + get-diagram -index 1 | get-edit-part -name Block1 | mouse-move 633 129 -height 342 -width 656 + with [get-palette] { + get-palette-entry AdjunctProperty | mouse-move 92 2 -height 24 -width 234 + get-palette-entry ActorPart | mouse-move 121 11 -height 24 -width 234 + } +} +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1/block2 : Block2" | get-property childCount + | equals 1 | verify-true +with [get-editor "model.di"] { + with [get-palette] { + get-palette-entry BoundReference | mouse-move 36 3 -height 24 -width 234 + get-palette-entry ChangeStructuralFeatureEvent | mouse-move 9 2 -height 24 -width 234 + } + with [get-diagram -index 1 | get-edit-part -name Block1] { + mouse-move 547 236 -height 342 -width 656 + mouse-move 367 340 -height 342 -width 656 + } +} + + +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1/block3 : Block3" | click +get-editor "model.di" | get-palette | get-palette-entry BoundReference | mouse-move 98 11 -height 24 -width 234 +with [get-editor "model.di"] { + get-palette | get-palette-entry BoundReference | mouse-move 14 3 -height 24 -width 234 + with [get-diagram -index 1 | get-edit-part -name Block1] { + mouse-move 572 169 -height 342 -width 656 + mouse-move 5 280 -height 342 -width 656 + } +} +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1/block3 : Block3" | click +with [get-editor "model.di"] { + with [get-diagram -index 1 | get-edit-part -name Block1] { + get-edit-part -name Block1 | get-edit-part -className ClassCompositeCompartmentEditPart | mouse-move 198 127 + -height 215 -width 500 + mouse-move 644 69 -height 342 -width 656 + } + with [get-palette] { + get-palette-entry "Zoom Out" | mouse-move 12 13 -height 19 -width 19 + get-palette-entry "Standard Marquee Selection" | mouse-move 12 2 -height 19 -width 19 + } +} +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1/block3 : Block3" | get-property childCount + | equals 1 | verify-true +get-editor "model.di" | get-diagram -index 1 | get-edit-part -name Block1 | mouse-move 390 340 -height 342 -width 656 +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1/block3 : Block3/Attribute1 : Block1" | click +with [get-editor "model.di"] { + with [get-diagram -index 1 | get-edit-part -name Block1] { + mouse-move 67 295 -height 342 -width 656 + mouse-move 653 133 -height 342 -width 656 + } + with [get-palette] { + get-palette-entry AdjunctProperty | mouse-move 62 2 -height 24 -width 234 + get-palette-entry ActorPart | mouse-move 101 15 -height 24 -width 234 + } +} +get-view "Model Explorer" | get-tree | get-item "RootElement/«Block» Block1/block3 : Block3/Attribute1 : Block1" + | get-property childCount | equals 2 | verify-true + + + +------=_.content-0a7243a0-75d3-3d5f-9791-539de0e5b7ac-- |