Bug 478428 - [SysML 1.4][BDD][FlowSpecification] Create flow properties
compartment
- define the requirement
- add new ExpansionDiagram configuration
- create a specific FlowSpecificationClassifierViewFactory
- trying to setup the icon
- use of internal package naming convention
- add a basic test
Change-Id: I742bc89c2a9e21aa8ea413ba28206434896da9d7
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=478428
Signed-off-by: Francois Le Fevre - CEA <francois.le-fevre@cea.fr>
diff --git a/core/org.eclipse.papyrus.sysml14.service.types.tests/src/org/eclipse/papyrus/sysml14/service/types/tests/command/SetNestedPathCommandTest.java b/core/org.eclipse.papyrus.sysml14.service.types.tests/src/org/eclipse/papyrus/sysml14/service/types/tests/command/SetNestedPathCommandTest.java
index c4c94af..a7acc50 100644
--- a/core/org.eclipse.papyrus.sysml14.service.types.tests/src/org/eclipse/papyrus/sysml14/service/types/tests/command/SetNestedPathCommandTest.java
+++ b/core/org.eclipse.papyrus.sysml14.service.types.tests/src/org/eclipse/papyrus/sysml14/service/types/tests/command/SetNestedPathCommandTest.java
@@ -28,6 +28,8 @@
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.registries.ElementTypeSetConfigurationRegistry;
import org.eclipse.papyrus.sysml14.blocks.NestedConnectorEnd;
import org.eclipse.papyrus.sysml14.service.types.command.SetNestedPathCommand;
import org.eclipse.papyrus.sysml14.service.types.util.SysMLServiceTypeUtil;
@@ -40,6 +42,7 @@
import org.eclipse.uml2.uml.UMLFactory;
import org.eclipse.uml2.uml.util.UMLUtil;
import org.junit.Assert;
+import org.junit.BeforeClass;
import org.junit.Test;
/**
@@ -48,6 +51,13 @@
*/
public class SetNestedPathCommandTest {
+ @BeforeClass
+ public static void loadSysml14Defintion() {
+ ElementTypeSetConfigurationRegistry instance = ElementTypeSetConfigurationRegistry.getInstance();
+ ElementTypeSetConfiguration elementTypeSetConfiguration = instance.getElementTypeSetConfigurations().get("org.eclipse.papyrus.sysml14.service.types.elementTypeSet");
+ Assert.assertNotNull("The SysML 1.4 element type set definition is missing", elementTypeSetConfiguration);
+ }
+
private UMLConnectorUtils utils = new UMLConnectorUtils(); // FIXME : should be access in static way (when the Papyrus API is modified)
/**
diff --git a/core/org.eclipse.papyrus.sysml14.tests/src/org/eclipse/papyrus/sysml14/tests/deprecatedelements/FlowSpecificationTest.java b/core/org.eclipse.papyrus.sysml14.tests/src/org/eclipse/papyrus/sysml14/tests/deprecatedelements/FlowSpecificationTest.java
new file mode 100644
index 0000000..0b10a5e
--- /dev/null
+++ b/core/org.eclipse.papyrus.sysml14.tests/src/org/eclipse/papyrus/sysml14/tests/deprecatedelements/FlowSpecificationTest.java
@@ -0,0 +1,101 @@
+/*****************************************************************************
+ * 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.tests.deprecatedelements;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.sysml14.blocks.Block;
+import org.eclipse.papyrus.sysml14.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml14.deprecatedelements.DeprecatedelementsPackage;
+import org.eclipse.papyrus.sysml14.deprecatedelements.FlowSpecification;
+import org.eclipse.papyrus.sysml14.portandflows.PortandflowsPackage;
+import org.eclipse.papyrus.sysml14.util.SysMLResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * A test case for the model object '<em><b>FlowSpecification</b></em>'.
+ *
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml14.deprecatedelements.FlowSpecification#getFlowProperties <em>FlowProperties</em>}</li>
+ * </ul>
+ * </p>
+ */
+public class FlowSpecificationTest {
+
+ private Model model = null;
+
+ private FlowSpecification flowSpecification=null;
+
+ /**
+ * @see junit.framework.TestCase#setUp()
+ */
+ @Before
+ public void setUp() {
+ // Prepare Model test
+ model = SysMLResource.createSysMLModel(new ResourceSetImpl());
+ Assert.assertFalse("the SysML profil must be applied.", model.getAppliedProfiles().isEmpty());
+
+ StereotypeApplicationHelper stereotypeApplicationHelper = StereotypeApplicationHelper.getInstance(null);
+ /*
+ * create a FlowSpecification
+ */
+ Interface flowSpecificationInterface=model.createOwnedInterface("FlowSpecification1");
+ flowSpecification = (FlowSpecification) stereotypeApplicationHelper.applyStereotype(flowSpecificationInterface, DeprecatedelementsPackage.eINSTANCE.getFlowSpecification());
+
+ /*
+ * create a flow property and add it to the FlowSpecification
+ */
+ Property property1 = flowSpecificationInterface.createOwnedAttribute("property1", null);
+ StereotypeApplicationHelper.getInstance(null).applyStereotype(property1, PortandflowsPackage.eINSTANCE.getFlowProperty());
+
+ }
+
+ /**
+ * @pap.req Flow specifications cannot own operations or receptions (they can only own FlowProperties)
+ */
+ @Test
+ public void testGetOperations() {
+ Assert.assertEquals("Operations size should be 0", 0, flowSpecification.getBase_Interface().getAllOperations().size());
+ }
+
+ /**
+ * @pap.req Flow specifications cannot own operations or receptions (they can only own FlowProperties)
+ */
+ @Test
+ public void testGetReceptions() {
+ Assert.assertEquals("Receptions size should be 0", 0, flowSpecification.getBase_Interface().getOwnedReceptions().size());
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.sysml14.deprecatedelements.FlowSpecification#getFlowProperties()
+ * <em>FlowProperty</em>}' feature getter.
+ * @see org.eclipse.papyrus.sysml14.deprecatedelements.FlowSpecification#getFlowProperties()
+ */
+ @Test
+ public void testGetFlowProperties() {
+ Assert.assertNotNull("FlowProperties should not be null", flowSpecification.getFlowProperties());
+ Assert.assertEquals("FlowProperties size should be 1", 1, flowSpecification.getFlowProperties().size());
+ }
+
+
+
+}
diff --git a/core/org.eclipse.papyrus.sysml14/doc/SysML-Extension.notation b/core/org.eclipse.papyrus.sysml14/doc/SysML-Extension.notation
index dd23ea1..708117e 100644
--- a/core/org.eclipse.papyrus.sysml14/doc/SysML-Extension.notation
+++ b/core/org.eclipse.papyrus.sysml14/doc/SysML-Extension.notation
@@ -331,4 +331,42 @@
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-fDm21IaEeWOVPwTUSkFAw"/>
</edges>
</notation:Diagram>
+ <notation:Diagram xmi:id="_T0kvAGa4EeW5JrLha2pcnA" type="PapyrusUMLClassDiagram" name="FlowSpecification" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_V2uM8Ga4EeW5JrLha2pcnA" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_V2vbEGa4EeW5JrLha2pcnA" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_V2vbEWa4EeW5JrLha2pcnA" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_V2vbEma4EeW5JrLha2pcnA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_V2wCIGa4EeW5JrLha2pcnA" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_V2wCIWa4EeW5JrLha2pcnA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_V2wCIma4EeW5JrLha2pcnA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_V2wCI2a4EeW5JrLha2pcnA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V2wCJGa4EeW5JrLha2pcnA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_V2wCJWa4EeW5JrLha2pcnA" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_Y78RcGa4EeW5JrLha2pcnA" type="3013">
+ <element xmi:type="uml:Operation" href="SysML-Extension.uml#_XE7sgGa4EeW5JrLha2pcnA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y78RcWa4EeW5JrLha2pcnA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_V2wCJma4EeW5JrLha2pcnA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_V2wCJ2a4EeW5JrLha2pcnA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_V2wCKGa4EeW5JrLha2pcnA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V2wCKWa4EeW5JrLha2pcnA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_V2wCKma4EeW5JrLha2pcnA" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_V2wCK2a4EeW5JrLha2pcnA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_V2wCLGa4EeW5JrLha2pcnA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_V2wCLWa4EeW5JrLha2pcnA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V2wCLma4EeW5JrLha2pcnA"/>
+ </children>
+ <element xmi:type="uml:Class" href="SysML-Extension.uml#_PEJF4Ga4EeW5JrLha2pcnA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V2uM8Wa4EeW5JrLha2pcnA" x="142" y="86"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_T0kvAWa4EeW5JrLha2pcnA" name="diagram_compatibility_version" stringValue="1.1.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_T0kvAma4EeW5JrLha2pcnA"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_T0kvA2a4EeW5JrLha2pcnA">
+ <owner xmi:type="uml:Package" href="SysML-Extension.uml#_M8sesFFjEeWDrM-hgr_-Kg"/>
+ </styles>
+ <element xmi:type="uml:Package" href="SysML-Extension.uml#_DjFlkFIUEeWHYvssogj-zQ"/>
+ </notation:Diagram>
</xmi:XMI>
diff --git a/core/org.eclipse.papyrus.sysml14/doc/SysML-Extension.uml b/core/org.eclipse.papyrus.sysml14/doc/SysML-Extension.uml
index d0dd8f0..1685f26 100644
--- a/core/org.eclipse.papyrus.sysml14/doc/SysML-Extension.uml
+++ b/core/org.eclipse.papyrus.sysml14/doc/SysML-Extension.uml
@@ -3,8 +3,8 @@
<uml:Model xmi:id="_82iTcFFiEeWDrM-hgr_-Kg" name="SysML">
<packagedElement xmi:type="uml:Package" xmi:id="_M8sesFFjEeWDrM-hgr_-Kg" name="DeprecatedElements">
<packagedElement xmi:type="uml:Class" xmi:id="_PWXr0FFjEeWDrM-hgr_-Kg" name="FlowPort">
- <ownedOperation xmi:id="_XgZG8FFjEeWDrM-hgr_-Kg" name="getIcon">
- <ownedParameter xmi:id="_XgZG8VFjEeWDrM-hgr_-Kg" name="img" direction="return">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_XgZG8FFjEeWDrM-hgr_-Kg" name="getIcon">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_XgZG8VFjEeWDrM-hgr_-Kg" name="img" direction="return">
<type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
</ownedParameter>
</ownedOperation>
@@ -12,11 +12,20 @@
<packagedElement xmi:type="uml:Abstraction" xmi:id="_nViSUFFxEeWFqsbjn0GMrw" name="Satisfy1" client="_XgZG8FFjEeWDrM-hgr_-Kg">
<supplier xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_b0XAEFFvEeWFqsbjn0GMrw"/>
</packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_PEJF4Ga4EeW5JrLha2pcnA" name="FlowSpecification">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_XE7sgGa4EeW5JrLha2pcnA" name="getFlowProperties">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_XE7sgWa4EeW5JrLha2pcnA" name="flowProperties" direction="out">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XE7sgma4EeW5JrLha2pcnA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XE7sg2a4EeW5JrLha2pcnA" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_lUJKsFFjEeWDrM-hgr_-Kg" name="PortsAndFlows">
<packagedElement xmi:type="uml:Class" xmi:id="_j0IwgFFjEeWDrM-hgr_-Kg" name="FlowProperty">
- <ownedOperation xmi:id="_bkbkIFFjEeWDrM-hgr_-Kg" name="getIcon">
- <ownedParameter xmi:id="_bkbkIVFjEeWDrM-hgr_-Kg" name="img" direction="return">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_bkbkIFFjEeWDrM-hgr_-Kg" name="getIcon">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_bkbkIVFjEeWDrM-hgr_-Kg" name="img" direction="return">
<type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
</ownedParameter>
</ownedOperation>
@@ -27,22 +36,22 @@
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_DjFlkFIUEeWHYvssogj-zQ" name="Blocks">
<packagedElement xmi:type="uml:Class" xmi:id="_Mh_aQFIUEeWHYvssogj-zQ" name="Block">
- <ownedOperation xmi:id="_RQB2sFIUEeWHYvssogj-zQ" name="getReferences">
- <ownedParameter xmi:id="_5V4qYFIWEeWOVPwTUSkFAw" name="references" direction="return">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_RQB2sFIUEeWHYvssogj-zQ" name="getReferences">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_5V4qYFIWEeWOVPwTUSkFAw" name="references" direction="return">
<type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JptMQFIZEeWOVPwTUSkFAw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JpxdsFIZEeWOVPwTUSkFAw" value="*"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_kEJocFYDEeW77p7V_ZuW3Q" name="getParts">
- <ownedParameter xmi:id="_rMeWAFYDEeW77p7V_ZuW3Q" name="parts" direction="return">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_kEJocFYDEeW77p7V_ZuW3Q" name="getParts">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_rMeWAFYDEeW77p7V_ZuW3Q" name="parts" direction="return">
<type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_f5D2IFYFEeW77p7V_ZuW3Q"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gpIoMFYFEeW77p7V_ZuW3Q" value="*"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_K4WW8GE-EeWbSMDuSXx8SQ" name="getFlowProperties">
- <ownedParameter xmi:id="_QHhKgGE-EeWbSMDuSXx8SQ" name="flowProperties" direction="out">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_K4WW8GE-EeWbSMDuSXx8SQ" name="getFlowProperties">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_QHhKgGE-EeWbSMDuSXx8SQ" name="flowProperties" direction="out">
<type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UXmfoGE-EeWbSMDuSXx8SQ"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U6nGEGE-EeWbSMDuSXx8SQ" value="*"/>
@@ -53,71 +62,71 @@
<supplier xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_ZyAskFIZEeWOVPwTUSkFAw"/>
</packagedElement>
</packagedElement>
- <profileApplication xmi:id="_jpv9EFFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jpzAYFFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jpv9EFFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jpzAYFFxEeWFqsbjn0GMrw" 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#/"/>
</eAnnotations>
- <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
</profileApplication>
- <profileApplication xmi:id="_jpzncFFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jp0OgFFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jpzncFFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jp0OgFFxEeWFqsbjn0GMrw" 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#//modelelements"/>
</eAnnotations>
- <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
</profileApplication>
- <profileApplication xmi:id="_jp01kFFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jp1coFFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jp01kFFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jp1coFFxEeWFqsbjn0GMrw" 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#//blocks"/>
</eAnnotations>
- <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
</profileApplication>
- <profileApplication xmi:id="_jp2DsFFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jp2qwFFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jp2DsFFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jp2qwFFxEeWFqsbjn0GMrw" 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#//portandflows"/>
</eAnnotations>
- <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
</profileApplication>
- <profileApplication xmi:id="_jp3R0FFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jp3R0VFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jp3R0FFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jp3R0VFxEeWFqsbjn0GMrw" 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#//constraints"/>
</eAnnotations>
- <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
</profileApplication>
- <profileApplication xmi:id="_jp344FFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jp4f8FFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jp344FFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jp4f8FFxEeWFqsbjn0GMrw" 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#//activities"/>
</eAnnotations>
- <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
</profileApplication>
- <profileApplication xmi:id="_jp5HAFFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jp5HAVFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jp5HAFFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jp5HAVFxEeWFqsbjn0GMrw" 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#//allocations"/>
</eAnnotations>
- <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
</profileApplication>
- <profileApplication xmi:id="_jp5uEFFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jp6VIFFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jp5uEFFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jp6VIFFxEeWFqsbjn0GMrw" 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 href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
</profileApplication>
- <profileApplication xmi:id="_jp68MFFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jp68MVFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jp68MFFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jp68MVFxEeWFqsbjn0GMrw" 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#//interactions"/>
</eAnnotations>
- <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
</profileApplication>
- <profileApplication xmi:id="_jp7jQFFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jp8KUFFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jp7jQFFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jp8KUFFxEeWFqsbjn0GMrw" 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#//statemachines"/>
</eAnnotations>
- <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
</profileApplication>
- <profileApplication xmi:id="_jp8xYFFxEeWFqsbjn0GMrw">
- <eAnnotations xmi:id="_jp8xYVFxEeWFqsbjn0GMrw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_jp8xYFFxEeWFqsbjn0GMrw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_jp8xYVFxEeWFqsbjn0GMrw" 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#//usecases"/>
</eAnnotations>
- <appliedProfile href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
</profileApplication>
</uml:Model>
<Requirements:Satisfy xmi:id="_nVoY8FFxEeWFqsbjn0GMrw" base_Abstraction="_nViSUFFxEeWFqsbjn0GMrw"/>
diff --git a/core/org.eclipse.papyrus.sysml14/resources/profile/SysML.profile.genmodel b/core/org.eclipse.papyrus.sysml14/resources/profile/SysML.profile.genmodel
index b4837a9..1744f64 100644
--- a/core/org.eclipse.papyrus.sysml14/resources/profile/SysML.profile.genmodel
+++ b/core/org.eclipse.papyrus.sysml14/resources/profile/SysML.profile.genmodel
@@ -202,6 +202,7 @@
<genClasses xsi:type="genmodel:GenClass" ecoreClass="sysml.ecore#//deprecatedelements/FlowSpecification">
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference sysml.ecore#//deprecatedelements/FlowSpecification/base_Interface"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="sysml.ecore#//deprecatedelements/FlowSpecification/getFlowProperties"/>
</genClasses>
</nestedGenPackages>
<nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Portandflows" basePackage="org.eclipse.papyrus.sysml14"
diff --git a/core/org.eclipse.papyrus.sysml14/resources/profile/SysML.profile.uml b/core/org.eclipse.papyrus.sysml14/resources/profile/SysML.profile.uml
index 3b53527..ea9e662 100644
--- a/core/org.eclipse.papyrus.sysml14/resources/profile/SysML.profile.uml
+++ b/core/org.eclipse.papyrus.sysml14/resources/profile/SysML.profile.uml
@@ -794,6 +794,13 @@
<ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification_ownedAttribute.base_Interface" name="base_Interface" association="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface">
<type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
</ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_35VWsGa4EeW5JrLha2pcnA" name="getFlowProperties">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_35VWsWa4EeW5JrLha2pcnA" name="flowProperties" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35VWsma4EeW5JrLha2pcnA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35VWs2a4EeW5JrLha2pcnA" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
<icon xmi:type="uml:Image" xmi:id="_6IvdNkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml14.edit/resources/icons/FlowSpecification.gif">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IvdN0yQEeWwyrPSuNN58Q" source="image_papyrus">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IvdOEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
diff --git a/core/org.eclipse.papyrus.sysml14/resources/profile/sysml.ecore b/core/org.eclipse.papyrus.sysml14/resources/profile/sysml.ecore
index c09cfbe..23597ef 100644
--- a/core/org.eclipse.papyrus.sysml14/resources/profile/sysml.ecore
+++ b/core/org.eclipse.papyrus.sysml14/resources/profile/sysml.ecore
@@ -319,6 +319,7 @@
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A FlowSpecification specifies inputs and outputs as a set of flow properties. A flow specification is used by flow ports to specify what items can flow via the port."/>
</eAnnotations>
+ <eOperations name="getFlowProperties" ordered="false" upperBound="-1" eType="ecore:EClass ../../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Interface" ordered="false"
lowerBound="1" eType="ecore:EClass ../../../org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
</eClassifiers>
diff --git a/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/DeprecatedelementsPackage.java b/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/DeprecatedelementsPackage.java
index 72c0c3c..172c05a 100644
--- a/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/DeprecatedelementsPackage.java
+++ b/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/DeprecatedelementsPackage.java
@@ -161,13 +161,22 @@
int FLOW_SPECIFICATION_FEATURE_COUNT = 1;
/**
+ * The operation id for the '<em>Get Flow Properties</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FLOW_SPECIFICATION___GET_FLOW_PROPERTIES = 0;
+
+ /**
* The number of operations of the '<em>Flow Specification</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int FLOW_SPECIFICATION_OPERATION_COUNT = 0;
+ int FLOW_SPECIFICATION_OPERATION_COUNT = 1;
/**
@@ -245,6 +254,16 @@
EReference getFlowSpecification_Base_Interface();
/**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.sysml14.deprecatedelements.FlowSpecification#getFlowProperties() <em>Get Flow Properties</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Get Flow Properties</em>' operation.
+ * @see org.eclipse.papyrus.sysml14.deprecatedelements.FlowSpecification#getFlowProperties()
+ * @generated
+ */
+ EOperation getFlowSpecification__GetFlowProperties();
+
+ /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -327,6 +346,14 @@
*/
EReference FLOW_SPECIFICATION__BASE_INTERFACE = eINSTANCE.getFlowSpecification_Base_Interface();
+ /**
+ * The meta object literal for the '<em><b>Get Flow Properties</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation FLOW_SPECIFICATION___GET_FLOW_PROPERTIES = eINSTANCE.getFlowSpecification__GetFlowProperties();
+
}
} //DeprecatedelementsPackage
diff --git a/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/FlowSpecification.java b/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/FlowSpecification.java
index 9c6a385..e9476f2 100644
--- a/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/FlowSpecification.java
+++ b/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/FlowSpecification.java
@@ -12,9 +12,11 @@
*/
package org.eclipse.papyrus.sysml14.deprecatedelements;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Property;
/**
* <!-- begin-user-doc -->
@@ -63,4 +65,12 @@
*/
void setBase_Interface(Interface value);
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" ordered="false"
+ * @generated
+ */
+ EList<Property> getFlowProperties();
+
} // FlowSpecification
diff --git a/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/internal/impl/DeprecatedelementsPackageImpl.java b/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/internal/impl/DeprecatedelementsPackageImpl.java
index 2f3430c..2685e07 100644
--- a/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/internal/impl/DeprecatedelementsPackageImpl.java
+++ b/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/internal/impl/DeprecatedelementsPackageImpl.java
@@ -233,6 +233,15 @@
* <!-- end-user-doc -->
* @generated
*/
+ public EOperation getFlowSpecification__GetFlowProperties() {
+ return flowSpecificationEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public DeprecatedelementsFactory getDeprecatedelementsFactory() {
return (DeprecatedelementsFactory)getEFactoryInstance();
}
@@ -264,6 +273,7 @@
flowSpecificationEClass = createEClass(FLOW_SPECIFICATION);
createEReference(flowSpecificationEClass, FLOW_SPECIFICATION__BASE_INTERFACE);
+ createEOperation(flowSpecificationEClass, FLOW_SPECIFICATION___GET_FLOW_PROPERTIES);
}
/**
@@ -311,6 +321,8 @@
initEClass(flowSpecificationEClass, FlowSpecification.class, "FlowSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getFlowSpecification_Base_Interface(), theUMLPackage.getInterface(), null, "base_Interface", null, 1, 1, FlowSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEOperation(getFlowSpecification__GetFlowProperties(), theUMLPackage.getProperty(), "getFlowProperties", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
// Create resource
createResource(eNS_URI);
diff --git a/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/internal/impl/FlowSpecificationImpl.java b/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/internal/impl/FlowSpecificationImpl.java
index 8efd3ac..7af3e38 100644
--- a/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/internal/impl/FlowSpecificationImpl.java
+++ b/core/org.eclipse.papyrus.sysml14/src-gen/org/eclipse/papyrus/sysml14/deprecatedelements/internal/impl/FlowSpecificationImpl.java
@@ -12,8 +12,10 @@
*/
package org.eclipse.papyrus.sysml14.deprecatedelements.internal.impl;
+import java.lang.reflect.InvocationTargetException;
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
@@ -24,6 +26,7 @@
import org.eclipse.papyrus.sysml14.deprecatedelements.FlowSpecification;
import org.eclipse.uml2.uml.Interface;
+import org.eclipse.uml2.uml.Property;
/**
* <!-- begin-user-doc -->
@@ -111,6 +114,17 @@
* <!-- end-user-doc -->
* @generated
*/
+ public EList<Property> getFlowProperties() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
@@ -165,4 +179,18 @@
return super.eIsSet(featureID);
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case DeprecatedelementsPackage.FLOW_SPECIFICATION___GET_FLOW_PROPERTIES:
+ return getFlowProperties();
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
} //FlowSpecificationImpl
diff --git a/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/deprecatedelements/DeprecatedelementsCustomFactoryImpl.java b/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/deprecatedelements/DeprecatedelementsCustomFactoryImpl.java
index 23aa897..c645428 100644
--- a/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/deprecatedelements/DeprecatedelementsCustomFactoryImpl.java
+++ b/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/deprecatedelements/DeprecatedelementsCustomFactoryImpl.java
@@ -20,7 +20,7 @@
* this class has been added in order to integrated specific implementation of Stereotypes: FlowPort.
* Specific code has been added to calculate derived properties see Requirement Req0010 DerivedProperties
*
- *
+ * and also FlowSpecification
*/
public class DeprecatedelementsCustomFactoryImpl extends DeprecatedelementsFactoryImpl implements
DeprecatedelementsFactory {
@@ -34,5 +34,15 @@
public FlowPort createFlowPort() {
return new FlowPortCustomImpl();
}
+
+ /**
+ * @see org.eclipse.papyrus.sysml14.deprecatedelements.internal.impl.DeprecatedelementsFactoryImpl#createFlowSpecification()
+ *
+ * @return the FlowSpecification
+ */
+ @Override
+ public FlowSpecification createFlowSpecification() {
+ return new FlowSpecificationCustomImpl();
+ }
}
diff --git a/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/deprecatedelements/FlowSpecificationCustomImpl.java b/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/deprecatedelements/FlowSpecificationCustomImpl.java
new file mode 100644
index 0000000..a9431c4
--- /dev/null
+++ b/core/org.eclipse.papyrus.sysml14/src/org/eclipse/papyrus/sysml14/deprecatedelements/FlowSpecificationCustomImpl.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * 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 (CEA LIST) francois.le-fevre@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml14.deprecatedelements;
+
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.papyrus.sysml14.deprecatedelements.internal.impl.FlowSpecificationImpl;
+import org.eclipse.papyrus.sysml14.portandflows.FlowProperty;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * this class has been implemented in order to calculate derived properties of "FlowSpecification" stereotype see Requirement DerivedProperties ReqXXX
+ *
+ */
+public class FlowSpecificationCustomImpl extends FlowSpecificationImpl implements FlowSpecification{
+
+ /**
+ *
+ * @see org.eclipse.papyrus.sysml14.blocks.internal.impl.FlowSpecificationImpl#getFlowProperties()
+ * @pap.req org.eclipse.papyrus.sysml14#REQ-XXX
+ *
+ * @return the list of FlowProperties
+ */
+ @Override
+ public EList<Property> getFlowProperties() {
+ BasicEList<Property> propertyEList = new BasicEList<Property>();
+
+ if (getBase_Interface() != null) {
+ EList<Property> ownedAttributes = getBase_Interface().getOwnedAttributes();
+ for (Property property : ownedAttributes) {
+ FlowProperty stereotypeApplication = UMLUtil.getStereotypeApplication(property, FlowProperty.class);
+ if (stereotypeApplication != null){
+ propertyEList.add(property);
+ }
+ }
+ }
+
+ return new BasicEList.UnmodifiableEList<Property>(propertyEList.size(), propertyEList.toArray());
+ }
+
+}
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/META-INF/MANIFEST.MF b/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/META-INF/MANIFEST.MF
index 79eb15e..0d9fc02 100644
--- a/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/META-INF/MANIFEST.MF
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/META-INF/MANIFEST.MF
@@ -22,4 +22,7 @@
Eclipse-BuddyPolicy: dependent
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.papyrus.sysml14.diagram.blockdefinition,
- org.eclipse.papyrus.sysml14.diagram.blockdefinition.factory
+ org.eclipse.papyrus.sysml14.diagram.blockdefinition.factory,
+ org.eclipse.papyrus.sysml14.diagram.blockdefinition.internal.factory;x-internal:=true,
+ org.eclipse.papyrus.sysml14.diagram.blockdefinition.provider
+
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/configuration/blockDefinitionDiagramConfig.expansionmodel b/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/configuration/blockDefinitionDiagramConfig.expansionmodel
index ae1bf68..5465716 100644
--- a/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/configuration/blockDefinitionDiagramConfig.expansionmodel
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/configuration/blockDefinitionDiagramConfig.expansionmodel
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<expansionmodel:DiagramExpansion xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:expansionmodel="http:///expansionmodel.ecore" xmi:id="_BOX98NnkEeSFtu511b-yaw" ID="SysML 1.4 BDD">
- <usages xmi:id="_rC19oNnoEeSqwOe5_frWm1" diagramType="SysML 1.4 Block Definition" representations="_rC19oNnoEeSqwOe5_frWm2 _CvN1kFVqEeW77p7V_ZuW3Q" name="SysML 1.4 BDD Context">
+ <usages xmi:id="_rC19oNnoEeSqwOe5_frWm1" diagramType="SysML 1.4 Block Definition" representations="_rC19oNnoEeSqwOe5_frWm2 _CvN1kFVqEeW77p7V_ZuW3Q _dq31kGdDEeW5JrLha2pcnA" name="SysML 1.4 BDD Context">
<gmftRepresentations xmi:id="_rC19oNnoEeSqwOe5_frWm2" editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ClassEditPart" name="Block based on Class representation of class diagram" viewFactory="org.eclipse.papyrus.sysml14.diagram.blockdefinition.factory.BlockClassifierViewFactory" inducedRepresentations="_rC19oNnoEeSqwOe5_frWm6 _CvPDslVqEeW77p7V_ZuW3Q _rC19oNnoEeSqwOe5_frWm7 _CvPDs1VqEeW77p7V_ZuW3Q _CvPDtFVqEeW77p7V_ZuW3Q _CvPDtVVqEeW77p7V_ZuW3Q _CSMSEGFBEeWbSMDuSXx8SQ" subRepresentations="_CvN1kVVqEeW77p7V_ZuW3Q _CvOcoVVqEeW77p7V_ZuW3Q _CvOcolVqEeW77p7V_ZuW3Q _CvOco1VqEeW77p7V_ZuW3Q" reusedID="2008"/>
+ <gmftRepresentations xmi:id="_dq31kGdDEeW5JrLha2pcnA" editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceEditPart" name="FlowSpecification based on Interface representation of class diagram" viewFactory="org.eclipse.papyrus.sysml14.diagram.blockdefinition.internal.factory.FlowSpecificationClassifierViewFactory" graphicalElementType="" inducedRepresentations="_CSMSEGFBEeWbSMDuSXx8SQ" subRepresentations="_CvN1kVVqEeW77p7V_ZuW3Q" reusedID="2004"/>
</usages>
<libraries xmi:id="_rC19oNnoEeSqwOe5_frWm3" name="Independant Representations">
<representations xsi:type="expansionmodel:Representation" xmi:id="_rC19oNnoEeSqwOe5_frWm4" editPartQualifiedName="org.eclipse.papyrus.uml.diagram.clazz.edit.parts.PropertyForClassEditPart" name="Flow Port As Label" viewFactory="org.eclipse.papyrus.gmf.diagram.common.factory.ShapeViewFactory" graphicalElementType="org.eclipse.papyrus.SysML14.FlowPort_Label"/>
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/doc/org.eclipse.papyrus.sysml.14.diagram.blockdefinition.uml b/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/doc/org.eclipse.papyrus.sysml.14.diagram.blockdefinition.uml
index 1ad823c..af797b0 100644
--- a/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/doc/org.eclipse.papyrus.sysml.14.diagram.blockdefinition.uml
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/doc/org.eclipse.papyrus.sysml.14.diagram.blockdefinition.uml
@@ -69,6 +69,11 @@
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_uPHlAGAyEeWhfPUqbhxdNA" name="REQ_001"/>
<packagedElement xmi:type="uml:Abstraction" xmi:id="_uRFT4GAyEeWhfPUqbhxdNA" name="DeriveFrom_Block display" client="_uPHlAGAyEeWhfPUqbhxdNA" supplier="_a0GrwOLIEeSv5dwvZ9NSDw"/>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_uRFT4GAyEeWhfPUqbhxdNA" name="DeriveFrom_Block display" client="_uPHlAGAyEeWhfPUqbhxdNA" supplier="_a0GrwOLIEeSv5dwvZ9NSDw"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_13F9sGauEeWv7P_h5u3SSw" name="REQ_002 FlowSpecification display"/>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_14bacGauEeWv7P_h5u3SSw" name="DeriveFrom_REQ-OMG-SYSML14-C.3.1.2 FlowSpecification" client="_13F9sGauEeWv7P_h5u3SSw">
+ <supplier xmi:type="uml:Class" href="../../../org.eclipse.papyrus-sysml/core/org.eclipse.papyrus.sysml14/doc/omg.sysml.uml#_66bUujq8EeW79ofuztDyTA"/>
+ </packagedElement>
<packagedElement xmi:type="uml:Abstraction" xmi:id="_rHmEMGalEeWv7P_h5u3SSw" name="DeriveFrom_REQ-OMG-SYSML14-16.3.2.5 TestCase" client="_rFDGgGalEeWv7P_h5u3SSw">
<supplier xmi:type="uml:Class" href="../../../org.eclipse.papyrus-sysml/core/org.eclipse.papyrus.sysml14/doc/omg.sysml.uml#_66XDTzq8EeW79ofuztDyTA"/>
</packagedElement>
@@ -167,4 +172,6 @@
<Requirements:DeriveReqt xmi:id="_4VwHkGalEeWv7P_h5u3SSw" base_Abstraction="_4VvggGalEeWv7P_h5u3SSw"/>
<Requirements:Requirement xmi:id="_5JAwgGalEeWv7P_h5u3SSw" text="Block Definition Diagram should have a palette element to create Interaction with TestCase stereotype.
TestCase details here https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/target/site/norm/ptc-13-12-10.pdf#page=186" id="REQ_007" base_Class="_5JAJcGalEeWv7P_h5u3SSw"/>
<Requirements:DeriveReqt xmi:id="_5JB-oGalEeWv7P_h5u3SSw" base_Abstraction="_5JBXkGalEeWv7P_h5u3SSw"/>
+ <Requirements:Requirement xmi:id="_14azYGauEeWv7P_h5u3SSw" text="A FlowSpecification has a “flowProperties” compartment that lists the flow properties.
FlowSpecification details here https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-website/ws/target/site/norm/ptc-13-12-10.pdf#page=224" id="REQ_002" base_Class="_13F9sGauEeWv7P_h5u3SSw"/>
+ <Requirements:DeriveReqt xmi:id="_14bacWauEeWv7P_h5u3SSw" base_Abstraction="_14bacGauEeWv7P_h5u3SSw"/>
</xmi:XMI>
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/style/blockDefinitionDiagram.css b/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/style/blockDefinitionDiagram.css
index 4ad9f7f..0e38182 100644
--- a/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/style/blockDefinitionDiagram.css
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/style/blockDefinitionDiagram.css
@@ -35,6 +35,11 @@
lineColor: orange;
}
+[appliedStereotypes~="FlowSpecification"]{
+ elementIcon:false;
+ displayIcon:false;
+}
+
[appliedStereotypes~="FlowSpecification"] > Compartment[kind=flowproperties]{
visible: true;
}
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/src/org/eclipse/papyrus/sysml14/diagram/blockdefinition/internal/factory/FlowSpecificationClassifierViewFactory.java b/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/src/org/eclipse/papyrus/sysml14/diagram/blockdefinition/internal/factory/FlowSpecificationClassifierViewFactory.java
new file mode 100644
index 0000000..ea111cb
--- /dev/null
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.blockdefinition/src/org/eclipse/papyrus/sysml14/diagram/blockdefinition/internal/factory/FlowSpecificationClassifierViewFactory.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml14.diagram.blockdefinition.internal.factory;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.diagram.core.view.factories.ViewFactory;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.papyrus.sysml14.diagram.common.internal.factory.util.ClassifierViewFactoryUtil;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceAttributeCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceFloatingNameEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceNameEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceNestedClassifierCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.InterfaceOperationCompartmentEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.part.UMLVisualIDRegistry;
+import org.eclipse.papyrus.uml.diagram.common.helper.PreferenceInitializerForElementHelper;
+
+/**
+ *
+ * Extraction from org.eclipse.papyrus/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz/src/org/eclipse/papyrus/uml/diagram/clazz/providers/UMLViewProvider.java
+ *
+ */
+public class FlowSpecificationClassifierViewFactory implements ViewFactory {
+
+ @Override
+ public View createView(IAdaptable semanticAdapter, View containerView, String semanticHint, int index,
+ boolean persisted, PreferencesHint preferencesHint) {
+ return createInterface_2004((EObject) semanticAdapter.getAdapter(EObject.class), containerView, semanticHint, index, persisted, preferencesHint);
+ }
+
+ public Node createInterface_2004(EObject domainElement, View containerView, String semanticHint, int index, boolean persisted, PreferencesHint preferencesHint) {
+ Shape node = NotationFactory.eINSTANCE.createShape();
+ node.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+ node.setType(semanticHint);
+ ViewUtil.insertChildView(containerView, node, index, persisted);
+ node.setElement(domainElement);
+ ClassifierViewFactoryUtil.stampShortcut(containerView, node);
+ // initializeFromPreferences
+ final IPreferenceStore prefStore = (IPreferenceStore) preferencesHint.getPreferenceStore();
+
+ PreferenceInitializerForElementHelper.initFontStyleFromPrefs(node, prefStore, "Interface");
+ ClassifierViewFactoryUtil.createLabel(node, UMLVisualIDRegistry.getType(InterfaceNameEditPart.VISUAL_ID));
+ Node label8507 = ClassifierViewFactoryUtil.createLabel(node, UMLVisualIDRegistry.getType(InterfaceFloatingNameEditPart.VISUAL_ID));
+ label8507.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+ Location location8507 = (Location) label8507.getLayoutConstraint();
+ location8507.setX(0);
+ location8507.setY(5);
+
+ //TODO @pap.req Flow specifications cannot own operations or receptions (they can only own FlowProperties).
+ ClassifierViewFactoryUtil.createCompartment(node, UMLVisualIDRegistry.getType(InterfaceAttributeCompartmentEditPart.VISUAL_ID), true, true, true, true);
+ ClassifierViewFactoryUtil.createCompartment(node, UMLVisualIDRegistry.getType(InterfaceOperationCompartmentEditPart.VISUAL_ID), true, true, true, true);
+ ClassifierViewFactoryUtil.createCompartment(node, UMLVisualIDRegistry.getType(InterfaceNestedClassifierCompartmentEditPart.VISUAL_ID), true, true, true, true);
+ PreferenceInitializerForElementHelper.initCompartmentsStatusFromPrefs(node, prefStore, "Interface");
+ return node;
+ }
+}
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.common/META-INF/MANIFEST.MF b/diagram/org.eclipse.papyrus.sysml14.diagram.common/META-INF/MANIFEST.MF
index a7b8e84..49f7780 100644
--- a/diagram/org.eclipse.papyrus.sysml14.diagram.common/META-INF/MANIFEST.MF
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.common/META-INF/MANIFEST.MF
@@ -38,6 +38,7 @@
org.eclipse.papyrus.sysml14.diagram.common.edit.parts,
org.eclipse.papyrus.sysml14.diagram.common.factory,
org.eclipse.papyrus.sysml14.diagram.common.figure,
+ org.eclipse.papyrus.sysml14.diagram.common.internal.factory.util;x-internal:=true,
org.eclipse.papyrus.sysml14.diagram.common.locator
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.common/resources/style/sysmlDiagram.css b/diagram/org.eclipse.papyrus.sysml14.diagram.common/resources/style/sysmlDiagram.css
index c60469b..b96b0c2 100644
--- a/diagram/org.eclipse.papyrus.sysml14.diagram.common/resources/style/sysmlDiagram.css
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.common/resources/style/sysmlDiagram.css
@@ -32,6 +32,11 @@
visible: true;
}
+[appliedStereotypes~="FlowSpecification"]{
+ elementIcon:false;
+ displayIcon:false;
+}
+
[appliedStereotypes~="FlowSpecification"] > Compartment[kind=flowproperties]{
visible: true;
}
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.common/src/org/eclipse/papyrus/sysml14/diagram/common/internal/factory/util/ClassifierViewFactoryUtil.java b/diagram/org.eclipse.papyrus.sysml14.diagram.common/src/org/eclipse/papyrus/sysml14/diagram/common/internal/factory/util/ClassifierViewFactoryUtil.java
new file mode 100644
index 0000000..d77ccfa
--- /dev/null
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.common/src/org/eclipse/papyrus/sysml14/diagram/common/internal/factory/util/ClassifierViewFactoryUtil.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml14.diagram.common.internal.factory.util;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.uml.diagram.clazz.edit.parts.ModelEditPart;
+import org.eclipse.papyrus.uml.diagram.clazz.part.UMLVisualIDRegistry;
+
+/**
+ * @author Francois Le Fevre
+ *
+ */
+public class ClassifierViewFactoryUtil {
+
+ public static Node createLabel(View owner, String hint) {
+ DecorationNode rv = NotationFactory.eINSTANCE.createDecorationNode();
+ rv.setType(hint);
+ ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true);
+ return rv;
+ }
+
+ public static void stampShortcut(View containerView, Node target) {
+ if (!ModelEditPart.MODEL_ID.equals(UMLVisualIDRegistry.getModelID(containerView))) {
+ EAnnotation shortcutAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
+ shortcutAnnotation.setSource("Shortcut"); //$NON-NLS-1$
+ shortcutAnnotation.getDetails().put("modelID", ModelEditPart.MODEL_ID); //$NON-NLS-1$
+ target.getEAnnotations().add(shortcutAnnotation);
+ }
+ }
+
+ public static Node createCompartment(View owner, String hint, boolean canCollapse, boolean hasTitle, boolean canSort, boolean canFilter) {
+ Node rv;
+ if (canCollapse) {
+ rv = NotationFactory.eINSTANCE.createBasicCompartment();
+ } else {
+ rv = NotationFactory.eINSTANCE.createDecorationNode();
+ }
+
+ rv.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+
+ if (hasTitle) {
+ TitleStyle ts = NotationFactory.eINSTANCE.createTitleStyle();
+ rv.getStyles().add(ts);
+ }
+ if (canSort) {
+ rv.getStyles().add(NotationFactory.eINSTANCE.createSortingStyle());
+ }
+ if (canFilter) {
+ rv.getStyles().add(NotationFactory.eINSTANCE.createFilteringStyle());
+ }
+ rv.setType(hint);
+ ViewUtil.insertChildView(owner, rv, ViewUtil.APPEND, true);
+ return rv;
+ }
+
+}
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.internalblock/resources/style/internalBlockDiagram.css b/diagram/org.eclipse.papyrus.sysml14.diagram.internalblock/resources/style/internalBlockDiagram.css
index 5d703eb..2ee8699 100644
--- a/diagram/org.eclipse.papyrus.sysml14.diagram.internalblock/resources/style/internalBlockDiagram.css
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.internalblock/resources/style/internalBlockDiagram.css
@@ -40,6 +40,11 @@
visible: true;
}
+[appliedStereotypes~="FlowSpecification"]{
+ elementIcon:false;
+ displayIcon:false;
+}
+
[appliedStereotypes~="FlowSpecification"] > Compartment[kind=flowproperties]{
visible: true;
}
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.parametric/resources/style/parametricDiagram.css b/diagram/org.eclipse.papyrus.sysml14.diagram.parametric/resources/style/parametricDiagram.css
index 5a39e26..f9a8a57 100644
--- a/diagram/org.eclipse.papyrus.sysml14.diagram.parametric/resources/style/parametricDiagram.css
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.parametric/resources/style/parametricDiagram.css
@@ -40,6 +40,11 @@
visible: true;
}
+[appliedStereotypes~="FlowSpecification"]{
+ elementIcon:false;
+ displayIcon:false;
+}
+
[appliedStereotypes~="FlowSpecification"] > Compartment[kind=flowproperties]{
visible: true;
}
diff --git a/diagram/org.eclipse.papyrus.sysml14.diagram.requirement/resources/style/requirementDiagram.css b/diagram/org.eclipse.papyrus.sysml14.diagram.requirement/resources/style/requirementDiagram.css
index d37f774..cf0b27e 100644
--- a/diagram/org.eclipse.papyrus.sysml14.diagram.requirement/resources/style/requirementDiagram.css
+++ b/diagram/org.eclipse.papyrus.sysml14.diagram.requirement/resources/style/requirementDiagram.css
@@ -40,6 +40,11 @@
visible: true;
}
+[appliedStereotypes~="FlowSpecification"]{
+ elementIcon:false;
+ displayIcon:false;
+}
+
[appliedStereotypes~="FlowSpecification"] > Compartment[kind=flowproperties]{
visible: true;
}
diff --git a/src/site/xdoc/developer/home.xml b/src/site/xdoc/developer/home.xml
index e7e0407..d994cf4 100644
--- a/src/site/xdoc/developer/home.xml
+++ b/src/site/xdoc/developer/home.xml
@@ -9,6 +9,7 @@
<body>
<section name="Developer">
<p>This section is dedicated for developers. It should be the main entry point.</p>
+ <p>Have a look to default rules <a href="miscellaneous.html">miscellaneous.html</a></p>
</section>
<section name="Environment">
diff --git a/src/site/xdoc/developer/miscellaneous.xml b/src/site/xdoc/developer/miscellaneous.xml
new file mode 100644
index 0000000..c508ca0
--- /dev/null
+++ b/src/site/xdoc/developer/miscellaneous.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
+
+ <properties>
+ <title>SysML - Tools Generation Standard Operating Procedure</title>
+ </properties>
+
+ <body>
+ <section name="Developer Rules">
+ <subsection name="Package Export">
+ <p>Apply the Eclipse stanadrds rules and export all packages, even
+ if it flaged as internal.</p>
+ <source>org.eclipse.papyrus.sysml14.diagram.blockdefinition.internal.factory;x-internal:=true
+ </source>
+ </subsection>
+ </section>
+
+ </body>
+
+</document>
\ No newline at end of file
diff --git a/src/site/xdoc/developer/sop3-upgradingNorm.xml b/src/site/xdoc/developer/sop3-upgradingNorm.xml
index 9ea2874..de912e8 100644
--- a/src/site/xdoc/developer/sop3-upgradingNorm.xml
+++ b/src/site/xdoc/developer/sop3-upgradingNorm.xml
@@ -16,37 +16,38 @@
<section name="SOP">
<subsection name="Documentation">
- <p>Add your new operations here:
+ <p>Reference your new operations here, in order to be able to process the model automatically in a near future.:
/org.eclipse.papyrus.sysml14/doc/SysML-Extension.di
</p>
- <p>Open it with UML Editor to access UML type</p>
- <p>Add your requirements here:
+ <p>Open it with UML Editor to access UML type and cardinality</p>
+ <p>Add your requirements here by creating a new derive requirement with Papyrus Req plugin:
/org.eclipse.papyrus.sysml14/doc/org.eclipse.papyrus.sysml14.di
</p>
</subsection>
<subsection name="SysML profile: semantic upgrade">
<p>Modify
/org.eclipse.papyrus.sysml14/resources/profile/SysML.profile.uml to
- add a new operation.
+ add a new operation, with its parameters.
</p>
- <p>Open the genmodel and reload the UMl profile and regenerate the
- code.
+ <p>Open the genmodel and reload the UMl profile and regenerate the Model and Edit code.
</p>
- <p>validation you enhance code should be in
- /org.eclipse.papyrus.sysml14/src-gen
+ <p>Validate your enhancement by looking in /org.eclipse.papyrus.sysml14/src-gen
</p>
- <p>Implement the function in the /org.eclipse.papyrus.sysml14/src
+ <p>Implement the function in the /org.eclipse.papyrus.sysml14/src; do not forget to reference the requirement
</p>
</subsection>
<subsection name="SysML diagram upgrade">
<p>Modify the Expansion diagram of your
/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/configuration/blockDefinitionDiagramConfig.expansionmodel
</p>
+ <p>Add new representation, a new induced representation and do not forget to add it to the context.</p>
+ <p>Becareful the editor replace all platform:/plugin by a ../.../.. </p>
</subsection>
<subsection name="SysML element type">
<p>/org.eclipse.papyrus.sysml14.diagram.common/resources/SysML14ClassDiagram-extension.elementtypesconfigurations
</p>
+ <p>Add a new Specialization type configuration and eventually its edit helper</p>
</subsection>
<subsection name="Palette">
<p>Add your element in the palette: