diff options
author | Florian Noyrit | 2013-12-03 12:38:09 +0000 |
---|---|---|
committer | Florian Noyrit | 2013-12-03 12:38:09 +0000 |
commit | 1878fdd63943831fe1b37dd047ceccaa12dea151 (patch) | |
tree | 5f20ca68d813d8565b1e31267b05f9ad4dd14b2f /extraplugins | |
parent | d11f894d6657fd7ccb54a63b68c4ab85d86ac5af (diff) | |
parent | f8c78e32ae5daba95f988a5cee449047a3c5ee1b (diff) | |
download | org.eclipse.papyrus-1878fdd63943831fe1b37dd047ceccaa12dea151.tar.gz org.eclipse.papyrus-1878fdd63943831fe1b37dd047ceccaa12dea151.tar.xz org.eclipse.papyrus-1878fdd63943831fe1b37dd047ceccaa12dea151.zip |
Merge branch 'master' of ssh://fnoyrit@git.eclipse.org/gitroot/papyrus/org.eclipse.papyrus.git into facade
Diffstat (limited to 'extraplugins')
590 files changed, 36181 insertions, 13518 deletions
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/META-INF/MANIFEST.MF b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/META-INF/MANIFEST.MF index b4edabcd6ec..efb7a5e3013 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/META-INF/MANIFEST.MF +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.papyrus.osgi.profile;bundle-version="0.10.1"
+ org.eclipse.papyrus.osgi.profile
Export-Package: org.eclipse.papyrus.adl4eclipse.org
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/build.properties b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/build.properties index 6f20375d6c7..8665ac2ffec 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/build.properties +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/build.properties @@ -2,4 +2,5 @@ source.. = src/ output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.xml
+ plugin.xml,\
+ plugin.properties
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/resource/adl4eclipse.profile.notation b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/resource/adl4eclipse.profile.notation index 7de5f914b38..87e6934b315 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/resource/adl4eclipse.profile.notation +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipse.profile/resource/adl4eclipse.profile.notation @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:l2="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
<notation:Diagram xmi:id="_nE-wwHz7EeKfO4elN3J5Fw" type="PapyrusUMLProfileDiagram" name="Overview" measurementUnit="Pixel">
- <children xmi:type="notation:Shape" xmi:id="_vjaVoHz7EeKfO4elN3J5Fw" type="1026" gradient="10011046, -1, 0">
+ <children xmi:type="notation:Shape" xmi:id="_vjaVoHz7EeKfO4elN3J5Fw" type="1026" gradient="10011046, -1, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_vjaVonz7EeKfO4elN3J5Fw" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_vjaVo3z7EeKfO4elN3J5Fw" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vjktsHz7EeKfO4elN3J5Fw" source="PapyrusCSSForceValue">
@@ -76,7 +76,7 @@ <element xmi:type="uml:Stereotype" href="adl4eclipse.profile.uml#_vi0fwHz7EeKfO4elN3J5Fw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_vjaVoXz7EeKfO4elN3J5Fw" x="410" y="250"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_ygqw8Hz7EeKfO4elN3J5Fw" type="1026">
+ <children xmi:type="notation:Shape" xmi:id="_ygqw8Hz7EeKfO4elN3J5Fw" type="1026" gradient="8905185, 16777215, 0">
<children xmi:type="notation:DecorationNode" xmi:id="_ygqw8nz7EeKfO4elN3J5Fw" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_ygqw83z7EeKfO4elN3J5Fw" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ygqw_Xz7EeKfO4elN3J5Fw" source="PapyrusCSSForceValue">
@@ -108,14 +108,14 @@ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tXgK0tT3EeKj0Lzrn2trlQ"/>
</children>
<element xmi:type="uml:Stereotype" href="pathmap://OSGI_PROFILES/osgi.profile.uml#_esaOUHtxEeKcL-wrhM9ICg"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygqw8Xz7EeKfO4elN3J5Fw" x="415" y="85" width="546" height="55"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygqw8Xz7EeKfO4elN3J5Fw" x="375" y="85" width="586" height="55"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_gDLFcHz8EeKfO4elN3J5Fw" type="1002">
<children xmi:type="notation:DecorationNode" xmi:id="_gDLFcnz8EeKfO4elN3J5Fw" type="3"/>
<element xmi:type="uml:Comment" href="adl4eclipse.profile.uml#_gCuZgHz8EeKfO4elN3J5Fw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gDLFcXz8EeKfO4elN3J5Fw" x="35" y="5" width="426" height="51"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_d7PdsHz-EeKfO4elN3J5Fw" type="1026">
+ <children xmi:type="notation:Shape" xmi:id="_d7PdsHz-EeKfO4elN3J5Fw" type="1026" gradient="8905185, 16777215, 0">
<children xmi:type="notation:DecorationNode" xmi:id="_d7QEwHz-EeKfO4elN3J5Fw" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_d7QEwXz-EeKfO4elN3J5Fw" visible="false" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_d7Qr0Hz-EeKfO4elN3J5Fw" source="PapyrusCSSForceValue">
@@ -145,7 +145,7 @@ <element xmi:type="uml:Stereotype" href="pathmap://OSGI_PROFILES/osgi.profile.uml#_VklNMHzcEeKDPtIRpgUgbg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_d7PdsXz-EeKfO4elN3J5Fw" x="1110" y="83" width="142" height="53"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_hO9RMHz-EeKfO4elN3J5Fw" type="1026" gradient="10011046, -1, 0">
+ <children xmi:type="notation:Shape" xmi:id="_hO9RMHz-EeKfO4elN3J5Fw" type="1026" gradient="10011046, -1, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_hO9RMnz-EeKfO4elN3J5Fw" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_hO94QHz-EeKfO4elN3J5Fw" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hO94Snz-EeKfO4elN3J5Fw" source="PapyrusCSSForceValue">
@@ -182,7 +182,7 @@ <element xmi:type="uml:Stereotype" href="adl4eclipse.profile.uml#_hOsLcHz-EeKfO4elN3J5Fw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_hO9RMXz-EeKfO4elN3J5Fw" x="880" y="245" width="381" height="61"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_sy28wHz_EeKfO4elN3J5Fw" type="1031" gradient="10011046, -1, 0">
+ <children xmi:type="notation:Shape" xmi:id="_sy28wHz_EeKfO4elN3J5Fw" type="1031" gradient="10011046, -1, 0" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sy28xHz_EeKfO4elN3J5Fw" source="Stereotype_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sy28xXz_EeKfO4elN3J5Fw" key="StereotypeWithQualifiedNameList" value=""/>
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_sy28xnz_EeKfO4elN3J5Fw" key="StereotypeList" value="StandardProfileL2::Metaclass"/>
@@ -206,7 +206,7 @@ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_sy28w3z_EeKfO4elN3J5Fw" x="950" y="415"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_en_kEH0AEeKfO4elN3J5Fw" type="2006" gradient="10011046, -1, 0">
+ <children xmi:type="notation:Shape" xmi:id="_en_kEH0AEeKfO4elN3J5Fw" type="2006" gradient="10011046, -1, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_en_kEn0AEeKfO4elN3J5Fw" type="5023"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_en_kE30AEeKfO4elN3J5Fw" type="1063">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eoIuAH0AEeKfO4elN3J5Fw" source="PapyrusCSSForceValue">
@@ -255,7 +255,7 @@ <element xmi:type="uml:Enumeration" href="adl4eclipse.profile.uml#_ensCEH0AEeKfO4elN3J5Fw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_en_kEX0AEeKfO4elN3J5Fw" x="33" y="358" width="168"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_mMxHoH0BEeKfO4elN3J5Fw" type="2006" gradient="10011046, -1, 0">
+ <children xmi:type="notation:Shape" xmi:id="_mMxHoH0BEeKfO4elN3J5Fw" type="2006" gradient="10011046, -1, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_mMxHon0BEeKfO4elN3J5Fw" type="5023"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_mMxHo30BEeKfO4elN3J5Fw" type="1063">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mMxHqH0BEeKfO4elN3J5Fw" source="PapyrusCSSForceValue">
@@ -292,7 +292,7 @@ </children>
<styles xmi:type="notation:FontStyle" xmi:id="_0X-34Xz7EeKfO4elN3J5Fw"/>
<element xmi:type="uml:Generalization" href="adl4eclipse.profile.uml#_0XYa8Hz7EeKfO4elN3J5Fw"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0X-34nz7EeKfO4elN3J5Fw" points="[10, -17, -1, 123]$[10, -127, -1, 13]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0X-34nz7EeKfO4elN3J5Fw" points="[2, -24, -27, 123]$[2, -134, -27, 13]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0YktwHz7EeKfO4elN3J5Fw" id="(0.44,0.12)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0YktwXz7EeKfO4elN3J5Fw" id="(0.32,0.78)"/>
</edges>
@@ -333,7 +333,7 @@ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AhkYgHz_EeKfO4elN3J5Fw" id="(0.10648148148148148,0.1320754716981132)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ahk_kHz_EeKfO4elN3J5Fw" id="(0.9414893617021277,0.7272727272727273)"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_tuqdsHz_EeKfO4elN3J5Fw" type="4001" source="_vjaVoHz7EeKfO4elN3J5Fw" target="_sy28wHz_EeKfO4elN3J5Fw" routing="Rectilinear">
+ <edges xmi:type="notation:Connector" xmi:id="_tuqdsHz_EeKfO4elN3J5Fw" type="4001" source="_vjaVoHz7EeKfO4elN3J5Fw" target="_sy28wHz_EeKfO4elN3J5Fw" routing="Rectilinear" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_tuqds3z_EeKfO4elN3J5Fw" visible="false" type="6001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_tuqdtHz_EeKfO4elN3J5Fw" y="60"/>
</children>
@@ -437,7 +437,7 @@ <element xmi:type="uml:Profile" href="adl4eclipse.profile.uml#_nE1m0Hz7EeKfO4elN3J5Fw"/>
</notation:Diagram>
<notation:Diagram xmi:id="_5XfK4NT3EeKj0Lzrn2trlQ" type="PapyrusUMLProfileDiagram" name="Feature" measurementUnit="Pixel">
- <children xmi:type="notation:Shape" xmi:id="_6M5v8NT3EeKj0Lzrn2trlQ" type="1026">
+ <children xmi:type="notation:Shape" xmi:id="_6M5v8NT3EeKj0Lzrn2trlQ" type="1026" gradient="10011046, 16777215, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_6M5v8tT3EeKj0Lzrn2trlQ" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_6M5v89T3EeKj0Lzrn2trlQ" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6NC54NT3EeKj0Lzrn2trlQ" source="PapyrusCSSForceValue">
@@ -503,7 +503,7 @@ <element xmi:type="uml:Stereotype" href="adl4eclipse.profile.uml#_6MKJENT3EeKj0Lzrn2trlQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_6M5v8dT3EeKj0Lzrn2trlQ" x="460" y="285"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_ATlaUNT4EeKj0Lzrn2trlQ" type="1031">
+ <children xmi:type="notation:Shape" xmi:id="_ATlaUNT4EeKj0Lzrn2trlQ" type="1031" gradient="8905185, 16777215, 0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ATlaVNT4EeKj0Lzrn2trlQ" source="Stereotype_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ATlaVdT4EeKj0Lzrn2trlQ" key="StereotypeWithQualifiedNameList" value=""/>
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ATlaVtT4EeKj0Lzrn2trlQ" key="StereotypeList" value="StandardProfileL2::Metaclass"/>
@@ -527,7 +527,7 @@ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ATlaU9T4EeKj0Lzrn2trlQ" x="480" y="110"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_29ZRkNT4EeKj0Lzrn2trlQ" type="1026">
+ <children xmi:type="notation:Shape" xmi:id="_29ZRkNT4EeKj0Lzrn2trlQ" type="1026" gradient="10011046, 16777215, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_29ZRktT4EeKj0Lzrn2trlQ" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_29ZRk9T4EeKj0Lzrn2trlQ" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_29ZRndT4EeKj0Lzrn2trlQ" source="PapyrusCSSForceValue">
@@ -565,7 +565,7 @@ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BBHOstT4EeKj0Lzrn2trlQ" points="[-7, -14, -13, 206]$[-44, -212, -50, 8]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BBQ_sNT4EeKj0Lzrn2trlQ" id="(0.48717948717948717,0.03571428571428571)"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_4wsbMNT4EeKj0Lzrn2trlQ" type="4001" source="_6M5v8NT3EeKj0Lzrn2trlQ" target="_29ZRkNT4EeKj0Lzrn2trlQ">
+ <edges xmi:type="notation:Connector" xmi:id="_4wsbMNT4EeKj0Lzrn2trlQ" type="4001" source="_6M5v8NT3EeKj0Lzrn2trlQ" target="_29ZRkNT4EeKj0Lzrn2trlQ" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_4wsbM9T4EeKj0Lzrn2trlQ" visible="false" type="6001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_4wsbNNT4EeKj0Lzrn2trlQ" y="60"/>
</children>
@@ -590,7 +590,7 @@ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4w_WINT4EeKj0Lzrn2trlQ" id="(0.8910256410256411,0.45454545454545453)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4w_WIdT4EeKj0Lzrn2trlQ" id="(0.19,0.40993788819875776)"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_CEsWINT5EeKj0Lzrn2trlQ" type="4001" source="_6M5v8NT3EeKj0Lzrn2trlQ" target="_6M5v8NT3EeKj0Lzrn2trlQ">
+ <edges xmi:type="notation:Connector" xmi:id="_CEsWINT5EeKj0Lzrn2trlQ" type="4001" source="_6M5v8NT3EeKj0Lzrn2trlQ" target="_6M5v8NT3EeKj0Lzrn2trlQ" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_CEsWI9T5EeKj0Lzrn2trlQ" visible="false" type="6001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_CEsWJNT5EeKj0Lzrn2trlQ" y="60"/>
</children>
@@ -615,7 +615,7 @@ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CE_RENT5EeKj0Lzrn2trlQ" id="(0.9615384615384616,0.7954545454545454)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CE_REdT5EeKj0Lzrn2trlQ" id="(0.7948717948717948,0.8125)"/>
</edges>
- <edges xmi:type="notation:Connector" xmi:id="_gjwgoNT5EeKj0Lzrn2trlQ" type="4001" source="_6M5v8NT3EeKj0Lzrn2trlQ" target="_6M5v8NT3EeKj0Lzrn2trlQ">
+ <edges xmi:type="notation:Connector" xmi:id="_gjwgoNT5EeKj0Lzrn2trlQ" type="4001" source="_6M5v8NT3EeKj0Lzrn2trlQ" target="_6M5v8NT3EeKj0Lzrn2trlQ" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_gjwgo9T5EeKj0Lzrn2trlQ" visible="false" type="6001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_gjwgpNT5EeKj0Lzrn2trlQ" y="60"/>
</children>
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool.assistant/.settings/org.eclipse.jdt.core.prefs b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool.assistant/.settings/org.eclipse.jdt.core.prefs index 44217f8c068..060c5ee3d2e 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool.assistant/.settings/org.eclipse.jdt.core.prefs +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool.assistant/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,11 @@ eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.5
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool.assistant/META-INF/MANIFEST.MF b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool.assistant/META-INF/MANIFEST.MF index 8f76750ea2e..0c817f537bc 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool.assistant/META-INF/MANIFEST.MF +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool.assistant/META-INF/MANIFEST.MF @@ -1,16 +1,16 @@ Manifest-Version: 1.0
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.emf;bundle-version="2.6.0",
+ org.eclipse.emf,
org.eclipse.emf.ecore,
org.eclipse.emf.transaction,
org.eclipse.gmf.runtime.diagram.ui,
- org.eclipse.papyrus.editor;bundle-version="0.10.1",
- org.eclipse.papyrus.infra.core;bundle-version="0.10.1",
+ org.eclipse.papyrus.editor,
+ org.eclipse.papyrus.infra.core,
org.eclipse.uml2.uml,
- org.eclipse.papyrus.infra.emf;bundle-version="0.10.1",
- org.eclipse.papyrus.adl4eclipsetool;bundle-version="0.10.1",
- org.eclipse.pde.core;bundle-version="3.9.0"
+ org.eclipse.papyrus.infra.emf,
+ org.eclipse.papyrus.adl4eclipsetool,
+ org.eclipse.pde.core
Export-Package: org.eclipse.papyrus.adltool.assistant
Bundle-Vendor: %providerName
Bundle-Version: 0.10.1.qualifier
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/META-INF/MANIFEST.MF b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/META-INF/MANIFEST.MF index 8c62651a37a..960f81db635 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/META-INF/MANIFEST.MF +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/META-INF/MANIFEST.MF @@ -4,23 +4,22 @@ Export-Package: org.eclipse.papyrus.adltool, org.eclipse.papyrus.adltool.designer,
org.eclipse.papyrus.adltool.designer.bundle,
org.eclipse.papyrus.adltool.designer.wizard
-Bundle-ActivationPolicy: lazy
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.emf.transaction;bundle-version="1.4.0",
- org.eclipse.uml2.uml;bundle-version="4.0.100",
+ org.eclipse.emf.transaction,
+ org.eclipse.uml2.uml,
org.eclipse.pde.core,
- org.eclipse.papyrus.uml.extensionpoints;bundle-version="0.10.1",
- org.eclipse.papyrus.uml.tools.utils;bundle-version="0.10.1",
- org.eclipse.papyrus.adl4eclipse.profile;bundle-version="0.10.1",
- org.eclipse.papyrus.osgi.profile;bundle-version="0.10.1"
+ org.eclipse.papyrus.uml.extensionpoints,
+ org.eclipse.papyrus.uml.tools.utils,
+ org.eclipse.papyrus.adl4eclipse.profile,
+ org.eclipse.papyrus.osgi.profile
Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
Bundle-Version: 0.10.1.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.papyrus.adltool.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.adl4eclipsetool
-Eclipse-RegisterBuddy:
+Bundle-SymbolicName: org.eclipse.papyrus.adl4eclipsetool;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/build.properties b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/build.properties index 73a5119ed93..676605b2a1c 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/build.properties +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/build.properties @@ -3,4 +3,6 @@ output.. = bin/ bin.includes = META-INF/,\
.,\
plugin.properties,\
- plugin.xml
+ about.html,\
+ bin/
+src.includes = about.html
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/src/org/eclipse/papyrus/adltool/designer/ArchitectureSnapshotDesigner.java b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/src/org/eclipse/papyrus/adltool/designer/ArchitectureSnapshotDesigner.java index 9130528b00d..2f43ecd34d9 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/src/org/eclipse/papyrus/adltool/designer/ArchitectureSnapshotDesigner.java +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.adl4eclipsetool/src/org/eclipse/papyrus/adltool/designer/ArchitectureSnapshotDesigner.java @@ -334,8 +334,8 @@ public abstract class ArchitectureSnapshotDesigner{ protected void modelRelationExtensionBased(Component bundleComponent, IExtension extension, Port clientPort, Port supplierPort) {
Dependency dependency=UMLFactory.eINSTANCE.createDependency();
dependency.setName(extension.getExtensionPointUniqueIdentifier());
- bundleComponent.getNearestPackage().getPackagedElements().add(dependency);
- //bundleComponent.getPackagedElements().add(dependency);
+ //bundleComponent.getNearestPackage().getPackagedElements().add(dependency);
+ bundleComponent.getPackagedElements().add(dependency);
dependency.getClients().add(clientPort);
dependency.getSuppliers().add(supplierPort);
}
@@ -458,7 +458,11 @@ public abstract class ArchitectureSnapshotDesigner{ if(bundleRef.isOptional()||foundBundle!=null){
if (foundBundle!=null){
if((!(createdFeatureIndex.containsKey(bundleRef.getSymbolicName())))&&(!(createdFeatureIndex.containsKey(bundleRef.getSymbolicName())))) {
- modelBundle(library,foundBundle, currentLevel+1);
+ if( isInitialPlugin(bundleRef.getSymbolicName())){
+ modelBundle(library,foundBundle, currentLevel);
+ }
+ else{
+ modelBundle(library,foundBundle, currentLevel+1);}
}
}
else {
@@ -510,5 +514,15 @@ public abstract class ArchitectureSnapshotDesigner{ }
return out;
}
+ protected boolean isInitialPlugin(String name) {
+ Iterator<Object> bundleProjectsIterator= bundleInitialList.iterator();
+ while(bundleProjectsIterator.hasNext()) {
+ Object bundleProject = (Object)bundleProjectsIterator.next();
+ if(name.equals(bundleDesignerRegistry.getSymbolicName(bundleProject))){
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/META-INF/MANIFEST.MF b/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/META-INF/MANIFEST.MF index 8f2fc7a83cf..ba74b04392d 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/META-INF/MANIFEST.MF +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/META-INF/MANIFEST.MF @@ -1,8 +1,8 @@ Manifest-Version: 1.0
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.papyrus.uml.extensionpoints;bundle-version="0.10.1",
- org.eclipse.emf;bundle-version="2.6.0"
+ org.eclipse.papyrus.uml.extensionpoints,
+ org.eclipse.emf
Export-Package: org.eclipse.papyrus.osgi.profile
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/resource/osgi.profile.notation b/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/resource/osgi.profile.notation index 2dc77e396e3..e8b3c93164f 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/resource/osgi.profile.notation +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/resource/osgi.profile.notation @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:l2="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
<notation:Diagram xmi:id="_OLXd4HtxEeKcL-wrhM9ICg" type="PapyrusUMLProfileDiagram" name="Overview" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_YfZScHtxEeKcL-wrhM9ICg" type="1030">
<children xmi:type="notation:DecorationNode" xmi:id="_YficYHtxEeKcL-wrhM9ICg" type="1047"/>
@@ -10,6 +10,10 @@ <styles xmi:type="notation:TitleStyle" xmi:id="_YficYntxEeKcL-wrhM9ICg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_YficY3txEeKcL-wrhM9ICg"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_69VMAFA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_69VMAVA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_69VMAlA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Profile" href="osgi.profile.uml#_YbhfEHtxEeKcL-wrhM9ICg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_YfZScXtxEeKcL-wrhM9ICg" x="290" y="80" width="561" height="191"/>
</children>
@@ -17,7 +21,7 @@ <element xmi:type="uml:Profile" href="osgi.profile.uml#_OKU8EHtxEeKcL-wrhM9ICg"/>
</notation:Diagram>
<notation:Diagram xmi:id="_dCrQYHtxEeKcL-wrhM9ICg" type="PapyrusUMLProfileDiagram" name="ModuleLayer" measurementUnit="Pixel">
- <children xmi:type="notation:Shape" xmi:id="_esgU8HtxEeKcL-wrhM9ICg" type="1026" fillColor="10011046">
+ <children xmi:type="notation:Shape" xmi:id="_esgU8HtxEeKcL-wrhM9ICg" type="1026" gradient="10011046, 16777215, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_esgU8ntxEeKcL-wrhM9ICg" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_esgU83txEeKcL-wrhM9ICg" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_etdXMHtxEeKcL-wrhM9ICg" source="PapyrusCSSForceValue">
@@ -132,10 +136,14 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_esmbk3txEeKcL-wrhM9ICg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_esmblHtxEeKcL-wrhM9ICg"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7A6EcFA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7A6EcVA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7A6EclA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Stereotype" href="osgi.profile.uml#_esaOUHtxEeKcL-wrhM9ICg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_esgU8XtxEeKcL-wrhM9ICg" x="675" y="160" width="391" height="396"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_FbiYMHw7EeKcL-wrhM9ICg" type="2006">
+ <children xmi:type="notation:Shape" xmi:id="_FbiYMHw7EeKcL-wrhM9ICg" type="2006" gradient="8905185, 16777215, 0">
<children xmi:type="notation:DecorationNode" xmi:id="_FbiYMnw7EeKcL-wrhM9ICg" type="5023"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_FbiYM3w7EeKcL-wrhM9ICg" type="1063">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fck6AHw7EeKcL-wrhM9ICg" source="PapyrusCSSForceValue">
@@ -158,10 +166,14 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_FbiYNnw7EeKcL-wrhM9ICg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_FbiYN3w7EeKcL-wrhM9ICg"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7BDOYFA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7BDOYVA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7BDOYlA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Enumeration" href="osgi.profile.uml#_Fa8iUHw7EeKcL-wrhM9ICg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_FbiYMXw7EeKcL-wrhM9ICg" x="1130" y="160" width="96" height="91"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_gpObEXxHEeKtsedMuIUuZQ" type="1026">
+ <children xmi:type="notation:Shape" xmi:id="_gpObEXxHEeKtsedMuIUuZQ" type="1026" gradient="10011046, 16777215, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_gpObE3xHEeKtsedMuIUuZQ" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_gpObFHxHEeKtsedMuIUuZQ" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gpObHnxHEeKtsedMuIUuZQ" source="PapyrusCSSForceValue">
@@ -201,10 +213,14 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_gpObHHxHEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gpObHXxHEeKtsedMuIUuZQ"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7BDOY1A1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7BDOZFA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7BDOZVA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Stereotype" href="osgi.profile.uml#_gpObEHxHEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gpObEnxHEeKtsedMuIUuZQ" x="45" y="25" width="426" height="128"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_42z_AHzMEeKtsedMuIUuZQ" type="1026" fillColor="15053796">
+ <children xmi:type="notation:Shape" xmi:id="_42z_AHzMEeKtsedMuIUuZQ" type="1026" gradient="15053796, 16777215, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_42z_AnzMEeKtsedMuIUuZQ" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_42z_A3zMEeKtsedMuIUuZQ" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_42z_DXzMEeKtsedMuIUuZQ" source="PapyrusCSSForceValue">
@@ -224,10 +240,14 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_42z_C3zMEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_42z_DHzMEeKtsedMuIUuZQ"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7BDOZlA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7BDOZ1A1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7BDOaFA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Stereotype" href="osgi.profile.uml#_42t4YHzMEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_42z_AXzMEeKtsedMuIUuZQ" x="30" y="435" height="136"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_8flcgXzMEeKtsedMuIUuZQ" type="1026" fillColor="15053796">
+ <children xmi:type="notation:Shape" xmi:id="_8flcgXzMEeKtsedMuIUuZQ" type="1026" gradient="15053796, 16777215, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_8flcg3zMEeKtsedMuIUuZQ" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_8flchHzMEeKtsedMuIUuZQ" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_8flcjnzMEeKtsedMuIUuZQ" source="PapyrusCSSForceValue">
@@ -247,10 +267,14 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_8flcjHzMEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_8flcjXzMEeKtsedMuIUuZQ"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7BDOaVA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7BDOalA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7BDOa1A1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Stereotype" href="osgi.profile.uml#_8flcgHzMEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_8flcgnzMEeKtsedMuIUuZQ" x="155" y="305" width="121" height="106"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_VlnvAHzcEeKDPtIRpgUgbg" type="1026" fillColor="15053796">
+ <children xmi:type="notation:Shape" xmi:id="_VlnvAHzcEeKDPtIRpgUgbg" type="1026" gradient="15053796, 16777215, 0" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_VlnvAnzcEeKDPtIRpgUgbg" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_VlnvA3zcEeKDPtIRpgUgbg" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VlnvDXzcEeKDPtIRpgUgbg" source="PapyrusCSSForceValue">
@@ -270,6 +294,10 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_VlnvC3zcEeKDPtIRpgUgbg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_VlnvDHzcEeKDPtIRpgUgbg"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7BDObFA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7BDObVA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7BDOblA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Stereotype" href="osgi.profile.uml#_VklNMHzcEeKDPtIRpgUgbg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_VlnvAXzcEeKDPtIRpgUgbg" x="280" y="195" height="68"/>
</children>
@@ -445,7 +473,7 @@ </edges>
</notation:Diagram>
<notation:Diagram xmi:id="_rCOi4HzOEeKtsedMuIUuZQ" type="PapyrusUMLProfileDiagram" name="extensions" measurementUnit="Pixel">
- <children xmi:type="notation:Shape" xmi:id="_tacXcHzOEeKtsedMuIUuZQ" type="1026" fillColor="10011046">
+ <children xmi:type="notation:Shape" xmi:id="_tacXcHzOEeKtsedMuIUuZQ" type="1026" gradient="10011046, 16777215, 0">
<children xmi:type="notation:DecorationNode" xmi:id="_tacXcnzOEeKtsedMuIUuZQ" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_tacXc3zOEeKtsedMuIUuZQ" visible="false" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tacXfXzOEeKtsedMuIUuZQ" source="PapyrusCSSForceValue">
@@ -465,15 +493,28 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_tacXe3zOEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_tacXfHzOEeKtsedMuIUuZQ"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7C1-IFA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7C1-IVA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7C1-IlA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Stereotype" href="osgi.profile.uml#_esaOUHtxEeKcL-wrhM9ICg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_tacXcXzOEeKtsedMuIUuZQ" x="750" y="245" height="56"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_t7w70HzOEeKtsedMuIUuZQ" type="1031" fillColor="8905185">
+ <children xmi:type="notation:Shape" xmi:id="_t7w70HzOEeKtsedMuIUuZQ" type="1031" gradient="8905185, 16777215, 0">
<children xmi:type="notation:DecorationNode" xmi:id="_t7w70nzOEeKtsedMuIUuZQ" type="1084"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7C_IEFA1EeOrhtyYG59vlg" visible="false" type="AppliedStereotypeCompartement">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7C_IEVA1EeOrhtyYG59vlg" showTitle="true"/>
+ <element xmi:type="l2:Metaclass" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_SihL8KtKEeGF4uwJob34Mw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7C_IElA1EeOrhtyYG59vlg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7C_IE1A1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7C_IFFA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7C_IFVA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Component"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_t7w70XzOEeKtsedMuIUuZQ" x="750" y="100"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_v4egIHzOEeKtsedMuIUuZQ" type="1031" fillColor="8905185">
+ <children xmi:type="notation:Shape" xmi:id="_v4egIHzOEeKtsedMuIUuZQ" type="1031" gradient="8905185, 16777215, 0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_v47MEHzOEeKtsedMuIUuZQ" source="Stereotype_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v47MEXzOEeKtsedMuIUuZQ" key="StereotypeWithQualifiedNameList" value=""/>
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v47MEnzOEeKtsedMuIUuZQ" key="StereotypeList" value="StandardProfileL2::Metaclass"/>
@@ -482,10 +523,19 @@ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_v47MFXzOEeKtsedMuIUuZQ" key="StereotypePropertyLocation" value="Compartment"/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_v4egInzOEeKtsedMuIUuZQ" type="1084"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7C_IFlA1EeOrhtyYG59vlg" visible="false" type="AppliedStereotypeCompartement">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7C_IF1A1EeOrhtyYG59vlg" showTitle="true"/>
+ <element xmi:type="l2:Metaclass" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_SjQLwKtKEeGF4uwJob34Mw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7C_IGFA1EeOrhtyYG59vlg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7C_IGVA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7C_IGlA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7C_IG1A1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4egIXzOEeKtsedMuIUuZQ" x="355" y="100" width="281"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_xZfm8HzOEeKtsedMuIUuZQ" type="1026" fillColor="15053796">
+ <children xmi:type="notation:Shape" xmi:id="_xZfm8HzOEeKtsedMuIUuZQ" type="1026" gradient="15053796, 16777215, 0">
<children xmi:type="notation:DecorationNode" xmi:id="_xZfm8nzOEeKtsedMuIUuZQ" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_xZfm83zOEeKtsedMuIUuZQ" visible="false" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xZfm_XzOEeKtsedMuIUuZQ" source="PapyrusCSSForceValue">
@@ -505,10 +555,14 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_xZfm-3zOEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_xZfm_HzOEeKtsedMuIUuZQ"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7C_IHFA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7C_IHVA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7C_IHlA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Stereotype" href="osgi.profile.uml#_42t4YHzMEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_xZfm8XzOEeKtsedMuIUuZQ" x="355" y="245" height="56"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_xZyh4HzOEeKtsedMuIUuZQ" type="1026" fillColor="15053796">
+ <children xmi:type="notation:Shape" xmi:id="_xZyh4HzOEeKtsedMuIUuZQ" type="1026" gradient="15053796, 16777215, 0">
<children xmi:type="notation:DecorationNode" xmi:id="_xZyh4nzOEeKtsedMuIUuZQ" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_xZyh43zOEeKtsedMuIUuZQ" visible="false" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xZyh7XzOEeKtsedMuIUuZQ" source="PapyrusCSSForceValue">
@@ -528,10 +582,14 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_xZyh63zOEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_xZyh7HzOEeKtsedMuIUuZQ"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7DI5EFA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7DI5EVA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7DI5ElA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Stereotype" href="osgi.profile.uml#_8flcgHzMEeKtsedMuIUuZQ"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_xZyh4XzOEeKtsedMuIUuZQ" x="530" y="245" height="56"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_t7bcQHzcEeKDPtIRpgUgbg" type="1026" fillColor="15053796">
+ <children xmi:type="notation:Shape" xmi:id="_t7bcQHzcEeKDPtIRpgUgbg" type="1026" gradient="15053796, 16777215, 0">
<children xmi:type="notation:DecorationNode" xmi:id="_t7bcQnzcEeKDPtIRpgUgbg" type="1034"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_t7bcQ3zcEeKDPtIRpgUgbg" visible="false" type="1071">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_t7bcTXzcEeKDPtIRpgUgbg" source="PapyrusCSSForceValue">
@@ -551,10 +609,14 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_t7bcS3zcEeKDPtIRpgUgbg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_t7bcTHzcEeKDPtIRpgUgbg"/>
</children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7DI5E1A1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7DI5FFA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7DI5FVA1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Stereotype" href="osgi.profile.uml#_VklNMHzcEeKDPtIRpgUgbg"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_t7bcQXzcEeKDPtIRpgUgbg" x="232" y="247" height="54"/>
</children>
- <children xmi:type="notation:Shape" xmi:id="_vfP_cHzcEeKDPtIRpgUgbg" type="1031" fillColor="8905185">
+ <children xmi:type="notation:Shape" xmi:id="_vfP_cHzcEeKDPtIRpgUgbg" type="1031" gradient="8905185, 16777215, 0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vfoZ8HzcEeKDPtIRpgUgbg" source="Stereotype_Annotation">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vfoZ8XzcEeKDPtIRpgUgbg" key="StereotypeWithQualifiedNameList" value=""/>
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vfoZ8nzcEeKDPtIRpgUgbg" key="StereotypeList" value="StandardProfileL2::Metaclass"/>
@@ -563,6 +625,15 @@ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vfoZ9XzcEeKDPtIRpgUgbg" key="StereotypePropertyLocation" value="Compartment"/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_vfP_cnzcEeKDPtIRpgUgbg" type="1084"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7DI5FlA1EeOrhtyYG59vlg" visible="false" type="AppliedStereotypeCompartement">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7DI5F1A1EeOrhtyYG59vlg" showTitle="true"/>
+ <element xmi:type="l2:Metaclass" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_Sk8N0KtKEeGF4uwJob34Mw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7DI5GFA1EeOrhtyYG59vlg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7DI5GVA1EeOrhtyYG59vlg" visible="false" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7DI5GlA1EeOrhtyYG59vlg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7DI5G1A1EeOrhtyYG59vlg"/>
+ </children>
<element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_vfP_cXzcEeKDPtIRpgUgbg" x="226" y="99"/>
</children>
diff --git a/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/src/org/eclipse/papyrus/osgi/profile/Activator.java b/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/src/org/eclipse/papyrus/osgi/profile/Activator.java index 15b5d48dbf8..f6833806e9b 100644 --- a/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/src/org/eclipse/papyrus/osgi/profile/Activator.java +++ b/extraplugins/adl4eclipse/org.eclipse.papyrus.osgi.profile/src/org/eclipse/papyrus/osgi/profile/Activator.java @@ -21,7 +21,7 @@ import org.osgi.framework.BundleContext; */
public class Activator extends AbstractUIPlugin {
- // The plug-in ID
+ /** The plug-in ID**/
public static final String PLUGIN_ID = "org.eclipse.papyrus.osgi.profile"; //$NON-NLS-1$
// The shared instance
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.core/META-INF/MANIFEST.MF b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/META-INF/MANIFEST.MF index 62db9d97ad9..514c6b8739f 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.core/META-INF/MANIFEST.MF +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/META-INF/MANIFEST.MF @@ -1,49 +1,61 @@ -Manifest-Version: 1.0 -Export-Package: org.eclipse.papyrus.cdo.core, - org.eclipse.papyrus.cdo.core.exporter, - org.eclipse.papyrus.cdo.core.importer, - org.eclipse.papyrus.cdo.core.resource, - org.eclipse.papyrus.cdo.core.util, - org.eclipse.papyrus.cdo.internal.core;x-friends:="org.eclipse.papyrus.cdo.core.tests, org.eclipse.papyrus.cdo.ui, org.eclipse.papyrus.cdo.ui.tests, org.eclipse.papyrus.cdo.uml.diagram.ui, org.eclipse.papyrus.cdo.uml.ui, org.eclipse.papyrus.cdo.ui.customization.properties, org.eclipse.papyrus.cdo.uml.ui.tests, org.eclipse.papyrus.cdo.uml.search.ui, org.eclipse.papyrus.cdo.uml.search.ui.tests, org.eclipse.papyrus.cdo.ui.hyperlink", - org.eclipse.papyrus.cdo.internal.core.controlmode;x-friends:="org.eclipse.papyrus.cdo.ui,org.eclipse.papyrus.cdo.core.tests", - org.eclipse.papyrus.cdo.internal.core.exporter;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui", - org.eclipse.papyrus.cdo.internal.core.expressions;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui", - org.eclipse.papyrus.cdo.internal.core.importer;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui", - org.eclipse.papyrus.cdo.internal.core.l10n;x-internal:=true, - org.eclipse.papyrus.cdo.internal.core.repositories;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui", - org.eclipse.papyrus.cdo.internal.core.repositories.impl;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui", - org.eclipse.papyrus.cdo.internal.core.repositories.util;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui", - org.eclipse.papyrus.cdo.internal.core.services.localizer;x-internal:=true -Bundle-ActivationPolicy: lazy -Bundle-ClassPath: . -Bundle-Name: %pluginName -Bundle-Localization: plugin -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.emf.ecore;visibility:=reexport, - org.eclipse.emf.ecore.xmi;visibility:=reexport, - org.eclipse.emf.cdo;bundle-version="[4.2.0,5.0.0)";visibility:=reexport, - org.eclipse.papyrus.infra.core;bundle-version="0.10.1";visibility:=reexport, - org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1", - org.eclipse.papyrus.infra.services.resourceloading;bundle-version="0.10.1";visibility:=reexport, - org.eclipse.papyrus.infra.emf.readonly;bundle-version="0.10.1";visibility:=reexport, - org.eclipse.emf.workspace;bundle-version="[1.5.1,2.0.0)", - org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="0.10.1", - org.eclipse.emf.cdo.dawn;bundle-version="[2.0.0,3.0.0)", - org.eclipse.emf.cdo.dawn.gmf;bundle-version="[2.1.0,3.0.0)", - org.eclipse.emf.transaction;bundle-version="[1.4.0,2.0.0)";visibility:=reexport, - org.eclipse.gmf.runtime.notation;bundle-version="[1.5.0,2.0.0)", - org.eclipse.equinox.security;bundle-version="[1.1.100,2.0.0)", - org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)", - com.google.guava;bundle-version="[11.0.2,12.0.0)", - org.eclipse.papyrus.infra.services.controlmode;bundle-version="0.10.1", - org.eclipse.gmf.runtime.emf.commands.core;bundle-version="[1.7.0,2.0.0)", - org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.7.0,2.0.0)", - org.eclipse.papyrus.infra.services.localizer;bundle-version="0.10.1", - org.eclipse.net4j;bundle-version="[4.2.0,5.0.0)" -Bundle-Vendor: %providerName -Bundle-Version: 0.10.1.qualifier -Bundle-ManifestVersion: 2 -Bundle-Activator: org.eclipse.papyrus.cdo.internal.core.Activator -Bundle-SymbolicName: org.eclipse.papyrus.cdo.core;singleton:=true - +Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.cdo.core,
+ org.eclipse.papyrus.cdo.core.admin,
+ org.eclipse.papyrus.cdo.core.exporter,
+ org.eclipse.papyrus.cdo.core.importer,
+ org.eclipse.papyrus.cdo.core.resource,
+ org.eclipse.papyrus.cdo.core.util,
+ org.eclipse.papyrus.cdo.internal.core;
+ x-friends:="org.eclipse.papyrus.cdo.core.tests,
+ org.eclipse.papyrus.cdo.ui,
+ org.eclipse.papyrus.cdo.ui.tests,
+ org.eclipse.papyrus.cdo.uml.diagram.ui,
+ org.eclipse.papyrus.cdo.uml.ui,
+ org.eclipse.papyrus.cdo.ui.customization.properties,
+ org.eclipse.papyrus.cdo.uml.ui.tests,
+ org.eclipse.papyrus.cdo.uml.search.ui,
+ org.eclipse.papyrus.cdo.uml.search.ui.tests,
+ org.eclipse.papyrus.cdo.ui.hyperlink",
+ org.eclipse.papyrus.cdo.internal.core.controlmode;x-friends:="org.eclipse.papyrus.cdo.ui,org.eclipse.papyrus.cdo.core.tests",
+ org.eclipse.papyrus.cdo.internal.core.exporter;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui",
+ org.eclipse.papyrus.cdo.internal.core.expressions;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui",
+ org.eclipse.papyrus.cdo.internal.core.importer;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui",
+ org.eclipse.papyrus.cdo.internal.core.l10n;x-internal:=true,
+ org.eclipse.papyrus.cdo.internal.core.repositories;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui",
+ org.eclipse.papyrus.cdo.internal.core.repositories.impl;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui",
+ org.eclipse.papyrus.cdo.internal.core.repositories.util;x-friends:="org.eclipse.papyrus.cdo.core.tests,org.eclipse.papyrus.cdo.ui",
+ org.eclipse.papyrus.cdo.internal.core.services.localizer;x-internal:=true
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.cdo;bundle-version="[4.3.0,5.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.core;bundle-version="1.0.0";visibility:=reexport,
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.services.resourceloading;bundle-version="1.0.0";visibility:=reexport,
+ org.eclipse.papyrus.infra.emf.readonly;bundle-version="1.0.0";visibility:=reexport,
+ org.eclipse.emf.workspace;bundle-version="[1.5.1,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="1.0.0",
+ org.eclipse.emf.cdo.dawn;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.emf.cdo.dawn.gmf;bundle-version="[2.1.0,3.0.0)",
+ org.eclipse.emf.transaction;bundle-version="[1.4.0,2.0.0)";visibility:=reexport,
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.equinox.security;bundle-version="[1.1.100,2.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
+ com.google.guava;bundle-version="[11.0.2,12.0.0)",
+ org.eclipse.papyrus.infra.services.controlmode;bundle-version="1.0.0",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.services.localizer;bundle-version="1.0.0",
+ org.eclipse.net4j;bundle-version="[4.3.0,5.0.0)",
+ org.eclipse.emf.cdo.admin;bundle-version="[4.1.200,5.0.0)"
+Bundle-Vendor: %providerName
+Bundle-Version: 1.0.0.qualifier
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.cdo.internal.core.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.cdo.core;singleton:=true
+
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/core/admin/IPapyrusRepositoryAdminListener.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/core/admin/IPapyrusRepositoryAdminListener.java new file mode 100644 index 00000000000..982d631519f --- /dev/null +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/core/admin/IPapyrusRepositoryAdminListener.java @@ -0,0 +1,25 @@ +/***************************************************************************** + * Copyright (c) 2013 CEA LIST. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * CEA LIST - Initial API and implementation + *****************************************************************************/ +package org.eclipse.papyrus.cdo.core.admin; + +import java.util.EventListener; + + +/** + * This is the IPapyrusRepositoryAdminListener type. Enjoy. + */ +public interface IPapyrusRepositoryAdminListener extends EventListener { + + void repositoryAdded(PapyrusRepositoryAdminEvent event); + + void repositoryRemoved(PapyrusRepositoryAdminEvent event); +} diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/core/admin/PapyrusRepositoryAdminEvent.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/core/admin/PapyrusRepositoryAdminEvent.java new file mode 100644 index 00000000000..8ee374930fa --- /dev/null +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/core/admin/PapyrusRepositoryAdminEvent.java @@ -0,0 +1,58 @@ +/***************************************************************************** + * Copyright (c) 2013 CEA LIST. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * CEA LIST - Initial API and implementation + *****************************************************************************/ +package org.eclipse.papyrus.cdo.core.admin; + +import java.util.EventObject; + + +/** + * This is the PapyrusRepositoryAdminEvent type. Enjoy. + */ +public class PapyrusRepositoryAdminEvent extends EventObject { + + public static final int REPOSITORY_ADDED = 0; + + public static final int REPOSITORY_REMOVED = 1; + + private static final long serialVersionUID = 1L; + + private final int eventType; + + private final String url; + + private final String name; + + public PapyrusRepositoryAdminEvent(PapyrusRepositoryAdminManager source, int eventType, String url, String name) { + super(source); + + this.eventType = eventType; + this.url = url; + this.name = name; + } + + @Override + public PapyrusRepositoryAdminManager getSource() { + return (PapyrusRepositoryAdminManager)super.getSource(); + } + + public int getEventType() { + return eventType; + } + + public String getRepositoryURL() { + return url; + } + + public String getRepositoryName() { + return name; + } +} diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/core/admin/PapyrusRepositoryAdminManager.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/core/admin/PapyrusRepositoryAdminManager.java new file mode 100644 index 00000000000..f858b5b5d79 --- /dev/null +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/core/admin/PapyrusRepositoryAdminManager.java @@ -0,0 +1,122 @@ +/***************************************************************************** + * Copyright (c) 2013 CEA LIST. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * CEA LIST - Initial API and implementation + *****************************************************************************/ +package org.eclipse.papyrus.cdo.core.admin; + +import java.util.Map; +import java.util.concurrent.CopyOnWriteArrayList; + +import org.eclipse.emf.cdo.admin.CDOAdminClient; +import org.eclipse.emf.cdo.common.admin.CDOAdminRepository; +import org.eclipse.net4j.util.container.ContainerEventAdapter; +import org.eclipse.net4j.util.container.IContainer; +import org.eclipse.papyrus.cdo.internal.core.Activator; + +import com.google.common.collect.Maps; + + +/** + * This is the PapyrusRepositoryAdminManager type. Enjoy. + */ +public class PapyrusRepositoryAdminManager extends ContainerEventAdapter<CDOAdminClient> { + + private final RepositoryListener repositoryListener = new RepositoryListener(); + + private final CopyOnWriteArrayList<IPapyrusRepositoryAdminListener> listeners = new CopyOnWriteArrayList<IPapyrusRepositoryAdminListener>(); + + private final Map<CDOAdminRepository, String> repositories = Maps.newConcurrentMap(); + + public PapyrusRepositoryAdminManager() { + super(true); + } + + public void install(IContainer<? extends CDOAdminClient> container) { + container.addListener(this); + + for(CDOAdminClient next : container.getElements()) { + next.addListener(repositoryListener); + } + } + + @Override + protected void onAdded(IContainer<CDOAdminClient> container, CDOAdminClient element) { + element.addListener(repositoryListener); + } + + @Override + protected void onRemoved(IContainer<CDOAdminClient> container, CDOAdminClient element) { + element.removeListener(repositoryListener); + } + + public void addRepositoryAdminListener(IPapyrusRepositoryAdminListener listener) { + listeners.addIfAbsent(listener); + } + + public void removeRepositoryAdminListener(IPapyrusRepositoryAdminListener listener) { + listeners.remove(listener); + } + + protected void fireRepositoryAdminEvent(int eventType, String url, String name) { + if(!listeners.isEmpty()) { + PapyrusRepositoryAdminEvent event = new PapyrusRepositoryAdminEvent(this, eventType, url, name); + for(IPapyrusRepositoryAdminListener next : listeners) { + try { + switch(eventType) { + case PapyrusRepositoryAdminEvent.REPOSITORY_ADDED: + next.repositoryAdded(event); + break; + case PapyrusRepositoryAdminEvent.REPOSITORY_REMOVED: + next.repositoryRemoved(event); + break; + } + } catch (Exception e) { + Activator.log.error("Uncaught exception in repository admin listener.", e); //$NON-NLS-1$ + } + } + } + } + + // + // Nested types + // + + private class RepositoryListener extends ContainerEventAdapter<CDOAdminRepository> { + + @Override + protected void onAdded(IContainer<CDOAdminRepository> container, CDOAdminRepository element) { + if(container instanceof CDOAdminClient) { + CDOAdminClient client = (CDOAdminClient)container; + String url = String.format("%s?repositoryName=%s", client.getURL(), element.getName()); //$NON-NLS-1$ + repositories.put(element, url); + + if(client.isConnected()) { + // Only notify for repositories added while connected, which ensures that we don't + // get a cascade of events on initial connection and discovery of existing repositories + fireRepositoryAdminEvent(PapyrusRepositoryAdminEvent.REPOSITORY_ADDED, url, element.getName()); + } + } + } + + @Override + protected void onRemoved(IContainer<CDOAdminRepository> container, CDOAdminRepository element) { + if(container instanceof CDOAdminClient) { + CDOAdminClient client = (CDOAdminClient)container; + String url = repositories.remove(element); + + if((url != null) && client.isConnected()) { + // Only notify for repositories removed while connected, which ensures that we don't + // get a cascade of events on disconnection from the server + fireRepositoryAdminEvent(PapyrusRepositoryAdminEvent.REPOSITORY_REMOVED, url, element.getName()); + } + } + } + } +} diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/internal/core/CDOUtils.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/internal/core/CDOUtils.java index bd9aeefe624..3172f301cdf 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/internal/core/CDOUtils.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/internal/core/CDOUtils.java @@ -24,7 +24,6 @@ import org.eclipse.emf.cdo.CDOLock; import org.eclipse.emf.cdo.CDOObject; import org.eclipse.emf.cdo.common.id.CDOID; import org.eclipse.emf.cdo.common.id.CDOIDUtil; -import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.dawn.spi.DawnState; import org.eclipse.emf.cdo.eresource.CDOResourceNode; import org.eclipse.emf.cdo.util.CDOUtil; @@ -76,6 +75,13 @@ public class CDOUtils { result = type.cast(((IAdaptable)object).getAdapter(type)); } + if((result == null) && (type == CDOObject.class)) { + EObject eObject = adapt(object, EObject.class); + if(eObject != null) { + result = type.cast(getCDOObject(eObject)); + } + } + if((result == null) && (object instanceof Notifier)) { result = getFirst(filter(((Notifier)object).eAdapters(), type), null); } @@ -209,8 +215,7 @@ public class CDOUtils { // or if the current user doesn't have permission to write it if(!result) { - CDORevision revision = object.cdoRevision(); - result = (revision != null) && !revision.getPermission().isWritable(); + result = !object.cdoPermission().isWritable(); } return result; diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/internal/core/PapyrusRepository.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/internal/core/PapyrusRepository.java index fd19e6edf68..3396655f7e7 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/internal/core/PapyrusRepository.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.core/src/org/eclipse/papyrus/cdo/internal/core/PapyrusRepository.java @@ -27,7 +27,6 @@ import org.eclipse.emf.cdo.common.model.CDOPackageRegistry; import org.eclipse.emf.cdo.common.model.CDOPackageRegistryPopulator; import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants; import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta; -import org.eclipse.emf.cdo.common.util.NotAuthenticatedException; import org.eclipse.emf.cdo.eresource.CDOResource; import org.eclipse.emf.cdo.eresource.CDOResourceNode; import org.eclipse.emf.cdo.session.CDOSession; @@ -58,6 +57,7 @@ import org.eclipse.net4j.util.lifecycle.LifecycleEventAdapter; import org.eclipse.net4j.util.lifecycle.LifecycleException; import org.eclipse.net4j.util.security.CredentialsProviderFactory; import org.eclipse.net4j.util.security.ICredentialsProvider2; +import org.eclipse.net4j.util.security.NotAuthenticatedException; import org.eclipse.osgi.util.NLS; import org.eclipse.papyrus.cdo.core.CommitException; import org.eclipse.papyrus.cdo.core.IPapyrusRepositoryListener; diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.customization.properties/META-INF/MANIFEST.MF b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.customization.properties/META-INF/MANIFEST.MF index 7351ddecfca..4c20dd45e60 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.customization.properties/META-INF/MANIFEST.MF +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.customization.properties/META-INF/MANIFEST.MF @@ -1,14 +1,14 @@ Manifest-Version: 1.0
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1",
- org.eclipse.papyrus.views.properties;bundle-version="0.10.1",
- org.eclipse.papyrus.views.properties.model;bundle-version="0.10.1",
- org.eclipse.papyrus.customization.properties;bundle-version="0.10.1",
- org.eclipse.papyrus.cdo.core;bundle-version="0.10.1",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
+ org.eclipse.papyrus.views.properties;bundle-version="1.0.0",
+ org.eclipse.papyrus.views.properties.model;bundle-version="1.0.0",
+ org.eclipse.papyrus.customization.properties;bundle-version="1.0.0",
+ org.eclipse.papyrus.cdo.core;bundle-version="1.0.0",
org.eclipse.emf.edit.ui;bundle-version="2.8.0",
- org.eclipse.papyrus.infra.emf;bundle-version="0.10.1",
- org.eclipse.papyrus.cdo.ui;bundle-version="0.10.1",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.0.0",
+ org.eclipse.papyrus.cdo.ui;bundle-version="1.0.0",
com.google.guava;bundle-version="[11.0.2,12.0.0)"
Export-Package: org.eclipse.papyrus.cdo.internal.ui.customization.properties;x-internal:=true,
org.eclipse.papyrus.cdo.internal.ui.customization.properties.messages;x-internal:=true,
@@ -16,11 +16,13 @@ Export-Package: org.eclipse.papyrus.cdo.internal.ui.customization.properties;x-i org.eclipse.papyrus.cdo.internal.ui.customization.properties.storage.action;x-internal:=true
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 0.10.1.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.cdo.internal.ui.customization.properties.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.cdo.ui.customization.properties;singleton:=true
+Bundle-Activator: org.eclipse.papyrus.cdo.internal.ui.customization.pr
+ operties.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.cdo.ui.customization.properti
+ es;singleton:=true
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.hyperlink/META-INF/MANIFEST.MF b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.hyperlink/META-INF/MANIFEST.MF index 4b729c1bdb8..51601087018 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.hyperlink/META-INF/MANIFEST.MF +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.hyperlink/META-INF/MANIFEST.MF @@ -1,29 +1,32 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.papyrus.cdo.ui.hyperlink;singleton:=true -Bundle-Version: 0.10.100.qualifier -Bundle-Activator: org.eclipse.papyrus.cdo.internal.ui.hyperlink.Activator -Bundle-Vendor: %providerName -Require-Bundle: org.eclipse.ui;bundle-version="3.105.0", - org.eclipse.core.runtime;bundle-version="3.9.0", - org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1", - org.eclipse.papyrus.infra.hyperlink;bundle-version="0.10.1", - org.eclipse.emf.transaction;bundle-version="1.4.0", - org.eclipse.papyrus.infra.emf;bundle-version="0.10.1", - org.eclipse.papyrus.cdo.ui;bundle-version="0.10.1", - org.eclipse.papyrus.infra.services.labelprovider;bundle-version="0.10.1", - org.eclipse.papyrus.infra.widgets;bundle-version="0.10.1", - org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="0.10.1", - org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="0.10.1", - org.eclipse.gmf.runtime.common.core;bundle-version="[1.7.0,2.0.0)", - org.eclipse.gmf.runtime.notation;bundle-version="[1.7.0,2.0.0)", - org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.7.0,2.0.0)", - org.eclipse.papyrus.infra.gmfdiag.common -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-ActivationPolicy: lazy -Bundle-Localization: plugin -Import-Package: com.google.common.base;version="10.0.0", - com.google.common.collect;version="10.0.0" -Export-Package: org.eclipse.papyrus.cdo.internal.ui.hyperlink;x-internal:=true - +Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.cdo.internal.ui.hyperlink;x-intern
+ al:=true
+Bundle-ActivationPolicy: lazy
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.ui;bundle-version="3.105.0",
+ org.eclipse.core.runtime;bundle-version="3.9.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.hyperlink;bundle-version="1.0.0",
+ org.eclipse.emf.transaction;bundle-version="1.4.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.0.0",
+ org.eclipse.papyrus.cdo.ui;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.widgets;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="1.0.0",
+ org.eclipse.gmf.runtime.common.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.0.0"
+Bundle-Vendor: %providerName
+Bundle-Version: 1.0.0.qualifier
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.cdo.internal.ui.hyperlink.Activa
+ tor
+Import-Package: com.google.common.base;version="10.0.0",
+ com.google.common.collect;version="10.0.0"
+Bundle-SymbolicName: org.eclipse.papyrus.cdo.ui.hyperlink;singleton:=t
+ rue
+
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/META-INF/MANIFEST.MF b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/META-INF/MANIFEST.MF index f966cd3efcc..ffc0d354603 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/META-INF/MANIFEST.MF +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/META-INF/MANIFEST.MF @@ -1,51 +1,58 @@ -Manifest-Version: 1.0 -Require-Bundle: org.eclipse.core.runtime, - org.eclipse.ui.ide;bundle-version="[3.8.0,4.0.0)", - org.eclipse.papyrus.infra.core;bundle-version="0.10.1", - org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1", - org.eclipse.ui.workbench, - org.eclipse.papyrus.cdo.core;bundle-version="0.10.1";visibility:=reexport, - org.eclipse.emf.cdo.ui;bundle-version="[4.2.0,5.0.0)";visibility:=reexport, - org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="0.10.1", - org.eclipse.emf.cdo.dawn;bundle-version="[2.0.0,3.0.0)", - org.eclipse.emf.cdo.dawn.gmf;bundle-version="[2.1.0,3.0.0)", - org.eclipse.emf.cdo.dawn.ui;bundle-version="[2.0.0,3.0.0)", - org.eclipse.papyrus.infra.emf;bundle-version="0.10.1", - org.eclipse.emf.facet.infra.browser.uicore;bundle-version="0.3.0", - org.eclipse.papyrus.infra.onefile;bundle-version="0.10.1", - org.eclipse.papyrus.infra.services.markerlistener;bundle-version="0.10.1", - org.eclipse.papyrus.cdo.validation.problems;bundle-version="0.10.1", - org.eclipse.papyrus.cdo.validation.problems.edit;bundle-version="0.10.1", - org.eclipse.papyrus.editor;bundle-version="0.10.1", - org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="0.10.1", - com.google.guava;bundle-version="[11.0.0,12.0.0)", - org.eclipse.papyrus.infra.services.labelprovider;bundle-version="0.10.1", - org.eclipse.papyrus.infra.services.controlmode;bundle-version="0.10.1", - org.eclipse.ui.navigator;bundle-version="3.5.300" -Export-Package: org.eclipse.papyrus.cdo.internal.ui;x-friends:="org.eclipse.papyrus.cdo.ui.tests,org.eclipse.papyrus.cdo.uml.ui", - org.eclipse.papyrus.cdo.internal.ui.actions;x-friends:="org.eclipse.papyrus.cdo.ui.tests", - org.eclipse.papyrus.cdo.internal.ui.adapters;x-friends:="org.eclipse.papyrus.cdo.ui.tests", - org.eclipse.papyrus.cdo.internal.ui.decorators;x-friends:="org.eclipse.papyrus.cdo.ui.tests", - org.eclipse.papyrus.cdo.internal.ui.dialogs;x-friends:="org.eclipse.papyrus.cdo.ui.tests,org.eclipse.papyrus.cdo.ui.customization.properties,org.eclipse.papyrus.cdo.ui.hyperlink", - org.eclipse.papyrus.cdo.internal.ui.dnd;x-friends:="org.eclipse.papyrus.cdo.ui.hyperlink,org.eclipse.papyrus.cdo.ui.tests", - org.eclipse.papyrus.cdo.internal.ui.editors;x-friends:="org.eclipse.papyrus.cdo.ui.tests,org.eclipse.papyrus.cdo.uml.search.ui,org.eclipse.papyrus.cdo.ui.hyperlink", - org.eclipse.papyrus.cdo.internal.ui.expressions;x-friends:="org.eclipse.papyrus.cdo.ui.tests", - org.eclipse.papyrus.cdo.internal.ui.handlers;x-friends:="org.eclipse.papyrus.cdo.ui.tests", - org.eclipse.papyrus.cdo.internal.ui.l10n;x-internal:=true, - org.eclipse.papyrus.cdo.internal.ui.markers;x-friends:="org.eclipse.papyrus.cdo.ui.tests", - org.eclipse.papyrus.cdo.internal.ui.properties;x-friends:="org.eclipse.papyrus.cdo.ui.tests", - org.eclipse.papyrus.cdo.internal.ui.providers;x-friends:="org.eclipse.papyrus.cdo.ui.tests", - org.eclipse.papyrus.cdo.internal.ui.util;x-friends:="org.eclipse.papyrus.cdo.ui.tests", - org.eclipse.papyrus.cdo.internal.ui.views;x-friends:="org.eclipse.papyrus.cdo.ui.tests,org.eclipse.papyrus.cdo.uml.diagram.ui,org.eclipse.papyrus.cdo.uml.ui,org.eclipse.papyrus.cdo.uml.ui.tests,org.eclipse.papyrus.cdo.ui.hyperlink", - org.eclipse.papyrus.cdo.internal.ui.widgets;x-internal:=true, - org.eclipse.papyrus.cdo.internal.ui.wizards;x-friends:="org.eclipse.papyrus.cdo.ui.tests,org.eclipse.papyrus.cdo.uml.diagram.ui,org.eclipse.papyrus.cdo.ui.customization.properties" -Bundle-Vendor: %providerName -Bundle-ActivationPolicy: lazy -Bundle-Version: 0.10.1.qualifier -Bundle-Name: %pluginName -Bundle-Localization: plugin -Bundle-ManifestVersion: 2 -Bundle-Activator: org.eclipse.papyrus.cdo.internal.ui.Activator -Bundle-SymbolicName: org.eclipse.papyrus.cdo.ui;singleton:=true -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 - +Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.ui.ide;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
+ org.eclipse.ui.workbench,
+ org.eclipse.papyrus.cdo.core;bundle-version="1.0.0";visibility:=reexport,
+ org.eclipse.emf.cdo.ui;bundle-version="[4.3.0,5.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.0.0",
+ org.eclipse.emf.cdo.dawn;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.emf.cdo.dawn.gmf;bundle-version="[2.1.0,3.0.0)",
+ org.eclipse.emf.cdo.dawn.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.0.0",
+ org.eclipse.emf.facet.infra.browser.uicore;bundle-version="0.3.0",
+ org.eclipse.papyrus.infra.onefile;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.services.markerlistener;bundle-version="1.0.0",
+ org.eclipse.papyrus.cdo.validation.problems;bundle-version="1.0.0",
+ org.eclipse.papyrus.cdo.validation.problems.edit;bundle-version="1.0.0",
+ org.eclipse.papyrus.editor;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.0.0",
+ com.google.guava;bundle-version="[11.0.0,12.0.0)",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.services.controlmode;bundle-version="1.0.0",
+ org.eclipse.ui.navigator;bundle-version="3.5.300",
+ org.eclipse.emf.cdo.ui.admin;bundle-version="[4.1.200,5.0.0)"
+Export-Package: org.eclipse.papyrus.cdo.internal.ui;x-friends:="org.eclipse.papyrus.cdo.ui.tests,org.eclipse.papyrus.cdo.uml.ui",
+ org.eclipse.papyrus.cdo.internal.ui.actions;x-friends:="org.eclipse.papyrus.cdo.ui.tests",
+ org.eclipse.papyrus.cdo.internal.ui.adapters;x-friends:="org.eclipse.papyrus.cdo.ui.tests",
+ org.eclipse.papyrus.cdo.internal.ui.admin;x-internal:=true,
+ org.eclipse.papyrus.cdo.internal.ui.decorators;x-friends:="org.eclipse.papyrus.cdo.ui.tests",
+ org.eclipse.papyrus.cdo.internal.ui.dialogs;x-friends:="org.eclipse.papyrus.cdo.ui.tests,org.eclipse.papyrus.cdo.ui.customization.properties,org.eclipse.papyrus.cdo.ui.hyperlink",
+ org.eclipse.papyrus.cdo.internal.ui.dnd;x-friends:="org.eclipse.papyrus.cdo.ui.hyperlink,org.eclipse.papyrus.cdo.ui.tests",
+ org.eclipse.papyrus.cdo.internal.ui.editors;x-friends:="org.eclipse.papyrus.cdo.ui.tests,org.eclipse.papyrus.cdo.uml.search.ui,org.eclipse.papyrus.cdo.ui.hyperlink",
+ org.eclipse.papyrus.cdo.internal.ui.expressions;x-friends:="org.eclipse.papyrus.cdo.ui.tests",
+ org.eclipse.papyrus.cdo.internal.ui.handlers;x-friends:="org.eclipse.papyrus.cdo.ui.tests",
+ org.eclipse.papyrus.cdo.internal.ui.l10n;x-internal:=true,
+ org.eclipse.papyrus.cdo.internal.ui.markers;x-friends:="org.eclipse.papyrus.cdo.ui.tests",
+ org.eclipse.papyrus.cdo.internal.ui.properties;x-friends:="org.eclipse.papyrus.cdo.ui.tests",
+ org.eclipse.papyrus.cdo.internal.ui.providers;x-friends:="org.eclipse.papyrus.cdo.ui.tests",
+ org.eclipse.papyrus.cdo.internal.ui.util;x-friends:="org.eclipse.papyrus.cdo.ui.tests",
+ org.eclipse.papyrus.cdo.internal.ui.views;
+ x-friends:="org.eclipse.papyrus.cdo.ui.tests,
+ org.eclipse.papyrus.cdo.uml.diagram.ui,
+ org.eclipse.papyrus.cdo.uml.ui,
+ org.eclipse.papyrus.cdo.uml.ui.tests,
+ org.eclipse.papyrus.cdo.ui.hyperlink",
+ org.eclipse.papyrus.cdo.internal.ui.widgets;x-internal:=true,
+ org.eclipse.papyrus.cdo.internal.ui.wizards;x-friends:="org.eclipse.papyrus.cdo.ui.tests,org.eclipse.papyrus.cdo.uml.diagram.ui,org.eclipse.papyrus.cdo.ui.customization.properties"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.cdo.internal.ui.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.cdo.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/icons/full/wizban/Papyrus_CDO.png b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/icons/full/wizban/Papyrus_CDO.png Binary files differnew file mode 100644 index 00000000000..a14b170eede --- /dev/null +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/icons/full/wizban/Papyrus_CDO.png diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/icons/full/wizban/Papyrus_CDO.pxm b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/icons/full/wizban/Papyrus_CDO.pxm Binary files differnew file mode 100644 index 00000000000..2f1dd77b7b1 --- /dev/null +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/icons/full/wizban/Papyrus_CDO.pxm diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/plugin.properties b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/plugin.properties index 759800eea8e..f6fa05b14af 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/plugin.properties +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/plugin.properties @@ -28,4 +28,6 @@ resolveCommand.name = Resolve conflicts importCommand.name = Import Models into Repository exportCommand.name = Export Model to Workspace navigatorDropContent.name = Papyrus Model Repository Content -repoFiltersExtPt.name = Model Repository Item Provider Filters
\ No newline at end of file +repoFiltersExtPt.name = Model Repository Item Provider Filters +openInModelRepositoriesCommand.label = Open in Model Repositories +openInModelRepositoriesCommand.name = Open in Model Repositories View diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/plugin.xml b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/plugin.xml index 8f74e64e722..9d1a0dcb6f9 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/plugin.xml +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/plugin.xml @@ -169,6 +169,14 @@ checkEnabled="true"> </visibleWhen> </command> + <command + commandId="org.eclipse.papyrus.cdo.ui.commands.openInModelRepositories" + label="%openInModelRepositoriesCommand.label" + icon="$nl$/icons/full/view16/model_repositories.gif"> + <visibleWhen + checkEnabled="true"> + </visibleWhen> + </command> </menuContribution> <menuContribution locationURI="popup:org.eclipse.papyrus.cdo.ui.ModelRepositoriesView?after=additions"> @@ -203,6 +211,10 @@ id="org.eclipse.papyrus.cdo.ui.commands.exportModel" name="%exportCommand.name"> </command> + <command + id="org.eclipse.papyrus.cdo.ui.commands.openInModelRepositories" + name="%openInModelRepositoriesCommand.name"> + </command> </extension> <extension point="org.eclipse.ui.handlers"> @@ -270,6 +282,22 @@ </iterate> </enabledWhen> </handler> + <handler + class="org.eclipse.papyrus.cdo.internal.ui.handlers.OpenInModelRepositoriesViewHandler" + commandId="org.eclipse.papyrus.cdo.ui.commands.openInModelRepositories"> + <enabledWhen> + <with variable="selection"> + <count + value="1"> + </count> + <iterate operator="and"> + <adapt + type="org.eclipse.emf.cdo.admin.CDOAdminClientRepository"> + </adapt> + </iterate> + </with> + </enabledWhen> + </handler> </extension> <extension diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/Activator.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/Activator.java index 515876f5880..a808651e446 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/Activator.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/Activator.java @@ -2,6 +2,7 @@ package org.eclipse.papyrus.cdo.internal.ui; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; +import org.eclipse.emf.cdo.admin.CDOAdminClientManager; import org.eclipse.emf.cdo.dawn.editors.IDawnEditor; import org.eclipse.emf.cdo.dawn.helper.DawnEditorHelper; import org.eclipse.jface.resource.ImageDescriptor; @@ -51,6 +52,8 @@ public class Activator extends AbstractUIPlugin { public static final String ICON_LINK_WITH_EDITOR = "link_editor"; //$NON-NLS-1$ + public static final String ICON_PAPYRUS_CDO_WIZARD = "cdo_wizard"; //$NON-NLS-1$ + // The plug-in ID public static final String PLUGIN_ID = "org.eclipse.papyrus.cdo.ui"; //$NON-NLS-1$ @@ -137,6 +140,8 @@ public class Activator extends AbstractUIPlugin { reg.put(ICON_DEPENDENT_OVERLAY16, getImageDescriptor("full/ovr16/dependent.gif")); //$NON-NLS-1$ reg.put(ICON_LINK_WITH_EDITOR, getImageDescriptor("full/ctool16/link_editor.gif")); //$NON-NLS-1$ + + reg.put(ICON_PAPYRUS_CDO_WIZARD, getImageDescriptor("full/wizban/Papyrus_CDO.png")); //$NON-NLS-1$ } public static ImageDescriptor getIcon(String key) { @@ -163,4 +168,9 @@ public class Activator extends AbstractUIPlugin { public static IStatus error(String message, Throwable exception) { return new Status(IStatus.ERROR, PLUGIN_ID, message, exception); } + + @SuppressWarnings("restriction") + public static CDOAdminClientManager getCDOAdminClientManager() { + return org.eclipse.emf.cdo.ui.internal.admin.bundle.OM.getAdminManager(); + } } diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/AsyncAction.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/AsyncAction.java index 1e3957a5f8d..5679f0a191b 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/AsyncAction.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/AsyncAction.java @@ -56,6 +56,10 @@ public abstract class AsyncAction<T> extends BaseSelectionListenerAction { return (this.selection != null) && super.updateSelection(selection); } + protected T getSelection() { + return selection; + } + protected T coerce(Object selection) { T result = null; diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/AsyncEditAction.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/AsyncEditAction.java new file mode 100644 index 00000000000..fb707481b1a --- /dev/null +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/AsyncEditAction.java @@ -0,0 +1,51 @@ +/***************************************************************************** + * Copyright (c) 2013 CEA LIST. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * CEA LIST - Initial API and implementation + *****************************************************************************/ +package org.eclipse.papyrus.cdo.internal.ui.actions; + +import org.eclipse.emf.cdo.CDOObject; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.papyrus.cdo.internal.core.CDOUtils; + +/** + * This is the AsyncEditAction type. Enjoy. + */ +public abstract class AsyncEditAction<T> extends AsyncTransactionAction<T> { + + public AsyncEditAction(Class<? extends T> type, String text, String icon) { + super(type, text, icon); + } + + public AsyncEditAction(Class<? extends T> type, String text, ImageDescriptor icon) { + super(type, text, icon); + } + + @Override + protected boolean updateSelection(org.eclipse.jface.viewers.IStructuredSelection selection) { + boolean result = super.updateSelection(selection); + + if(result) { + CDOObject cdoObject = getSelectedCDOObject(); + + if((cdoObject == null) || CDOUtils.isReadOnly(cdoObject)) { + result = false; + } + } + + return result; + } + + protected CDOObject getSelectedCDOObject() { + Object selection = getSelection(); + + return CDOUtils.adapt(selection, CDOObject.class); + } +} diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/ChangePasswordAction.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/ChangePasswordAction.java new file mode 100644 index 00000000000..c0f072b7d2a --- /dev/null +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/ChangePasswordAction.java @@ -0,0 +1,58 @@ +/***************************************************************************** + * Copyright (c) 2013 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.cdo.internal.ui.actions; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.emf.cdo.session.CDOSession; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.papyrus.cdo.internal.core.IInternalPapyrusRepository; +import org.eclipse.papyrus.cdo.internal.ui.l10n.Messages; +import org.eclipse.ui.IWorkbenchPart; + +/** + * The "change password" action. + */ +public final class ChangePasswordAction extends AsyncAction<IInternalPapyrusRepository> { + + private static final String TITLE = Messages.ChangePasswordAction_0; + + private static final String TOOL_TIP = Messages.ChangePasswordAction_1; + + public ChangePasswordAction(IWorkbenchPart part) { + super(IInternalPapyrusRepository.class, TITLE, (ImageDescriptor)null); + + setToolTipText(TOOL_TIP); + } + + @Override + protected void doRun(IInternalPapyrusRepository selection, IProgressMonitor monitor) throws CoreException { + if(selection.isConnected()) { + CDOSession session = selection.getCDOSession(); + if((session != null) && !session.isClosed()) { + session.changeCredentials(); + } + } + } + + @Override + protected boolean updateSelection(IStructuredSelection selection) { + boolean result = super.updateSelection(selection); + + if(result) { + result = getSelection().isConnected(); + } + + return result; + } +} diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/ConnectRepositoryAction.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/ConnectRepositoryAction.java index 2fa5916ed54..a33e102d8a6 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/ConnectRepositoryAction.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/ConnectRepositoryAction.java @@ -39,7 +39,7 @@ public class ConnectRepositoryAction extends AbstractRepositoryAction { } @Override - protected void run(final IPapyrusRepository repository) { + public void run(final IPapyrusRepository repository) { try { getPart().getSite().getWorkbenchWindow().run(true, false, new IRunnableWithProgress() { diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/CreateFolderAction.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/CreateFolderAction.java index 39324b650cf..89fab965161 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/CreateFolderAction.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/CreateFolderAction.java @@ -35,7 +35,7 @@ import com.google.common.collect.Iterables; /** * This is the CreateFolderAction type. Enjoy. */ -public class CreateFolderAction extends AsyncTransactionAction<CDOResourceNode> { +public class CreateFolderAction extends AsyncEditAction<CDOResourceNode> { private final IShellProvider shellProvider; @@ -130,6 +130,7 @@ public class CreateFolderAction extends AsyncTransactionAction<CDOResourceNode> return new IInputValidator() { + @Override public String isValid(String newText) { String result; String name = (newText == null) ? "" //$NON-NLS-1$ diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/DeleteModelAction.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/DeleteModelAction.java index 837f3ddf858..5324d24826f 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/DeleteModelAction.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/DeleteModelAction.java @@ -16,14 +16,18 @@ import java.util.List; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.emf.cdo.CDOObject; import org.eclipse.emf.cdo.common.id.CDOID; import org.eclipse.emf.cdo.eresource.CDOResource; import org.eclipse.emf.cdo.transaction.CDOTransaction; import org.eclipse.emf.cdo.view.CDOView; import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.osgi.util.NLS; +import org.eclipse.papyrus.cdo.internal.core.CDOUtils; import org.eclipse.papyrus.cdo.internal.ui.editors.PapyrusCDOEditorInput; import org.eclipse.papyrus.cdo.internal.ui.l10n.Messages; import org.eclipse.papyrus.cdo.internal.ui.views.DIModel; @@ -38,7 +42,7 @@ import com.google.common.collect.Lists; /** * This is the DeleteModelAction type. Enjoy. */ -public class DeleteModelAction extends AsyncTransactionAction<DIModel> { +public class DeleteModelAction extends AsyncEditAction<DIModel> { private final IWorkbenchPart part; @@ -100,4 +104,20 @@ public class DeleteModelAction extends AsyncTransactionAction<DIModel> { } } + @Override + protected boolean updateSelection(IStructuredSelection selection) { + boolean result = super.updateSelection(selection); + + if(result) { + // must also be able to modify the containing folder/resource + CDOObject toDelete = getSelectedCDOObject(); + EObject container = toDelete.eContainer(); + if(container != null) { + CDOObject cdoContainer = CDOUtils.getCDOObject(container); + result = (cdoContainer == null) || cdoContainer.cdoPermission().isWritable(); + } + } + + return result; + } } diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/RenameModelAction.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/RenameModelAction.java index 099122623ac..08d7f095bf9 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/RenameModelAction.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/actions/RenameModelAction.java @@ -41,7 +41,7 @@ import com.google.common.collect.Lists; /** * This is the RenameModelAction type. Enjoy. */ -public class RenameModelAction extends AsyncTransactionAction<DIModel> { +public class RenameModelAction extends AsyncEditAction<DIModel> { private final IWorkbenchPart part; @@ -135,6 +135,7 @@ public class RenameModelAction extends AsyncTransactionAction<DIModel> { return new IInputValidator() { + @Override public String isValid(String newText) { String result = null; newText = Strings.nullToEmpty(newText).trim(); diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/admin/RepositoryAdminListener.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/admin/RepositoryAdminListener.java new file mode 100644 index 00000000000..b3df356a8ed --- /dev/null +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/admin/RepositoryAdminListener.java @@ -0,0 +1,93 @@ +/***************************************************************************** + * Copyright (c) 2013 CEA LIST. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * CEA LIST - Initial API and implementation + *****************************************************************************/ +package org.eclipse.papyrus.cdo.internal.ui.admin; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.net4j.util.ui.UIUtil; +import org.eclipse.osgi.util.NLS; +import org.eclipse.papyrus.cdo.core.IPapyrusRepository; +import org.eclipse.papyrus.cdo.core.IPapyrusRepositoryManager; +import org.eclipse.papyrus.cdo.core.admin.IPapyrusRepositoryAdminListener; +import org.eclipse.papyrus.cdo.core.admin.PapyrusRepositoryAdminEvent; +import org.eclipse.papyrus.cdo.internal.ui.l10n.Messages; + + +/** + * This is the RepositoryAdminListener type. Enjoy. + */ +public class RepositoryAdminListener implements IPapyrusRepositoryAdminListener { + + private final IPapyrusRepositoryManager repositoryManager; + + public RepositoryAdminListener(IPapyrusRepositoryManager repositoryManager) { + super(); + + this.repositoryManager = repositoryManager; + } + + @Override + public void repositoryAdded(PapyrusRepositoryAdminEvent event) { + final String url = event.getRepositoryURL(); + + IPapyrusRepository existing = repositoryManager.getRepository(url); + if(existing == null) { + final String name = event.getRepositoryName(); + UIUtil.getDisplay().asyncExec(new Runnable() { + + @Override + public void run() { + if(MessageDialog.openQuestion(UIUtil.getActiveWorkbenchWindow().getShell(), Messages.RepositoryAdminListener_0, NLS.bind(Messages.RepositoryAdminListener_1, name))) { + repositoryManager.createRepository(url).setName(uniqueName(name)); + repositoryManager.saveRepositories(); + } + } + }); + } + } + + @Override + public void repositoryRemoved(PapyrusRepositoryAdminEvent event) { + final IPapyrusRepository existing = repositoryManager.getRepository(event.getRepositoryURL()); + if(existing != null) { + final String name = existing.getName(); + UIUtil.getDisplay().asyncExec(new Runnable() { + + @Override + public void run() { + if(MessageDialog.openQuestion(UIUtil.getActiveWorkbenchWindow().getShell(), Messages.RepositoryAdminListener_2, NLS.bind(Messages.RepositoryAdminListener_3, name))) { + repositoryManager.removeRepository(existing); + repositoryManager.saveRepositories(); + } + } + }); + } + } + + protected String uniqueName(String preferredName) { + String result = preferredName; + int counter = 1; + boolean again; + + do { + again = false; + for(IPapyrusRepository next : repositoryManager.getRepositories()) { + if(result.equals(next.getName())) { + result = NLS.bind(Messages.RepositoryAdminListener_4, preferredName, counter++); + again = true; + break; + } + } + } while(again); + + return result; + } +} diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/dialogs/RepositoryCredentialsDialog.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/dialogs/RepositoryCredentialsDialog.java index 61032b52ec9..94106483ab1 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/dialogs/RepositoryCredentialsDialog.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/dialogs/RepositoryCredentialsDialog.java @@ -18,6 +18,8 @@ import org.eclipse.net4j.util.security.PasswordCredentials; import org.eclipse.osgi.util.NLS; import org.eclipse.papyrus.cdo.core.IPapyrusRepository; import org.eclipse.papyrus.cdo.internal.core.PapyrusRepositoryManager; +import org.eclipse.papyrus.cdo.internal.ui.Activator; +import org.eclipse.papyrus.cdo.internal.ui.SharedImages; import org.eclipse.papyrus.cdo.internal.ui.l10n.Messages; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridLayout; @@ -31,8 +33,7 @@ import org.eclipse.swt.widgets.Text; /** * This is the AddRepositoryDialog type. Enjoy. */ -public class RepositoryCredentialsDialog - extends TitleAreaDialog { +public class RepositoryCredentialsDialog extends TitleAreaDialog { private static final String TITLE = Messages.RepositoryCredentialsDialog_0; @@ -50,8 +51,7 @@ public class RepositoryCredentialsDialog private IPasswordCredentials credentials; - public RepositoryCredentialsDialog(Shell parentShell, - IPapyrusRepository repository) { + public RepositoryCredentialsDialog(Shell parentShell, IPapyrusRepository repository) { super(parentShell); setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL | SWT.TITLE); @@ -69,8 +69,9 @@ public class RepositoryCredentialsDialog protected Control createDialogArea(Composite parent) { setTitle(TITLE); setMessage(message); + setTitleImage(SharedImages.getImage(Activator.ICON_PAPYRUS_CDO_WIZARD)); - Composite result = (Composite) super.createDialogArea(parent); + Composite result = (Composite)super.createDialogArea(parent); Composite main = new Composite(result, SWT.NONE); main.setLayout(new GridLayout(2, false)); @@ -78,21 +79,21 @@ public class RepositoryCredentialsDialog new Label(main, SWT.NONE).setText(Messages.RepositoryCredentialsDialog_2); usernameText = new Text(main, SWT.BORDER); - GridDataFactory.fillDefaults().applyTo(usernameText); + GridDataFactory.fillDefaults().grab(true, false).applyTo(usernameText); new Label(main, SWT.NONE).setText(Messages.RepositoryCredentialsDialog_3); passwordText = new Text(main, SWT.BORDER | SWT.PASSWORD); - GridDataFactory.fillDefaults().applyTo(passwordText); + GridDataFactory.fillDefaults().grab(true, false).applyTo(passwordText); rememberCheckbox = new Button(main, SWT.CHECK); rememberCheckbox.setText(Messages.RepositoryCredentialsDialog_4); GridDataFactory.fillDefaults().span(2, 1).applyTo(rememberCheckbox); - if (repository.getUsername() != null) { + if(repository.getUsername() != null) { usernameText.setText(repository.getUsername()); } - if (repository.getPassword() != null) { + if(repository.getPassword() != null) { passwordText.setText(repository.getPassword()); } @@ -115,7 +116,7 @@ public class RepositoryCredentialsDialog String password = passwordText.getText().trim(); credentials = new PasswordCredentials(username, password.toCharArray()); - if (rememberCheckbox.getSelection()) { + if(rememberCheckbox.getSelection()) { repository.setUsername(username); repository.setPassword(password); PapyrusRepositoryManager.INSTANCE.saveRepositories(); diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/handlers/OpenInModelRepositoriesViewHandler.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/handlers/OpenInModelRepositoriesViewHandler.java new file mode 100644 index 00000000000..720dc5b4b1a --- /dev/null +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/handlers/OpenInModelRepositoriesViewHandler.java @@ -0,0 +1,82 @@ +/***************************************************************************** + * Copyright (c) 2013 CEA LIST. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * CEA LIST - Initial API and implementation + *****************************************************************************/ +package org.eclipse.papyrus.cdo.internal.ui.handlers; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.emf.cdo.admin.CDOAdminClient; +import org.eclipse.emf.cdo.admin.CDOAdminClientRepository; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.net4j.util.ui.UIUtil; +import org.eclipse.papyrus.cdo.core.IPapyrusRepository; +import org.eclipse.papyrus.cdo.core.IPapyrusRepositoryManager; +import org.eclipse.papyrus.cdo.internal.core.PapyrusRepositoryManager; +import org.eclipse.papyrus.cdo.internal.ui.Activator; +import org.eclipse.papyrus.cdo.internal.ui.actions.ConnectRepositoryAction; +import org.eclipse.papyrus.cdo.internal.ui.views.ModelRepositoriesView; +import org.eclipse.ui.IViewPart; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.handlers.HandlerUtil; + +/** + * This is the OpenInModelRepositoriesViewHandler type. Enjoy. + */ +public class OpenInModelRepositoriesViewHandler extends AbstractHandler { + + private final IPapyrusRepositoryManager manager = PapyrusRepositoryManager.INSTANCE; + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + + ISelection selection = HandlerUtil.getCurrentSelection(event); + CDOAdminClientRepository adminRepository = UIUtil.adaptElement(selection, CDOAdminClientRepository.class); + if(adminRepository != null) { + CDOAdminClient client = adminRepository.getAdmin(); + String url = String.format("%s?repositoryName=%s", client.getURL(), adminRepository.getName()); //$NON-NLS-1$ + + IPapyrusRepository repository = manager.getRepository(url); + if(repository == null) { + repository = manager.createRepository(url); + repository.setName(adminRepository.getName()); + manager.saveRepositories(); + } + + IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event); + + if(window != null) { + selectReveal(window, repository); + } + + if(!repository.isConnected()) { + new ConnectRepositoryAction(HandlerUtil.getActivePart(event)).run(repository); + } + } + + return null; + } + + protected void selectReveal(IWorkbenchWindow window, IPapyrusRepository repository) { + IWorkbenchPage page = window.getActivePage(); + if(page != null) { + try { + IViewPart view = page.showView(ModelRepositoriesView.ID); + view.getSite().getSelectionProvider().setSelection(new StructuredSelection(repository)); + } catch (PartInitException e) { + Activator.log.error(e); + } + } + } +} diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/l10n/Messages.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/l10n/Messages.java index 8612c22257c..a1a0ed51721 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/l10n/Messages.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/l10n/Messages.java @@ -78,6 +78,10 @@ public class Messages extends NLS { public static String CDOStateLabelDecorator_1; + public static String ChangePasswordAction_0; + + public static String ChangePasswordAction_1; + public static String ConnectRepositoryAction_0; public static String ConnectRepositoryAction_errorTitle; @@ -218,6 +222,16 @@ public class Messages extends NLS { public static String RenameModelAction_8; + public static String RepositoryAdminListener_0; + + public static String RepositoryAdminListener_1; + + public static String RepositoryAdminListener_2; + + public static String RepositoryAdminListener_3; + + public static String RepositoryAdminListener_4; + public static String RepositoryCredentialsDialog_0; public static String RepositoryCredentialsDialog_1; diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/l10n/messages.properties b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/l10n/messages.properties index ca53107946b..81b2d8a6525 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/l10n/messages.properties +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/l10n/messages.properties @@ -38,6 +38,8 @@ CDOResLabels_pattern={0} {1} in repository "{2}" CDOResLabels_txtKind=Text file CDOResLabels_unknown=(unknown) CDOStateLabelDecorator_1=Update CDO state label decorations +ChangePasswordAction_0=Change Password... +ChangePasswordAction_1=Change the connected user's login password ConnectRepositoryAction_0=Connect ConnectRepositoryAction_errorTitle=Connect to Repository CreateCDOFragDlg_browseMessage=Choose the location and name of the new model unit. @@ -108,6 +110,11 @@ RenameModelAction_10=A resource named "{0}" already exists. RenameModelAction_2=Enter a new name for the model: RenameModelAction_7=A name is required. RenameModelAction_8=Model name may not contain a path separator. +RepositoryAdminListener_0=Repository Added +RepositoryAdminListener_1=A repository named "{0}" has been added to the server. Would you like to add it to the Model Repositories view? +RepositoryAdminListener_2=Repository Removed +RepositoryAdminListener_3=The repository "{0}" has been removed from the server. Would you like to remove it from the Model Repositories view? +RepositoryAdminListener_4={0} ({1}) RepositoryCredentialsDialog_0=Repository Login RepositoryCredentialsDialog_1=Enter your credentials for the repository "{0}". RepositoryCredentialsDialog_2=User name: diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/util/DialogCredentialsProviderFactory.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/util/DialogCredentialsProviderFactory.java index 6fe7051256d..d8f83e6c9de 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/util/DialogCredentialsProviderFactory.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/util/DialogCredentialsProviderFactory.java @@ -15,9 +15,13 @@ import java.util.concurrent.Callable; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.window.Window; +import org.eclipse.net4j.util.security.CredentialsUpdateOperation; import org.eclipse.net4j.util.security.IPasswordCredentials; import org.eclipse.net4j.util.security.IPasswordCredentialsProvider2; +import org.eclipse.net4j.util.security.IPasswordCredentialsUpdate; +import org.eclipse.net4j.util.security.IPasswordCredentialsUpdateProvider; import org.eclipse.net4j.util.security.PasswordCredentials; +import org.eclipse.net4j.util.ui.security.InteractiveCredentialsProvider; import org.eclipse.papyrus.cdo.core.IPapyrusRepository; import org.eclipse.papyrus.cdo.internal.core.ICredentialsProviderFactory; import org.eclipse.papyrus.cdo.internal.core.IInteractiveCredentialsProvider; @@ -35,8 +39,7 @@ import com.google.common.base.Strings; /** * This is the DialogCredentialsProviderFactory type. Enjoy. */ -public class DialogCredentialsProviderFactory - implements ICredentialsProviderFactory { +public class DialogCredentialsProviderFactory implements ICredentialsProviderFactory { private volatile IWorkbenchWindow activeWindow; @@ -45,20 +48,24 @@ public class DialogCredentialsProviderFactory PlatformUI.getWorkbench().addWindowListener(new IWindowListener() { + @Override public void windowActivated(IWorkbenchWindow window) { activeWindow = window; } + @Override public void windowClosed(IWorkbenchWindow window) { - if (activeWindow == window) { + if(activeWindow == window) { activeWindow = null; } } + @Override public void windowOpened(IWorkbenchWindow window) { // pass } + @Override public void windowDeactivated(IWorkbenchWindow window) { // pass } @@ -66,8 +73,8 @@ public class DialogCredentialsProviderFactory }); } - public IPasswordCredentialsProvider2 createCredentialsProvider( - IPapyrusRepository repository) { + @Override + public IPasswordCredentialsProvider2 createCredentialsProvider(IPapyrusRepository repository) { return new CredentialsProvider(repository); } @@ -76,8 +83,9 @@ public class DialogCredentialsProviderFactory // Nested types // - private class CredentialsProvider - implements IInteractiveCredentialsProvider { + private class CredentialsProvider implements IInteractiveCredentialsProvider, IPasswordCredentialsUpdateProvider { + + private final IPasswordCredentialsUpdateProvider delegate = new InteractiveCredentialsProvider(); private IPapyrusRepository repository; @@ -87,29 +95,31 @@ public class DialogCredentialsProviderFactory this.repository = repository; } + @Override public boolean isInteractive() { return true; } + @Override public IPasswordCredentials getCredentials() { return getCredentials(null); } + @Override public IPasswordCredentials getCredentials(String realm) { IPasswordCredentials result; String username = repository.getUsername(); String password = repository.getPassword(); - if (!Strings.isNullOrEmpty(username) - && !Strings.isNullOrEmpty(password)) { + if(!Strings.isNullOrEmpty(username) && !Strings.isNullOrEmpty(password)) { // use stored creds - result = new PasswordCredentials(username, - password.toCharArray()); + result = new PasswordCredentials(username, password.toCharArray()); } else { // OK, prompt the user, then result = call(new Callable<IPasswordCredentials>() { + @Override public IPasswordCredentials call() { return openDialog(); } @@ -120,48 +130,57 @@ public class DialogCredentialsProviderFactory } private Shell getCurrentShell() { - return (activeWindow != null) - ? activeWindow.getShell() - : Display.getDefault().getActiveShell(); + return (activeWindow != null) ? activeWindow.getShell() : Display.getDefault().getActiveShell(); } private IPasswordCredentials openDialog() { IPasswordCredentials result = null; - RepositoryCredentialsDialog dlg = new RepositoryCredentialsDialog( - getCurrentShell(), repository); - if (dlg.open() == Window.OK) { + RepositoryCredentialsDialog dlg = new RepositoryCredentialsDialog(getCurrentShell(), repository); + if(dlg.open() == Window.OK) { result = dlg.getCredentials(); } return result; } + @Override public void reportCredentialsFailure(final SecurityException e) { call(new Callable<Void>() { + @Override public Void call() { - MessageDialog.openWarning(getCurrentShell(), - Messages.DialogCredentialsProviderFactory_0, e.getLocalizedMessage()); + MessageDialog.openWarning(getCurrentShell(), Messages.DialogCredentialsProviderFactory_0, e.getLocalizedMessage()); return null; } }); } + @Override + public IPasswordCredentialsUpdate getCredentialsUpdate(String userID, CredentialsUpdateOperation operation) { + return getCredentialsUpdate(null, userID, operation); + } + + @Override + public IPasswordCredentialsUpdate getCredentialsUpdate(String realm, String userID, CredentialsUpdateOperation operation) { + return delegate.getCredentialsUpdate(realm, userID, operation); + } + private <T> T call(final Callable<T> callable) { final Object[] result = new Object[1]; final Shell parentShell = getCurrentShell(); - if (parentShell.getDisplay() == Display.getCurrent()) { + if(parentShell.getDisplay() == Display.getCurrent()) { try { - result[0] = (T) callable.call(); + result[0] = callable.call(); } catch (Exception e) { Activator.log.error(e); } } else { parentShell.getDisplay().syncExec(new Runnable() { + @Override public void run() { try { result[0] = callable.call(); @@ -174,7 +193,7 @@ public class DialogCredentialsProviderFactory // this is safe according to the 'callable' type @SuppressWarnings("unchecked") - T resultAsT = (T) result[0]; + T resultAsT = (T)result[0]; return resultAsT; } diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/views/ModelRepositoriesView.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/views/ModelRepositoriesView.java index e614e3ce962..d589d619f1e 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/views/ModelRepositoriesView.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.ui/src/org/eclipse/papyrus/cdo/internal/ui/views/ModelRepositoriesView.java @@ -13,7 +13,9 @@ package org.eclipse.papyrus.cdo.internal.ui.views; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; +import org.eclipse.emf.cdo.admin.CDOAdminClientManager; import org.eclipse.emf.cdo.eresource.CDOResourceLeaf; +import org.eclipse.emf.cdo.session.CDOSession; import org.eclipse.emf.cdo.transaction.CDOTransaction; import org.eclipse.emf.cdo.ui.CDOEditorUtil; import org.eclipse.emf.cdo.util.CommitException; @@ -27,11 +29,15 @@ import org.eclipse.net4j.util.container.IContainer; import org.eclipse.net4j.util.ui.views.ContainerItemProvider; import org.eclipse.net4j.util.ui.views.ContainerView; import org.eclipse.papyrus.cdo.core.IPapyrusRepository; -import org.eclipse.papyrus.cdo.internal.core.Activator; +import org.eclipse.papyrus.cdo.core.admin.IPapyrusRepositoryAdminListener; +import org.eclipse.papyrus.cdo.core.admin.PapyrusRepositoryAdminManager; +import org.eclipse.papyrus.cdo.internal.core.IInternalPapyrusRepository; import org.eclipse.papyrus.cdo.internal.core.IInternalPapyrusRepositoryManager; import org.eclipse.papyrus.cdo.internal.core.PapyrusRepositoryManager; +import org.eclipse.papyrus.cdo.internal.ui.Activator; import org.eclipse.papyrus.cdo.internal.ui.actions.AbstractRepositoryAction; import org.eclipse.papyrus.cdo.internal.ui.actions.AddRepositoryAction; +import org.eclipse.papyrus.cdo.internal.ui.actions.ChangePasswordAction; import org.eclipse.papyrus.cdo.internal.ui.actions.ConnectRepositoryAction; import org.eclipse.papyrus.cdo.internal.ui.actions.CreateFolderAction; import org.eclipse.papyrus.cdo.internal.ui.actions.DeleteModelAction; @@ -40,6 +46,7 @@ import org.eclipse.papyrus.cdo.internal.ui.actions.LinkWithEditorAction; import org.eclipse.papyrus.cdo.internal.ui.actions.OpenPapyrusModelAction; import org.eclipse.papyrus.cdo.internal.ui.actions.RemoveRepositoryAction; import org.eclipse.papyrus.cdo.internal.ui.actions.RenameModelAction; +import org.eclipse.papyrus.cdo.internal.ui.admin.RepositoryAdminListener; import org.eclipse.papyrus.cdo.internal.ui.dnd.ResourceDragAdapter; import org.eclipse.papyrus.cdo.internal.ui.dnd.ResourceDropAdapter; import org.eclipse.papyrus.cdo.internal.ui.l10n.Messages; @@ -61,6 +68,8 @@ import org.eclipse.ui.statushandlers.IStatusAdapterConstants; import org.eclipse.ui.statushandlers.StatusAdapter; import org.eclipse.ui.statushandlers.StatusManager; +import com.google.common.base.Strings; + /** * This is the ModelRepositoriesView type. Enjoy. */ @@ -74,6 +83,12 @@ public class ModelRepositoriesView extends ContainerView { private final IInternalPapyrusRepositoryManager repositoryManager; + private final PapyrusRepositoryAdminManager adminManager; + + private CDOAdminClientManager clientManager; + + private IPapyrusRepositoryAdminListener adminListener; + private AddRepositoryAction addRepositoryAction; private LinkWithEditorAction linkWithEditorAction; @@ -82,6 +97,8 @@ public class ModelRepositoriesView extends ContainerView { private AbstractRepositoryAction disconnectRepositoryAction; + private ChangePasswordAction changePasswordAction; + private RemoveRepositoryAction removeRepositoryAction; private OpenPapyrusModelAction openModelAction; @@ -102,6 +119,7 @@ public class ModelRepositoriesView extends ContainerView { super(); repositoryManager = PapyrusRepositoryManager.INSTANCE; + adminManager = new PapyrusRepositoryAdminManager(); } @Override @@ -117,6 +135,27 @@ public class ModelRepositoriesView extends ContainerView { // link by default Boolean linking = (memento == null) ? Boolean.TRUE : memento.getBoolean(STATE_LINKING); setLinkWithEditor(!Boolean.FALSE.equals(linking)); + + // attach the admin manager + clientManager = Activator.getCDOAdminClientManager(); + if(clientManager != null) { + adminManager.install(clientManager); + adminListener = new RepositoryAdminListener(repositoryManager); + adminManager.addRepositoryAdminListener(adminListener); + } + } + + @Override + public void dispose() { + try { + if(clientManager != null) { + adminManager.removeRepositoryAdminListener(adminListener); + clientManager.removeListener(adminManager); + clientManager = null; + } + } finally { + super.dispose(); + } } @Override @@ -166,6 +205,7 @@ public class ModelRepositoriesView extends ContainerView { selectionProvider.addSelectionChangedListener(openModelAction); selectionProvider.addSelectionChangedListener(connectRepositoryAction); selectionProvider.addSelectionChangedListener(disconnectRepositoryAction); + selectionProvider.addSelectionChangedListener(changePasswordAction); selectionProvider.addSelectionChangedListener(removeRepositoryAction); selectionProvider.addSelectionChangedListener(createFolderAction); selectionProvider.addSelectionChangedListener(renameModelAction); @@ -181,6 +221,7 @@ public class ModelRepositoriesView extends ContainerView { linkWithEditorAction = new LinkWithEditorAction(this); connectRepositoryAction = new ConnectRepositoryAction(this); disconnectRepositoryAction = new DisconnectRepositoryAction(this); + changePasswordAction = new ChangePasswordAction(this); removeRepositoryAction = new RemoveRepositoryAction(this); openModelAction = new OpenPapyrusModelAction(this); createFolderAction = new CreateFolderAction(this.getSite()); @@ -222,6 +263,13 @@ public class ModelRepositoriesView extends ContainerView { manager.add(connectRepositoryAction); manager.add(disconnectRepositoryAction); + if(selected instanceof IInternalPapyrusRepository) { + CDOSession session = ((IInternalPapyrusRepository)selected).getCDOSession(); + if((session != null) && !Strings.isNullOrEmpty(session.getUserID())) { + manager.add(changePasswordAction); + } + } + manager.add(removeRepositoryAction); manager.add(propertyDialogAction); } diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.diagram.ui/META-INF/MANIFEST.MF b/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.diagram.ui/META-INF/MANIFEST.MF index d1fa804339b..f224092f44a 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.diagram.ui/META-INF/MANIFEST.MF +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.diagram.ui/META-INF/MANIFEST.MF @@ -1,10 +1,10 @@ Manifest-Version: 1.0
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1",
- org.eclipse.papyrus.cdo.core;bundle-version="0.10.1",
- org.eclipse.papyrus.cdo.ui;bundle-version="0.10.1",
- org.eclipse.papyrus.uml.diagram.wizards;bundle-version="0.10.1",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
+ org.eclipse.papyrus.cdo.core;bundle-version="1.0.0",
+ org.eclipse.papyrus.cdo.ui;bundle-version="1.0.0",
+ org.eclipse.papyrus.uml.diagram.wizards;bundle-version="1.0.0",
com.google.guava;bundle-version="[11.0.2,12.0.0)"
Export-Package: org.eclipse.papyrus.cdo.uml.diagram.internal.ui;x-internal:=true,
org.eclipse.papyrus.cdo.uml.diagram.internal.ui.handlers;x-internal:=true,
@@ -12,11 +12,13 @@ Export-Package: org.eclipse.papyrus.cdo.uml.diagram.internal.ui;x-internal:=true org.eclipse.papyrus.cdo.uml.diagram.internal.ui.wizards;x-internal:=true
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 0.10.1.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.cdo.uml.diagram.internal.ui.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.cdo.uml.diagram.ui;singleton:=true
+Bundle-Activator: org.eclipse.papyrus.cdo.uml.diagram.internal.ui.Acti
+ vator
+Bundle-SymbolicName: org.eclipse.papyrus.cdo.uml.diagram.ui;singleton:
+ =true
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.diagram.ui/src/org/eclipse/papyrus/cdo/uml/diagram/internal/ui/handlers/NewModelHandler.java b/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.diagram.ui/src/org/eclipse/papyrus/cdo/uml/diagram/internal/ui/handlers/NewModelHandler.java index 75b2ee6ecb4..e273f8994e9 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.diagram.ui/src/org/eclipse/papyrus/cdo/uml/diagram/internal/ui/handlers/NewModelHandler.java +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.diagram.ui/src/org/eclipse/papyrus/cdo/uml/diagram/internal/ui/handlers/NewModelHandler.java @@ -14,38 +14,51 @@ package org.eclipse.papyrus.cdo.uml.diagram.internal.ui.handlers; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; +import org.eclipse.emf.cdo.CDOObject; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.wizard.WizardDialog; +import org.eclipse.net4j.util.ui.UIUtil; +import org.eclipse.papyrus.cdo.internal.core.CDOUtils; import org.eclipse.papyrus.uml.diagram.wizards.InitModelWizard; +import org.eclipse.ui.ISources; import org.eclipse.ui.handlers.HandlerUtil; /** * This is the NewModelHandler type. Enjoy. */ -public class NewModelHandler - extends AbstractHandler { +public class NewModelHandler extends AbstractHandler { public NewModelHandler() { super(); } - public Object execute(ExecutionEvent event) - throws ExecutionException { + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + setEnabled(event.getApplicationContext()); - ISelection selection = HandlerUtil.getCurrentSelection(event); - if (selection instanceof IStructuredSelection) { - InitModelWizard wizard = new InitModelWizard(); + if(isEnabled()) { + ISelection selection = HandlerUtil.getCurrentSelection(event); + if(selection instanceof IStructuredSelection) { + InitModelWizard wizard = new InitModelWizard(); - wizard.init(HandlerUtil.getActiveWorkbenchWindow(event) - .getWorkbench(), (IStructuredSelection) selection); + wizard.init(HandlerUtil.getActiveWorkbenchWindow(event).getWorkbench(), (IStructuredSelection)selection); - WizardDialog dlg = new WizardDialog( - HandlerUtil.getActiveShell(event), wizard); - dlg.open(); + WizardDialog dlg = new WizardDialog(HandlerUtil.getActiveShell(event), wizard); + dlg.open(); + } } return null; } + @Override + public void setEnabled(Object evaluationContext) { + Object variable = HandlerUtil.getVariable(evaluationContext, ISources.ACTIVE_CURRENT_SELECTION_NAME); + ISelection selection = variable instanceof ISelection ? (ISelection)variable : StructuredSelection.EMPTY; + CDOObject cdoObject = CDOUtils.adapt(UIUtil.getElement(selection), CDOObject.class); + + setBaseEnabled((cdoObject == null) || !CDOUtils.isReadOnly(cdoObject)); + } } diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui/META-INF/MANIFEST.MF b/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui/META-INF/MANIFEST.MF index 474122ed569..5b08e783f5b 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui/META-INF/MANIFEST.MF +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui/META-INF/MANIFEST.MF @@ -1,29 +1,32 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.papyrus.cdo.uml.search.ui;singleton:=true -Bundle-Version: 0.10.100.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-ActivationPolicy: lazy -Bundle-Activator: org.eclipse.papyrus.cdo.uml.search.internal.ui.Activator -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.eclipse.core.runtime;bundle-version="3.9.0", - org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1", - org.eclipse.papyrus.cdo.core;bundle-version="0.10.1", - org.eclipse.emf.cdo.common;bundle-version="[4.3.0,5.0.0)", - org.eclipse.ui;bundle-version="3.105.0", - org.eclipse.uml2.uml;bundle-version="4.1.0", - org.eclipse.papyrus.uml.search.ui;bundle-version="0.10.1", - org.eclipse.papyrus.views.search;bundle-version="0.10.1", - org.eclipse.search;bundle-version="3.9.0", - org.eclipse.papyrus.infra.emf;bundle-version="0.10.1", - org.eclipse.papyrus.infra.services.labelprovider;bundle-version="0.10.1", - org.eclipse.papyrus.infra.services.openelement;bundle-version="0.10.1", - org.eclipse.papyrus.cdo.ui;bundle-version="0.10.1" -Export-Package: org.eclipse.papyrus.cdo.uml.search.internal.ui;x-internal:=true, - org.eclipse.papyrus.cdo.uml.search.internal.ui.open;x-friends:="org.eclipse.papyrus.cdo.uml.search.ui.tests", - org.eclipse.papyrus.cdo.uml.search.internal.ui.query;x-friends:="org.eclipse.papyrus.cdo.uml.search.ui.tests", - org.eclipse.papyrus.cdo.uml.search.internal.ui.scope;x-friends:="org.eclipse.papyrus.cdo.uml.search.ui.tests" -Import-Package: com.google.common.base;version="10.0.0", - com.google.common.collect;version="10.0.0" +Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.cdo.uml.search.internal.ui;x-internal:=true,
+ org.eclipse.papyrus.cdo.uml.search.internal.ui.open;x-friends:="org.eclipse.papyrus.cdo.uml.search.ui.tests",
+ org.eclipse.papyrus.cdo.uml.search.internal.ui.query;x-friends:="org.eclipse.papyrus.cdo.uml.search.ui.tests",
+ org.eclipse.papyrus.cdo.uml.search.internal.ui.scope;x-friends:="org.eclipse.papyrus.cdo.uml.search.ui.tests"
+Bundle-ActivationPolicy: lazy
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.core.runtime;bundle-version="3.9.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
+ org.eclipse.papyrus.cdo.core;bundle-version="1.0.0",
+ org.eclipse.emf.cdo.common;bundle-version="[4.3.0,5.0.0)",
+ org.eclipse.ui;bundle-version="3.105.0",
+ org.eclipse.uml2.uml;bundle-version="4.1.0",
+ org.eclipse.papyrus.uml.search.ui;bundle-version="1.0.0",
+ org.eclipse.papyrus.views.search;bundle-version="1.0.0",
+ org.eclipse.search;bundle-version="3.9.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.services.openelement;bundle-version="1.0.0",
+ org.eclipse.papyrus.cdo.ui;bundle-version="1.0.0"
+Bundle-Vendor: %providerName
+Bundle-Version: 1.0.0.qualifier
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.cdo.uml.search.internal.ui.Activ
+ ator
+Bundle-SymbolicName: org.eclipse.papyrus.cdo.uml.search.ui;singleton:=
+ true
+Import-Package: com.google.common.base;version="10.0.0",
+ com.google.common.collect;version="10.0.0"
+
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.ui/META-INF/MANIFEST.MF b/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.ui/META-INF/MANIFEST.MF index 58e93eece27..2d3f9fe26b9 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.ui/META-INF/MANIFEST.MF +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.ui/META-INF/MANIFEST.MF @@ -1,17 +1,17 @@ Manifest-Version: 1.0
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.papyrus.infra.core.log;bundle-version="0.10.1",
- org.eclipse.papyrus.uml.tools;bundle-version="0.10.1",
- org.eclipse.papyrus.cdo.ui;bundle-version="0.10.1",
- org.eclipse.papyrus.infra.widgets;bundle-version="0.10.1",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
+ org.eclipse.papyrus.uml.tools;bundle-version="1.0.0",
+ org.eclipse.papyrus.cdo.ui;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.widgets;bundle-version="1.0.0",
com.google.guava;bundle-version="[11.0.2,12.0.0)"
Export-Package: org.eclipse.papyrus.cdo.uml.internal.ui;x-friends:="org.eclipse.papyrus.cdo.uml.ui.tests",
org.eclipse.papyrus.cdo.uml.internal.ui.importsources;x-friends:="org.eclipse.papyrus.cdo.uml.ui.tests",
org.eclipse.papyrus.cdo.uml.internal.ui.l10n;x-internal:=true
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 0.10.1.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.validation.problems.edit/META-INF/MANIFEST.MF b/extraplugins/cdo/org.eclipse.papyrus.cdo.validation.problems.edit/META-INF/MANIFEST.MF index 0754f5bc291..d5b01d26d66 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.validation.problems.edit/META-INF/MANIFEST.MF +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.validation.problems.edit/META-INF/MANIFEST.MF @@ -1,17 +1,19 @@ Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.cdo.validation.problems.edit,
org.eclipse.papyrus.cdo.validation.problems.provider
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.papyrus.cdo.validation.problems;bundle-version="1.0.0",
+ org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport
+Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
+Bundle-Version: 1.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
- org.eclipse.papyrus.cdo.validation.problems;bundle-version="0.10.1",
- org.eclipse.emf.edit;visibility:=reexport;bundle-version="[2.8.0,3.0.0)"
-Bundle-Vendor: %providerName
-Bundle-Version: 0.10.1.qualifier
Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.cdo.validation.problems.provider.ProblemsEditPlugin$Implementation
-Bundle-SymbolicName: org.eclipse.papyrus.cdo.validation.problems.edit;singleton:=true
+Bundle-Activator: org.eclipse.papyrus.cdo.validation.problems.provider
+ .ProblemsEditPlugin$Implementation
+Bundle-SymbolicName: org.eclipse.papyrus.cdo.validation.problems.edit;
+ singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/extraplugins/cdo/org.eclipse.papyrus.cdo.validation.problems/META-INF/MANIFEST.MF b/extraplugins/cdo/org.eclipse.papyrus.cdo.validation.problems/META-INF/MANIFEST.MF index 9582a6b5c65..c6ad7b35b5f 100644 --- a/extraplugins/cdo/org.eclipse.papyrus.cdo.validation.problems/META-INF/MANIFEST.MF +++ b/extraplugins/cdo/org.eclipse.papyrus.cdo.validation.problems/META-INF/MANIFEST.MF @@ -3,17 +3,19 @@ Export-Package: org.eclipse.papyrus.cdo.validation.problems, org.eclipse.papyrus.cdo.validation.problems.impl,
org.eclipse.papyrus.cdo.validation.problems.internal;x-internal:=true,
org.eclipse.papyrus.cdo.validation.problems.util
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.cdo;bundle-version="[4.2.0,5.0.0)";visibility:=reexport
+Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
+Bundle-Version: 1.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
- org.eclipse.emf.ecore;visibility:=reexport;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.cdo;visibility:=reexport;bundle-version="[4.2.0,5.0.0)"
-Bundle-Vendor: %providerName
-Bundle-Version: 0.10.1.qualifier
Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.cdo.validation.problems.internal.ProblemsPlugin$Implementation
-Bundle-SymbolicName: org.eclipse.papyrus.cdo.validation.problems;singleton:=true
+Bundle-Activator: org.eclipse.papyrus.cdo.validation.problems.internal
+ .ProblemsPlugin$Implementation
+Bundle-SymbolicName: org.eclipse.papyrus.cdo.validation.problems;singl
+ eton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/.classpath b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/.project b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/.project new file mode 100644 index 00000000000..09d5deae110 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.papyrus.acceleo.debug</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..86e6151d55d --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/META-INF/MANIFEST.MF @@ -0,0 +1,20 @@ +Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.uml2.uml;bundle-version="4.0.0",
+ org.eclipse.acceleo.engine;bundle-version="3.2.2",
+ org.eclipse.papyrus.fcm.profile;bundle-version="1.0.0",
+ org.eclipse.papyrus.acceleo;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.0.0",
+ org.eclipse.papyrus.acceleo.ui;bundle-version="1.0.0"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.acceleo.debug.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.acceleo.debug;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/about.html b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/about.html new file mode 100644 index 00000000000..209103075a7 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>November 14, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/build.properties b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/build.properties new file mode 100644 index 00000000000..e84c2f4f63b --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/build.properties @@ -0,0 +1,7 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.properties,\ + about.html,\ + icons/ diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/icons/allocation.gif b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/icons/allocation.gif Binary files differindex ced634f9c9c..ced634f9c9c 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/icons/allocation.gif +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/icons/allocation.gif diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/icons/deploy.gif b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/icons/deploy.gif Binary files differindex 7a7ced35f3d..7a7ced35f3d 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/icons/deploy.gif +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/icons/deploy.gif diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/plugin.properties b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/plugin.properties new file mode 100644 index 00000000000..192d490eefe --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/plugin.properties @@ -0,0 +1,12 @@ +###############################################################################
+# Copyright (c) 2013 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - initial API and implementation
+###############################################################################
+pluginName=Papyrus extra: Debug support for Acceleo code generation(Incubation)
+providerName=Eclipse Modeling Project
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/plugin.xml b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/plugin.xml new file mode 100644 index 00000000000..a20a00b609c --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/plugin.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.2"?> +<plugin> + <extension + point="org.eclipse.ui.commands"> + <command + categoryId="org.eclipse.papyrus.editor.category" + defaultHandler="org.eclipse.papyrus.acceleo.debug.handlers.TestAcceleoHandler" + description="Test Acceleo Template" + id="org.eclipse.papyrus.acceleo.debug.menuActions.TestAcceleoCmd" + name="dummy"> + </command> + <command + categoryId="org.eclipse.papyrus.editor.category" + defaultHandler="org.eclipse.papyrus.acceleo.debug.handlers.ResetAcceleoHandler" + description="Reset Acceleo driver" + id="org.eclipse.papyrus.acceleo.debug.menuActions.ResetAcceleoCmd" + name="dummy"> + </command> + </extension> + <extension + point="org.eclipse.ui.menus"> + <menuContribution + allPopups="false" + locationURI="popup:org.eclipse.papyrus.views.modelexplorer.popup.codegen"> + <command + commandId="org.eclipse.papyrus.acceleo.debug.menuActions.TestAcceleoCmd" + icon="icons/allocation.gif" + label="Test Acceleo template" + mnemonic="T" + style="push"> + <visibleWhen + checkEnabled="true"> + </visibleWhen> + </command> + <command + commandId="org.eclipse.papyrus.acceleo.debug.menuActions.ResetAcceleoCmd" + icon="icons/allocation.gif" + label="Reset Acceleo driver" + mnemonic="R" + style="push"> + <visibleWhen + checkEnabled="true"> + </visibleWhen> + </command> + </menuContribution> + <menuContribution + allPopups="false" + locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu.codegen"> + <command + commandId="org.eclipse.papyrus.acceleo.debug.menuActions.TestAcceleoCmd" + icon="icons/allocation.gif" + id="org.eclipse.papyrus.acceleo.debug.menuActions.TestAcceleoMenu" + label="Qompass: Test Acceleo template" + mnemonic="T" + style="push"> + <visibleWhen + checkEnabled="true"> + </visibleWhen> + </command> + <command + commandId="org.eclipse.papyrus.acceleo.debug.menuActions.ResetAcceleoCmd" + icon="icons/allocation.gif" + id="org.eclipse.papyrus.acceleo.debug.menuActions.ResetAcceleoMenu" + label="Reset Acceleo driver" + mnemonic="R" + style="push"> + <visibleWhen + checkEnabled="true"> + </visibleWhen> + </command> + </menuContribution> + </extension> +</plugin> diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/Activator.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/Activator.java new file mode 100644 index 00000000000..accd22fecb1 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/Activator.java @@ -0,0 +1,50 @@ +package org.eclipse.papyrus.acceleo.debug; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.papyrus.acceleo.debug"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/dialogs/TestAcceleoDialog.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/dialogs/TestAcceleoDialog.java new file mode 100644 index 00000000000..3ed25a096d6 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/dialogs/TestAcceleoDialog.java @@ -0,0 +1,161 @@ +package org.eclipse.papyrus.acceleo.debug.dialogs; + +import org.eclipse.papyrus.acceleo.AcceleoDriver; +import org.eclipse.papyrus.acceleo.AcceleoException; +import org.eclipse.papyrus.infra.widgets.toolbox.utils.DialogUtils; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.events.KeyListener; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.layout.RowLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.dialogs.SelectionStatusDialog; +import org.eclipse.uml2.uml.NamedElement; + +/** + * Select container rules, either from a list of globally defined rules or from + * local rules which may be created "on the fly" by this dialog. + * + * TODO: extend rule application to instances (problematic, since rules + * transformation is done on type level) + * + * @author ansgar + */ +public class TestAcceleoDialog extends SelectionStatusDialog { + + protected NamedElement m_acceleoParam; + + protected Text fTemplate; + + protected Button fApplyAcceleoButton; + + protected Text fOutput; + + protected Text fErr; + + protected static String saveTemplate = ""; + + public TestAcceleoDialog(Shell parent, NamedElement acceleoParam) { + super(parent); + m_acceleoParam = acceleoParam; + } + + /** + * @see SelectionStatusDialog#computeResult() + */ + protected void computeResult() { + // nothing to do + saveTemplate = fTemplate.getText(); + } + + public Control createDialogArea(Composite parent) { + Composite contents = (Composite)super.createDialogArea(parent); + // (parent, "Container rules", "Avail. extensions/interceptors"); + + createTextAcceleoGroup(contents); + return contents; + } + + // create instance configuration group + protected void createTextAcceleoGroup(Composite parent) { + GridData groupGridData = DialogUtils.createFillGridData(); + + Group instanceConfigurationGroup = new Group(parent, SWT.BORDER); + instanceConfigurationGroup.setText(" Test Acceleo Template"); + instanceConfigurationGroup.setLayout(new RowLayout(SWT.VERTICAL)); + instanceConfigurationGroup.setLayout(new GridLayout(1, false)); + instanceConfigurationGroup.setLayoutData(groupGridData); + + GridData span2 = new GridData(); + span2.horizontalAlignment = GridData.FILL; + span2.verticalAlignment = GridData.FILL; + span2.grabExcessHorizontalSpace = true; + span2.grabExcessVerticalSpace = true; + span2.widthHint = 400; + span2.heightHint = 150; + + Label descriptionLabel = new Label(instanceConfigurationGroup, SWT.NONE); + descriptionLabel.setText("Template:"); + + fTemplate = new Text(instanceConfigurationGroup, SWT.WRAP + | SWT.V_SCROLL); + fTemplate.setLayoutData(span2); + fTemplate.setText(saveTemplate); + + fApplyAcceleoButton = new Button(instanceConfigurationGroup, SWT.NONE); + fApplyAcceleoButton.setText("instantiate template"); + fApplyAcceleoButton.addKeyListener(new KeyListener() { + + public void keyReleased(KeyEvent e) { + } + + public void keyPressed(KeyEvent e) { + System.out.println(e); + } + }); + // fApplyAcceleoButton.setLayoutData(span2); + fApplyAcceleoButton.addSelectionListener(new SelectionListener() { + + public void widgetSelected(SelectionEvent e) { + try { + AcceleoDriver.clearErrors(); + String result = AcceleoDriver.bind(fTemplate.getText(), m_acceleoParam); + fOutput.setText(result); + fErr.setText(""); + } + catch (AcceleoException err) { + fOutput.setText(""); + fErr.setText(err.toString()); + } + } + + public void widgetDefaultSelected(SelectionEvent e) { + } + }); + + Button fResetButton = new Button(instanceConfigurationGroup, SWT.NONE); + fResetButton.setText("reset acceleo driver (reread initial scripts)"); + fResetButton.addSelectionListener(new SelectionListener() { + + public void widgetSelected(SelectionEvent e) { + fOutput.setText(""); + fErr.setText(""); + AcceleoDriver.init(); + } + + public void widgetDefaultSelected(SelectionEvent e) { + } + }); + + Label resultLabel = new Label(instanceConfigurationGroup, SWT.NONE); + resultLabel.setText("Result:"); + + fOutput = new Text(instanceConfigurationGroup, SWT.WRAP + | SWT.V_SCROLL | SWT.READ_ONLY); + fOutput.setLayoutData(span2); + + Label errLabel = new Label(instanceConfigurationGroup, SWT.NONE); + errLabel.setText("Error:"); + + GridData span3 = new GridData(); + span3.horizontalAlignment = GridData.FILL; + span3.verticalAlignment = GridData.FILL; + span3.grabExcessHorizontalSpace = true; + // span3.grabExcessVerticalSpace = true; + span3.heightHint = 50; + + fErr = new Text(instanceConfigurationGroup, SWT.WRAP + | SWT.V_SCROLL | SWT.READ_ONLY); + fErr.setLayoutData(span3); + } + +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/handlers/ResetAcceleoHandler.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/handlers/ResetAcceleoHandler.java new file mode 100644 index 00000000000..e57d2f4b4e0 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/handlers/ResetAcceleoHandler.java @@ -0,0 +1,45 @@ +/***************************************************************************** + * Copyright (c) 2010 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: + * Ansgar Radermacher (CEA LIST) ansgar.radermacher@cea.fr - Initial API and implementation + *****************************************************************************/ + +package org.eclipse.papyrus.acceleo.debug.handlers; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.papyrus.acceleo.AcceleoDriver; +import org.eclipse.papyrus.acceleo.ui.handlers.CmdHandler; +import org.eclipse.uml2.uml.Element; +import org.eclipse.uml2.uml.NamedElement; + +public class ResetAcceleoHandler extends CmdHandler { + + /** + * {@inheritDoc} + */ + @Override + public boolean isEnabled() { + updateSelectedEObject(); + if(selectedEObject instanceof Element) { + return true; + } + return false; + } + + /** + * {@inheritDoc} + */ + public Object execute(ExecutionEvent event) throws ExecutionException { + if(selectedEObject instanceof NamedElement) { + AcceleoDriver.init(); + } + return null; + } +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/handlers/TestAcceleoHandler.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/handlers/TestAcceleoHandler.java new file mode 100644 index 00000000000..7fde134ebf4 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.debug/src/org/eclipse/papyrus/acceleo/debug/handlers/TestAcceleoHandler.java @@ -0,0 +1,53 @@ +/***************************************************************************** + * Copyright (c) 2010 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: + * Ansgar Radermacher (CEA LIST) ansgar.radermacher@cea.fr - Initial API and implementation + *****************************************************************************/ + +package org.eclipse.papyrus.acceleo.debug.handlers; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.papyrus.acceleo.debug.dialogs.TestAcceleoDialog; +import org.eclipse.papyrus.acceleo.ui.handlers.CmdHandler; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.uml2.uml.NamedElement; + +/** + * Test the Acceleo handler: call a dialog that opens the + * @author ansgar + * + */ +public class TestAcceleoHandler extends CmdHandler { + + /** + * {@inheritDoc} + */ + @Override + public boolean isEnabled() { + updateSelectedEObject(); + if(selectedEObject instanceof NamedElement) { + return true; + } + return false; + } + + /** + * {@inheritDoc} + */ + public Object execute(ExecutionEvent event) throws ExecutionException { + if(selectedEObject instanceof NamedElement) { + NamedElement selectedNE = (NamedElement)selectedEObject; + + TestAcceleoDialog tag = new TestAcceleoDialog(new Shell(), selectedNE); + tag.open(); + } + return null; + } +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/.classpath b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/.classpath new file mode 100644 index 00000000000..8a8f1668cdc --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/.project b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/.project new file mode 100644 index 00000000000..64a4ca10930 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.papyrus.acceleo.ui</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/extraplugins/codegen/org.eclipse.papyrus.texteditor.modelexplorer/.settings/org.eclipse.jdt.core.prefs b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/.settings/org.eclipse.jdt.core.prefs index af0f20f97a5..f287d53cf45 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.texteditor.modelexplorer/.settings/org.eclipse.jdt.core.prefs +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,7 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.5 +eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..750c45044af --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/META-INF/MANIFEST.MF @@ -0,0 +1,17 @@ +Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.core.resources,
+ org.eclipse.papyrus.infra.emf;bundle-version="1.0.0",
+ org.eclipse.emf.ecore;bundle-version="2.10.0"
+Export-Package: org.eclipse.papyrus.acceleo.ui.handlers
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.acceleo.ui.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.acceleo.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/about.html b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/about.html new file mode 100644 index 00000000000..209103075a7 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>November 14, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/build.properties b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/build.properties new file mode 100644 index 00000000000..10c4eaea6d7 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/build.properties @@ -0,0 +1,8 @@ +source.. = src/ +output.. = bin/ +bin.includes = plugin.xml,\ + META-INF/,\ + plugin.properties,\ + about.html,\ + icons/ +src.includes = about.html diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/icons/codegen-16x16.gif b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/icons/codegen-16x16.gif Binary files differnew file mode 100644 index 00000000000..d7c1a7365f5 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/icons/codegen-16x16.gif diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/plugin.properties b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/plugin.properties new file mode 100644 index 00000000000..23bbbab2078 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/plugin.properties @@ -0,0 +1,12 @@ +###############################################################################
+# Copyright (c) 2013 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - initial API and implementation
+###############################################################################
+pluginName=Papyrus extra: Acceleo code generation UI support (Incubation)
+providerName=Eclipse Modeling Project
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/plugin.xml b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/plugin.xml new file mode 100644 index 00000000000..10ffe8d6e48 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/plugin.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> +<plugin> + +<extension + point="org.eclipse.ui.menus"> + <menuContribution + allPopups="true" + locationURI="popup:org.eclipse.papyrus.views.modelexplorer.modelexplorer.popup"> + <menu + icon="icons/codegen-16x16.gif" + id="org.eclipse.papyrus.views.modelexplorer.popup.codegen" + label="Code generation"> + </menu> + </menuContribution> + <menuContribution + allPopups="true" + locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu?after=filtersMenu"> + <menu + icon="icons/codegen-16x16.gif" + id="org.eclipse.papyrus.views.modelexplorer.popup.codegen" + label="Code generation"> + </menu> + </menuContribution> +</extension> +</plugin> diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/src/org/eclipse/papyrus/acceleo/ui/Activator.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/src/org/eclipse/papyrus/acceleo/ui/Activator.java new file mode 100644 index 00000000000..8be096c6da9 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/src/org/eclipse/papyrus/acceleo/ui/Activator.java @@ -0,0 +1,61 @@ +package org.eclipse.papyrus.acceleo.ui; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.papyrus.acceleo.ui"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given + * plug-in relative path + * + * @param path the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return imageDescriptorFromPlugin(PLUGIN_ID, path); + } +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/src/org/eclipse/papyrus/acceleo/ui/handlers/CmdHandler.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/src/org/eclipse/papyrus/acceleo/ui/handlers/CmdHandler.java new file mode 100644 index 00000000000..39c89da798b --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo.ui/src/org/eclipse/papyrus/acceleo/ui/handlers/CmdHandler.java @@ -0,0 +1,49 @@ +/***************************************************************************** + * Copyright (c) 2010 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: + * Ansgar Radermacher (CEA LIST) ansgar.radermacher@cea.fr - Initial API and implementation + *****************************************************************************/ + +package org.eclipse.papyrus.acceleo.ui.handlers; + + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.papyrus.infra.emf.utils.BusinessModelResolver; +import org.eclipse.ui.PlatformUI; + + +/** + * Superclass for handlers. It converts a selection into an EObject + */ +public abstract class CmdHandler extends AbstractHandler { + + /** + * Convert selected elements within model explorer or diagram to an eObject + */ + public void updateSelectedEObject() { + // Retrieve selected elements + IStructuredSelection selection = (IStructuredSelection)PlatformUI + .getWorkbench().getActiveWorkbenchWindow() + .getSelectionService().getSelection(); + + if(selection != null) { + Object selectedObject = BusinessModelResolver.getInstance().getBusinessModel(selection.getFirstElement()); + if (selectedObject instanceof EObject) { + selectedEObject = (EObject) selectedObject; + } + } + } + + /** + * Store the selected EObject. Accessible for subclasses + */ + protected EObject selectedEObject; +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/.classpath b/extraplugins/codegen/org.eclipse.papyrus.acceleo/.classpath index 64c5e31b7a2..ad32c83a788 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/.classpath +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/.classpath @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <classpathentry kind="src" path="src"/> <classpathentry kind="output" path="bin"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.acceleo/META-INF/MANIFEST.MF index 5a29a7c4890..499998899e0 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/META-INF/MANIFEST.MF +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/META-INF/MANIFEST.MF @@ -7,11 +7,11 @@ Require-Bundle: org.eclipse.core.runtime, Export-Package: org.eclipse.papyrus.acceleo
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 0.10.1.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Name: %pluginName
+Bundle-Localization: plugin
Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.papyrus.acceleo.Activator
Bundle-SymbolicName: org.eclipse.papyrus.acceleo
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.emtl b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.emtl index 2b8f661fb18..f7dad3d4549 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.emtl @@ -649,13 +649,48 @@ </expression> <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Query" name="getBodyFromOB" visibility="Public"> + <parameter name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </parameter> + <parameter name="arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </parameter> + <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/74"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.acceleo.GenUtils"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="getBodyFromOB(org.eclipse.uml2.uml.OpaqueBehavior, java.lang.String)"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(OclAny)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg0" referredVariable="/0/getBodyFromOB/arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </item> + </part> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <item xsi:type="ocl.ecore:VariableExp" name="arg1" referredVariable="/0/getBodyFromOB/arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </item> + </part> + </argument> + </expression> + <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Query" name="cleanCR" visibility="Public"> <parameter name="str"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </parameter> <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/74"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/77"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </source> <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.acceleo.GenUtils"> @@ -681,7 +716,7 @@ </parameter> <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/77"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/80"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </source> <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.acceleo.GenUtils"> @@ -710,7 +745,7 @@ </parameter> <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/80"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/83"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </source> <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.acceleo.GenUtils"> @@ -736,6 +771,32 @@ </expression> <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Query" name="returnResult" visibility="Public"> + <parameter name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </parameter> + <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/OclAny_Class/invoke"> + <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/86"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.acceleo.GenUtils"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="returnResult(org.eclipse.uml2.uml.Behavior)"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + <argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/3/Sequence(Behavior)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + <item xsi:type="ocl.ecore:VariableExp" name="behavior" referredVariable="/0/returnResult/behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </item> + </part> + </argument> + </expression> + <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ownedModuleElement> </mtl:Module> <ecore:EPackage name="additions"> <eClassifiers xsi:type="ecore:EClass" name="String_Class"> @@ -995,6 +1056,19 @@ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </eParameters> </eOperations> + <eOperations name="getBodyFromOB"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/getBodyFromOB"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> <eOperations name="cleanCR"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -1028,6 +1102,16 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </eParameters> </eOperations> + <eOperations name="returnResult"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/returnResult"/> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + <eParameters name="behavior"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eParameters> + </eOperations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> @@ -1097,6 +1181,16 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> @@ -1132,6 +1226,9 @@ <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Behavior)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> @@ -1341,6 +1438,15 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> @@ -1367,6 +1473,15 @@ <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> <ecore:EAnnotation source="positions"> <eAnnotations source="positions.0" references="/0/getTemplateBindings"> <details key="start" value="90"/> @@ -2353,134 +2468,224 @@ <details key="end" value="4972"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.197" references="/0/cleanCR"> + <eAnnotations source="positions.197" references="/0/getBodyFromOB"> <details key="start" value="4979"/> - <details key="end" value="5120"/> + <details key="end" value="5200"/> <details key="line" value="96"/> </eAnnotations> - <eAnnotations source="positions.198" references="/0/cleanCR/str"> - <details key="start" value="5001"/> - <details key="end" value="5013"/> + <eAnnotations source="positions.198" references="/0/getBodyFromOB/arg0"> + <details key="start" value="5007"/> + <details key="end" value="5028"/> <details key="line" value="96"/> </eAnnotations> - <eAnnotations source="positions.199" references="/0/cleanCR/%"> - <details key="start" value="5027"/> - <details key="end" value="5117"/> + <eAnnotations source="positions.199" references="/0/getBodyFromOB/arg1"> + <details key="start" value="5030"/> + <details key="end" value="5043"/> + <details key="line" value="96"/> + </eAnnotations> + <eAnnotations source="positions.200" references="/0/getBodyFromOB/%"> + <details key="start" value="5057"/> + <details key="end" value="5197"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.200" references="/0/cleanCR/%/self"> + <eAnnotations source="positions.201" references="/0/getBodyFromOB/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.201" references="/0/cleanCR/%/%"> - <details key="start" value="5034"/> - <details key="end" value="5072"/> + <eAnnotations source="positions.202" references="/0/getBodyFromOB/%/%"> + <details key="start" value="5064"/> + <details key="end" value="5102"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.203" references="/0/getBodyFromOB/%/%.1"> + <details key="start" value="5104"/> + <details key="end" value="5174"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.202" references="/0/cleanCR/%/%.1"> - <details key="start" value="5074"/> - <details key="end" value="5101"/> + <eAnnotations source="positions.204" references="/0/getBodyFromOB/%/%.2"> + <details key="start" value="5176"/> + <details key="end" value="5196"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.203" references="/0/cleanCR/%/%.2"> - <details key="start" value="5103"/> - <details key="end" value="5116"/> + <eAnnotations source="positions.205" references="/0/getBodyFromOB/%/%.2/%/arg0"> + <details key="start" value="5185"/> + <details key="end" value="5189"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.204" references="/0/cleanCR/%/%.2/%/str"> - <details key="start" value="5112"/> - <details key="end" value="5115"/> + <eAnnotations source="positions.206" references="/0/getBodyFromOB/%/%.2/%.1/arg1"> + <details key="start" value="5191"/> + <details key="end" value="5195"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.205" references="/0/maskNull"> - <details key="start" value="5122"/> - <details key="end" value="5265"/> + <eAnnotations source="positions.207" references="/0/cleanCR"> + <details key="start" value="5202"/> + <details key="end" value="5343"/> <details key="line" value="100"/> </eAnnotations> - <eAnnotations source="positions.206" references="/0/maskNull/str"> - <details key="start" value="5145"/> - <details key="end" value="5157"/> + <eAnnotations source="positions.208" references="/0/cleanCR/str"> + <details key="start" value="5224"/> + <details key="end" value="5236"/> <details key="line" value="100"/> </eAnnotations> - <eAnnotations source="positions.207" references="/0/maskNull/%"> - <details key="start" value="5171"/> - <details key="end" value="5262"/> + <eAnnotations source="positions.209" references="/0/cleanCR/%"> + <details key="start" value="5250"/> + <details key="end" value="5340"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.208" references="/0/maskNull/%/self"> + <eAnnotations source="positions.210" references="/0/cleanCR/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.209" references="/0/maskNull/%/%"> - <details key="start" value="5178"/> - <details key="end" value="5216"/> + <eAnnotations source="positions.211" references="/0/cleanCR/%/%"> + <details key="start" value="5257"/> + <details key="end" value="5295"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.210" references="/0/maskNull/%/%.1"> - <details key="start" value="5218"/> - <details key="end" value="5246"/> + <eAnnotations source="positions.212" references="/0/cleanCR/%/%.1"> + <details key="start" value="5297"/> + <details key="end" value="5324"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.211" references="/0/maskNull/%/%.2"> - <details key="start" value="5248"/> - <details key="end" value="5261"/> + <eAnnotations source="positions.213" references="/0/cleanCR/%/%.2"> + <details key="start" value="5326"/> + <details key="end" value="5339"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.212" references="/0/maskNull/%/%.2/%/str"> - <details key="start" value="5257"/> - <details key="end" value="5260"/> + <eAnnotations source="positions.214" references="/0/cleanCR/%/%.2/%/str"> + <details key="start" value="5335"/> + <details key="end" value="5338"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.213" references="/0/getRelativePath"> - <details key="start" value="5267"/> - <details key="end" value="5507"/> - <details key="line" value="104"/> - </eAnnotations> - <eAnnotations source="positions.214" references="/0/getRelativePath/ne1"> - <details key="start" value="5297"/> - <details key="end" value="5315"/> + <eAnnotations source="positions.215" references="/0/maskNull"> + <details key="start" value="5345"/> + <details key="end" value="5488"/> <details key="line" value="104"/> </eAnnotations> - <eAnnotations source="positions.215" references="/0/getRelativePath/ne2"> - <details key="start" value="5317"/> - <details key="end" value="5335"/> + <eAnnotations source="positions.216" references="/0/maskNull/str"> + <details key="start" value="5368"/> + <details key="end" value="5380"/> <details key="line" value="104"/> </eAnnotations> - <eAnnotations source="positions.216" references="/0/getRelativePath/%"> - <details key="start" value="5349"/> - <details key="end" value="5504"/> + <eAnnotations source="positions.217" references="/0/maskNull/%"> + <details key="start" value="5394"/> + <details key="end" value="5485"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.217" references="/0/getRelativePath/%/self"> + <eAnnotations source="positions.218" references="/0/maskNull/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.218" references="/0/getRelativePath/%/%"> - <details key="start" value="5356"/> - <details key="end" value="5394"/> + <eAnnotations source="positions.219" references="/0/maskNull/%/%"> + <details key="start" value="5401"/> + <details key="end" value="5439"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.220" references="/0/maskNull/%/%.1"> + <details key="start" value="5441"/> + <details key="end" value="5469"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.219" references="/0/getRelativePath/%/%.1"> - <details key="start" value="5396"/> + <eAnnotations source="positions.221" references="/0/maskNull/%/%.2"> + <details key="start" value="5471"/> + <details key="end" value="5484"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.222" references="/0/maskNull/%/%.2/%/str"> + <details key="start" value="5480"/> <details key="end" value="5483"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.220" references="/0/getRelativePath/%/%.2"> - <details key="start" value="5485"/> - <details key="end" value="5503"/> + <eAnnotations source="positions.223" references="/0/getRelativePath"> + <details key="start" value="5490"/> + <details key="end" value="5730"/> + <details key="line" value="108"/> + </eAnnotations> + <eAnnotations source="positions.224" references="/0/getRelativePath/ne1"> + <details key="start" value="5520"/> + <details key="end" value="5538"/> + <details key="line" value="108"/> + </eAnnotations> + <eAnnotations source="positions.225" references="/0/getRelativePath/ne2"> + <details key="start" value="5540"/> + <details key="end" value="5558"/> + <details key="line" value="108"/> + </eAnnotations> + <eAnnotations source="positions.226" references="/0/getRelativePath/%"> + <details key="start" value="5572"/> + <details key="end" value="5727"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.227" references="/0/getRelativePath/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.228" references="/0/getRelativePath/%/%"> + <details key="start" value="5579"/> + <details key="end" value="5617"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.229" references="/0/getRelativePath/%/%.1"> + <details key="start" value="5619"/> + <details key="end" value="5706"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.230" references="/0/getRelativePath/%/%.2"> + <details key="start" value="5708"/> + <details key="end" value="5726"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.231" references="/0/getRelativePath/%/%.2/%/ne1"> + <details key="start" value="5717"/> + <details key="end" value="5720"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.232" references="/0/getRelativePath/%/%.2/%.1/ne2"> + <details key="start" value="5722"/> + <details key="end" value="5725"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.233" references="/0/returnResult"> + <details key="start" value="5732"/> + <details key="end" value="5911"/> + <details key="line" value="112"/> + </eAnnotations> + <eAnnotations source="positions.234" references="/0/returnResult/behavior"> + <details key="start" value="5759"/> + <details key="end" value="5778"/> + <details key="line" value="112"/> + </eAnnotations> + <eAnnotations source="positions.235" references="/0/returnResult/%"> + <details key="start" value="5795"/> + <details key="end" value="5908"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.236" references="/0/returnResult/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.237" references="/0/returnResult/%/%"> + <details key="start" value="5802"/> + <details key="end" value="5840"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.238" references="/0/returnResult/%/%.1"> + <details key="start" value="5842"/> + <details key="end" value="5887"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.221" references="/0/getRelativePath/%/%.2/%/ne1"> - <details key="start" value="5494"/> - <details key="end" value="5497"/> + <eAnnotations source="positions.239" references="/0/returnResult/%/%.2"> + <details key="start" value="5889"/> + <details key="end" value="5907"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.222" references="/0/getRelativePath/%/%.2/%.1/ne2"> - <details key="start" value="5499"/> - <details key="end" value="5502"/> + <eAnnotations source="positions.240" references="/0/returnResult/%/%.2/%/behavior"> + <details key="start" value="5898"/> + <details key="end" value="5906"/> <details key="line" value="0"/> </eAnnotations> </ecore:EAnnotation> diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.java index f32492efe34..7fff24f5e75 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.java +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.java @@ -33,6 +33,7 @@ import org.eclipse.uml2.uml.OpaqueBehavior; import org.eclipse.uml2.uml.Operation; import org.eclipse.uml2.uml.Package; import org.eclipse.uml2.uml.Parameter; +import org.eclipse.uml2.uml.ParameterDirectionKind; import org.eclipse.uml2.uml.ParameterableElement; import org.eclipse.uml2.uml.Property; import org.eclipse.uml2.uml.TemplateBinding; @@ -549,14 +550,31 @@ public class GenUtils { public static String getBody(Operation operation, String selectedLanguage) { for(Behavior behavior : operation.getMethods()) { if(behavior instanceof OpaqueBehavior) { - OpaqueBehavior ob = (OpaqueBehavior)behavior; - Iterator<String> bodies = ob.getBodies().iterator(); - for(String language : ob.getLanguages()) { - String body = bodies.next(); - if(language.equals(selectedLanguage)) { - // additional "\r" confuses Acceleo - return cleanCR(body); - } + return getBodyFromOB((OpaqueBehavior) behavior, selectedLanguage); + } + } + return ""; //$NON-NLS-1$ + } + + + /** + * @param ob + * an opaque behavior + * @param selectedLanguage + * the selected language + * @return Return the first body of a selected language that is provided by + * one of the operation's methods + */ + public static String getBodyFromOB(OpaqueBehavior ob, String selectedLanguage) { + Iterator<String> bodies = ob.getBodies().iterator(); + for(String language : ob.getLanguages()) { + // additional sanity check: number of languages and number of bodies should be synchronized, + // but there is no guarantee that this is the case + if (bodies.hasNext()) { + String body = bodies.next(); + if(language.equals(selectedLanguage)) { + // additional "\r" confuses Acceleo + return cleanCR(body); } } } @@ -589,7 +607,8 @@ public class GenUtils { /** * Return the relative path of ne2 as seen from ne1 * (might not always be useful, if includes are always done from a common root) - * + * TODO: incomplete, currently unused + * * @param ne1 a named element * @param ne2 a named element * @return @@ -597,13 +616,28 @@ public class GenUtils { public static String getRelativePath(NamedElement ne1, NamedElement ne2) { // get common prefix EList<Namespace> ne1namespaces = ne1.allNamespaces(); - String path = ""; + String path = ""; //$NON-NLS-1$ for (Namespace ns : ne2.allNamespaces()) { if (ne1namespaces.contains(ns)) { // ns is a common prefix return ne2.getName(); } - path += "../"; + path += "../"; //$NON-NLS-1$ + } + return path; + } + + /** + * Return the type of a behavior, i.e. the type of the first parameter with + * "return" direction + * @param behavior a behavior + * @return the associated type + */ + public static Parameter returnResult(Behavior behavior) { + for (Parameter parameter : behavior.getOwnedParameters()) { + if (parameter.getDirection() == ParameterDirectionKind.RETURN_LITERAL) { + return parameter; + } } return null; } diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl index 4f0f7bb8794..8292e968020 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/GenUtils.mtl @@ -93,6 +93,10 @@ = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getBody(org.eclipse.uml2.uml.Operation, java.lang.String)', Sequence{arg0, arg1}) /] +[query public getBodyFromOB(arg0 : OpaqueBehavior, arg1 : String) : String + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getBodyFromOB(org.eclipse.uml2.uml.OpaqueBehavior, java.lang.String)', Sequence{arg0, arg1}) +/] + [query public cleanCR(str : String) : String = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'cleanCR(java.lang.String)', Sequence{str}) /] @@ -105,3 +109,6 @@ = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'getRelativePath(org.eclipse.uml2.uml.NamedElement, org.eclipse.uml2.uml.NamedElement)', Sequence{ne1, ne2}) /] +[query public returnResult(behavior : Behavior) : Parameter + = invoke('org.eclipse.papyrus.acceleo.GenUtils', 'returnResult(org.eclipse.uml2.uml.Behavior)', Sequence{behavior}) +/]
\ No newline at end of file diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java index 63180eb5ace..c013219a044 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java @@ -34,6 +34,8 @@ import org.eclipse.uml2.uml.Package; import org.eclipse.uml2.uml.PackageableElement;
import org.eclipse.uml2.uml.PrimitiveType;
import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.SignalEvent;
import org.eclipse.uml2.uml.Usage;
@@ -136,7 +138,14 @@ abstract public class ModelElementsCreator { }
else if(element instanceof Relationship) {
// no code generation for relationships
- } else {
+ }
+ else if(element instanceof Signal) {
+ // TODO: not supported, but do nothing
+ }
+ else if(element instanceof SignalEvent) {
+ // TODO: not supported, but do nothing
+ }
+ else {
throw new RuntimeException("C++ code generator: unsupported model element " + element); //$NON-NLS-1$
}
}
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/.classpath b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/.classpath index 64c5e31b7a2..ad32c83a788 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/.classpath +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/.classpath @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <classpathentry kind="src" path="src"/> <classpathentry kind="output" path="bin"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/META-INF/MANIFEST.MF index 07f6c42061d..0cd45562962 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/META-INF/MANIFEST.MF +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/META-INF/MANIFEST.MF @@ -3,21 +3,24 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime,
org.eclipse.emf.common;bundle-version="2.8.0",
org.eclipse.emf.ecore;bundle-version="2.8.0",
- org.eclipse.papyrus.infra.core;bundle-version="0.10.1",
+ org.eclipse.papyrus.infra.core;bundle-version="1.0.0",
org.eclipse.uml2.uml;bundle-version="4.0.0",
- org.eclipse.papyrus.cpp.codegen;bundle-version="0.10.1",
+ org.eclipse.papyrus.cpp.codegen;bundle-version="1.0.0",
org.eclipse.jface.text;bundle-version="3.8.0",
- org.eclipse.papyrus.infra.emf;bundle-version="0.10.1",
- org.eclipse.papyrus.acceleo;bundle-version="0.10.1",
- org.eclipse.cdt.core;bundle-version="5.5.0"
+ org.eclipse.papyrus.infra.emf;bundle-version="1.0.0",
+ org.eclipse.papyrus.acceleo;bundle-version="1.0.0",
+ org.eclipse.cdt.core;bundle-version="5.5.0",
+ org.eclipse.papyrus.acceleo.ui;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
+ org.eclipse.papyrus.acceleo.ui;bundle-version="1.0.0"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 0.10.1.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.papyrus.cpp.codegen.ui.Activator
Bundle-SymbolicName: org.eclipse.papyrus.cpp.codegen.ui;singleton:=tru
e
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/plugin.xml b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/plugin.xml index 747849c260c..6bdb3afbbe4 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/plugin.xml +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/plugin.xml @@ -5,21 +5,7 @@ point="org.eclipse.ui.menus"> <menuContribution allPopups="false" - locationURI="popup:org.eclipse.papyrus.views.modelexplorer.modelexplorer.popup"> - <command - commandId="org.eclipse.papyrus.cpp.codegen.command" - icon="icons/codegen.gif" - label="Generate C++ code" - style="push" - tooltip="Generate C++ code"> - <visibleWhen - checkEnabled="true"> - </visibleWhen> - </command> - </menuContribution> - <menuContribution - allPopups="false" - locationURI="popup:org.eclipse.gmf.runtime.diagram.ui.DiagramEditorContextMenu"> + locationURI="popup:org.eclipse.papyrus.views.modelexplorer.popup.codegen"> <command commandId="org.eclipse.papyrus.cpp.codegen.command" icon="icons/codegen.gif" @@ -36,8 +22,9 @@ point="org.eclipse.ui.commands"> <command description="Generate C++ code" + categoryId="org.eclipse.papyrus.editor.category" id="org.eclipse.papyrus.cpp.codegen.command" - defaultHandler="org.eclipse.papyrus.cpp.codegen.ui.handler.GenerateCodeHandler" + defaultHandler="org.eclipse.papyrus.cpp.codegen.ui.handlers.GenerateCodeHandler" name="Generate C++ code"> </command> </extension> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/Activator.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/Activator.java index a8f74c72d82..d92f9f5a83d 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/Activator.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/Activator.java @@ -1,5 +1,18 @@ +/******************************************************************************* + * Copyright (c) 2013 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: + * Ansgar Radermacher - Initial API and implementation + *******************************************************************************/ + package org.eclipse.papyrus.cpp.codegen.ui; +import org.eclipse.papyrus.infra.core.log.LogHelper; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; @@ -13,7 +26,9 @@ public class Activator extends AbstractUIPlugin { // The shared instance private static Activator plugin; - + + public static LogHelper log; + /** * The constructor */ @@ -27,13 +42,17 @@ public class Activator extends AbstractUIPlugin { public void start(BundleContext context) throws Exception { super.start(context); plugin = this; + + // register the login helper + log = new LogHelper(plugin); } /* * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) */ - public void stop(BundleContext context) throws Exception { + @Override + public void stop(BundleContext context) throws Exception { plugin = null; super.stop(context); } @@ -46,5 +65,4 @@ public class Activator extends AbstractUIPlugin { public static Activator getDefault() { return plugin; } - } diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handler/GenerateCodeHandler.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handler/GenerateCodeHandler.java deleted file mode 100644 index 1945de142b2..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handler/GenerateCodeHandler.java +++ /dev/null @@ -1,150 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2012 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: - * Ansgar Radermacher - Initial API and implementation - *******************************************************************************/ - -package org.eclipse.papyrus.cpp.codegen.ui.handler; - -import org.eclipse.cdt.core.CCProjectNature; -import org.eclipse.cdt.core.CProjectNature; -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IWorkspaceRoot; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Status; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.papyrus.acceleo.AcceleoDriver; -import org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenUtils; -import org.eclipse.papyrus.cpp.codegen.transformation.CppModelElementsCreator; -import org.eclipse.papyrus.infra.core.Activator; -import org.eclipse.papyrus.infra.emf.utils.BusinessModelResolver; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.PlatformUI; -import org.eclipse.uml2.uml.PackageableElement; - -/** - * <b><u>SyncURI Handler</u></b> - * <p> - * Install a filter that only shows events corresponding to a selected URI - */ -public class GenerateCodeHandler extends AbstractHandler { - - // ------------------------------------------------------------------------ - // Execution - // ------------------------------------------------------------------------ - - private EObject selectedEObj; - - @Override - public boolean isEnabled() { - // intercept isEnabled operation in order to get selected eObject. - - // Get current selection - Object selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(); - - // Get first element if the selection is an IStructuredSelection - if(selection instanceof IStructuredSelection) { - IStructuredSelection structuredSelection = (IStructuredSelection)selection; - selection = structuredSelection.getFirstElement(); - } - - // Treat non-null selected object (try to adapt and return EObject) - if(selection != null) { - Object businessObject = BusinessModelResolver.getInstance().getBusinessModel(selection); - if(businessObject instanceof EObject) { - - selectedEObj = (EObject)businessObject; - - URI uri = selectedEObj.eResource().getURI(); - - // URIConverter uriConverter = resource.getResourceSet().getURIConverter(); - IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); - if(uri.segmentCount() < 2) { - return false; - } - IProject modelProject = root.getProject(uri.segment(1)); - if(modelProject.exists()) { - try { - // check whether the project is a C or C++ project - if(modelProject.hasNature(CProjectNature.C_NATURE_ID) || - modelProject.hasNature(CCProjectNature.CC_NATURE_ID)) { - return true; - } - } - catch (CoreException e) { - Activator.getDefault().getLog().log(new Status(IStatus.ERROR, - Activator.PLUGIN_ID, e.getMessage(), e)); - } - } - } - } - - selectedEObj = null; - return false; - } - - public Object execute(ExecutionEvent event) throws ExecutionException { - - if(selectedEObj instanceof PackageableElement) { - PackageableElement pe = (PackageableElement)selectedEObj; - - URI uri = pe.eResource().getURI(); - - // URIConverter uriConverter = resource.getResourceSet().getURIConverter(); - IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); - if(uri.segmentCount() < 2) { - return null; - } - IProject modelProject = root.getProject(uri.segment(1)); - if(modelProject.exists()) { - String name = pe.getName(); - - // get the container for the current element - String headerSuffix = CppCodeGenUtils.getHeaderSuffix(); - String bodySuffix = CppCodeGenUtils.getBodySuffix(); - AcceleoDriver.clearErrors(); - CppModelElementsCreator mec = new CppModelElementsCreator(modelProject); - IContainer srcPkg = mec.getContainer(pe); - try { - mec.createPackageableElement(srcPkg, null, pe); - - if (AcceleoDriver.hasErrors()) { - MessageDialog.openInformation(new Shell(), "Errors during code generation", //$NON-NLS-1$ - "Errors occured during code generation. Please check the error log"); //$NON-NLS-1$ - } - IFile cppFile = srcPkg.getFile(new Path(name + "." + bodySuffix)); //$NON-NLS-1$ - IFile hFile = srcPkg.getFile(new Path(name + "." + headerSuffix)); //$NON-NLS-1$ - if(!cppFile.exists()) { - return null; - } - if(cppFile != null) { - cppFile.refreshLocal(0, null); - } - if(hFile != null) { - hFile.refreshLocal(0, null); - } - } catch (CoreException coreException) { - return null; - } - } - } - return null; - } -} diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handlers/GenerateCodeHandler.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handlers/GenerateCodeHandler.java new file mode 100644 index 00000000000..5ae5b318c30 --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handlers/GenerateCodeHandler.java @@ -0,0 +1,101 @@ +/******************************************************************************* + * Copyright (c) 2013 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: + * Ansgar Radermacher - Initial API and implementation + *******************************************************************************/ + +package org.eclipse.papyrus.cpp.codegen.ui.handlers; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.emf.common.util.URI; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.papyrus.acceleo.AcceleoDriver; +import org.eclipse.papyrus.acceleo.ui.handlers.CmdHandler; +import org.eclipse.papyrus.cpp.codegen.transformation.CppModelElementsCreator; +import org.eclipse.papyrus.cpp.codegen.ui.Activator; +import org.eclipse.papyrus.cpp.codegen.utils.LocateCppProject; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.uml2.uml.Classifier; +import org.eclipse.uml2.uml.Package; +import org.eclipse.uml2.uml.PackageableElement; + +/** + * Handler for C++ code generation + */ +public class GenerateCodeHandler extends CmdHandler { + + // ------------------------------------------------------------------------ + // Execution + // ------------------------------------------------------------------------ + + @Override + public boolean isEnabled() { + updateSelectedEObject(); + + if (selectedEObject instanceof Package || selectedEObject instanceof Classifier) { + URI uri = selectedEObject.eResource().getURI(); + + // URIConverter uriConverter = resource.getResourceSet().getURIConverter(); + IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); + if(uri.segmentCount() < 2) { + return false; + } + IProject modelProject = root.getProject(uri.segment(1)); + return modelProject.exists(); + } + + return false; + } + + public Object execute(ExecutionEvent event) throws ExecutionException { + + if(selectedEObject instanceof PackageableElement) { + PackageableElement pe = (PackageableElement)selectedEObject; + + IProject modelProject = LocateCppProject.getTargetProject(pe, true); + if(modelProject == null) { + return null; + } + + // get the container for the current element + AcceleoDriver.clearErrors(); + CppModelElementsCreator mec = new CppModelElementsCreator(modelProject); + IContainer srcPkg = mec.getContainer(pe); + try { + mec.createPackageableElement(srcPkg, null, pe); + + if (AcceleoDriver.hasErrors()) { + MessageDialog.openInformation(new Shell(), "Errors during code generation", //$NON-NLS-1$ + "Errors occured during code generation. Please check the error log"); //$NON-NLS-1$ + } + } + catch (CoreException coreException) { + Activator.log.error(coreException); + return null; + } + finally { + // Refresh the container for the newly created files. This needs to be done even + // during error because of the possibility for partial results. + try { + srcPkg.refreshLocal(IResource.DEPTH_INFINITE, null); + } catch(CoreException e) { + Activator.log.error(e); + } + } + } + return null; + } +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/preferences/CodegenPreferencePage.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/preferences/CodegenPreferencePage.java index 6a5c689bba0..7278b7d9ab4 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/preferences/CodegenPreferencePage.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/preferences/CodegenPreferencePage.java @@ -1,12 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006 - 2012 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 + * Copyright (c) 2013 CEA LIST + * + * All rights reserved. This program and the accompanying materials are + * made available under the terms of the Eclipse Public License v1.0 which + * accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * CEA LIST - initial API and implementation + * Ansgar Radermacher - Initial API and implementation *******************************************************************************/ package org.eclipse.papyrus.cpp.codegen.ui.preferences; diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/.classpath b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/.classpath index 64c5e31b7a2..ad32c83a788 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/.classpath +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/.classpath @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <classpathentry kind="src" path="src"/> <classpathentry kind="output" path="bin"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF index a3173faae80..c403755bd37 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF @@ -7,23 +7,25 @@ Export-Package: org.eclipse.papyrus.cpp.codegen;uses:="org.eclipse.ui.plugin,org org.eclipse.core.resources,
org.eclipse.uml2.uml",
org.eclipse.papyrus.cpp.codegen.utils;uses:="org.eclipse.emf.ecore,org.eclipse.emf.common.util,org.eclipse.uml2.uml"
-Bundle-ActivationPolicy: lazy
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.jface.text,
org.eclipse.uml2.uml;bundle-version="4.1.0",
org.eclipse.core.resources,
- org.eclipse.papyrus.cpp.profile;bundle-version="0.10.1",
+ org.eclipse.papyrus.cpp.profile;bundle-version="1.0.0",
org.eclipse.ui.ide;bundle-version="3.8.0",
org.eclipse.core.filesystem;bundle-version="1.3.200",
- org.eclipse.papyrus.acceleo;bundle-version="0.10.1"
+ org.eclipse.papyrus.acceleo;bundle-version="1.0.0",
+ org.eclipse.cdt.core;resolution:=optional,
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0"
Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
Eclipse-LazyStart: true
-Bundle-Version: 0.10.1.qualifier
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.papyrus.cpp.codegen.Activator
Bundle-SymbolicName: org.eclipse.papyrus.cpp.codegen;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/build.properties b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/build.properties index 1e119c2d274..4054b530c9f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/build.properties +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/build.properties @@ -3,10 +3,10 @@ bin.includes = META-INF/,\ .,\ plugin.xml,\ - templates/,\ plugin.properties,\ about.html,\ - build.acceleo + build.acceleo,\ + src/org/eclipse/papyrus/cpp/codegen/utils/messages.properties output..=bin/ src.includes=about.html source..=src/ diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Activator.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Activator.java index 83cc1860acf..9b941aae4dc 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Activator.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Activator.java @@ -10,6 +10,7 @@ *******************************************************************************/
package org.eclipse.papyrus.cpp.codegen;
+import org.eclipse.papyrus.infra.core.log.LogHelper;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
@@ -25,6 +26,8 @@ public class Activator extends AbstractUIPlugin { // The shared instance
private static Activator plugin;
+ public static LogHelper log;
+
/**
* Returns the shared instance
*
@@ -49,6 +52,7 @@ public class Activator extends AbstractUIPlugin { @Override
public void start(BundleContext context) throws Exception {
super.start(context);
+ log = new LogHelper();
}
/*
@@ -60,6 +64,5 @@ public class Activator extends AbstractUIPlugin { public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
- }
-
+ }
}
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Constants.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Constants.java index 34ebf025224..ff479ae30f3 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Constants.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/Constants.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 - 2012 CEA LIST. + * Copyright (c) 2006 - 2013 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 @@ -18,21 +18,22 @@ package org.eclipse.papyrus.cpp.codegen; */ public class Constants { - public static final String includeHFile = "// include associated header file"; + public static final String includeHFile = "// include associated header file"; //$NON-NLS-1$ - public static final String cppIncPreBodyStart = "// Include from CppInclude stereotype (pre-body)"; + public static final String cppIncPreBodyStart = "// Include from CppInclude stereotype (pre-body)"; //$NON-NLS-1$ - public static final String cppIncPreBodyEnd = "// End of CppInclude stereotype (pre-body)"; + public static final String cppIncPreBodyEnd = "// End of CppInclude stereotype (pre-body)"; //$NON-NLS-1$ - public static final String cppIncBodyStart = "// Include from CppInclude declaration (body)"; + public static final String cppIncBodyStart = "// Include from CppInclude declaration (body)"; //$NON-NLS-1$ - public static final String cppIncBodyEnd = "// End of CppInclude stereotype (body)"; + public static final String cppIncBodyEnd = "// End of CppInclude stereotype (body)";//$NON-NLS-1$ - public static final String derivedIncludes = "// Derived includes directives"; + public static final String derivedIncludes = "// Derived includes directives";//$NON-NLS-1$ - public static final String forwardDecl = "// forward declarations"; + public static final String forwardDecl = "// forward declarations"; //$NON-NLS-1$ - public static final String staticAttributes = "// static attributes (if any)"; + public static final String staticAttributes = "// static attributes (if any)"; //$NON-NLS-1$ + + public static final String undefinedType = "undefined"; //$NON-NLS-1$ - public static final String undefinedType = "undefined"; } diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/StdStereo.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/StdStereo.java index 16e8aec7fed..e70c7807870 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/StdStereo.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/StdStereo.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 - 2012 CEA LIST. + * Copyright (c) 2006 - 2013 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 @@ -13,17 +13,22 @@ package org.eclipse.papyrus.cpp.codegen; import org.eclipse.papyrus.acceleo.GenUtils; import org.eclipse.uml2.uml.Element; +import org.eclipse.uml2.uml.Namespace; public class StdStereo { - public final static String create = "Create"; + public final static String create = "Create"; //$NON-NLS-1$ - public final static String destroy = "Destroy"; + + public final static String destroy = "Destroy"; //$NON-NLS-1$ /** * In the UML 2.4 plugin, the Standard profile is split into an L2 and an L3 profile */ - public final static String[] namespaces = { "Standard", "StandardProfileL2" }; + public final static String[] namespaces = { + "Standard", //$NON-NLS-1$ + "StandardProfileL2" //$NON-NLS-1$ + }; /** * Check whether a stereotype of the standard profile is applied @@ -37,7 +42,7 @@ public class StdStereo { */ public static boolean isApplied(Element element, String stdName) { for(String namespace : namespaces) { - if(GenUtils.hasStereotype(element, namespace + "::" + stdName)) { + if(GenUtils.hasStereotype(element, namespace + Namespace.SEPARATOR + stdName)) { return true; } } diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.emtl index 8630740ab13..efb79a4d929 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindBody.emtl @@ -4,7 +4,7 @@ <input> <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> </input> - <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../utils/CppGenUtils.emtl#/0"/> <imports href="../utils/ClassUtils.emtl#/0"/> <imports href="CppIncludeUtils.emtl#/0"/> @@ -16,7 +16,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#define "/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> </argument> @@ -48,7 +48,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#include <"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> <argument xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> @@ -165,7 +165,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> <initExpression xsi:type="mtl:QueryInvocation"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> </argument> @@ -229,7 +229,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> </eAnnotations> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> <eParameters name="arg0"> @@ -241,7 +241,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -253,7 +253,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -421,11 +421,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl index ece9822b964..371853d61cd 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppBindHeader.emtl @@ -4,7 +4,7 @@ <input> <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> </input> - <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../utils/CppGenUtils.emtl#/0"/> <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/> <imports href="util/CppTemplates.emtl#/0"/> @@ -14,7 +14,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#ifndef "/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> </argument> @@ -22,7 +22,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_H
#define "/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> </argument> @@ -69,7 +69,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> <argument xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> @@ -186,7 +186,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> <initExpression xsi:type="mtl:QueryInvocation"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> </argument> @@ -242,7 +242,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getTemplateBindings"/> </eAnnotations> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> <eParameters name="arg0"> @@ -254,7 +254,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -266,7 +266,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -410,11 +410,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameterSubstitution"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl index 09b8d1227ae..50a3706d8b1 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl @@ -4,7 +4,7 @@ <input> <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> </input> - <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../utils/CppGenUtils.emtl#/0"/> <imports href="../utils/ClassUtils.emtl#/0"/> <imports href="Constants.emtl#/0"/> @@ -17,7 +17,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#define "/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullName"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullName"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> @@ -49,13 +49,13 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#include <"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> - <argument xsi:type="ocl.ecore:PropertyCallExp"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <argument xsi:type="ocl.ecore:OperationCallExp"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/10"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type/package"/> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getNearestPackage"/> </argument> </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/"/> @@ -195,7 +195,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullName"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullName"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -207,7 +207,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -390,11 +390,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Property_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> @@ -467,7 +482,7 @@ <ecore:EAnnotation source="positions"> <eAnnotations source="positions.0" references="/0/CppClassBody"> <details key="start" value="740"/> - <details key="end" value="1514"/> + <details key="end" value="1525"/> <details key="line" value="13"/> </eAnnotations> <eAnnotations source="positions.1" references="/0/CppClassBody/%"> @@ -537,12 +552,12 @@ </eAnnotations> <eAnnotations source="positions.14" references="/0/CppClassBody/%.9"> <details key="start" value="1045"/> - <details key="end" value="1067"/> + <details key="end" value="1078"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.15" references="/0/CppClassBody/%.9/%"> <details key="start" value="1045"/> - <details key="end" value="1053"/> + <details key="end" value="1064"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.16" references="/0/CppClassBody/%.9/%/self"> @@ -551,28 +566,28 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.17" references="/0/CppClassBody/%.10"> - <details key="start" value="1069"/> - <details key="end" value="1070"/> + <details key="start" value="1080"/> + <details key="end" value="1081"/> <details key="line" value="23"/> </eAnnotations> <eAnnotations source="positions.18" references="/0/CppClassBody/%.11"> - <details key="start" value="1071"/> - <details key="end" value="1081"/> + <details key="start" value="1082"/> + <details key="end" value="1092"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.19" references="/0/CppClassBody/%.11/class"> - <details key="start" value="1071"/> - <details key="end" value="1076"/> + <details key="start" value="1082"/> + <details key="end" value="1087"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.20" references="/0/CppClassBody/%.12"> - <details key="start" value="1083"/> - <details key="end" value="1084"/> + <details key="start" value="1094"/> + <details key="end" value="1095"/> <details key="line" value="23"/> </eAnnotations> <eAnnotations source="positions.21" references="/0/CppClassBody/%.13"> - <details key="start" value="1085"/> - <details key="end" value="1102"/> + <details key="start" value="1096"/> + <details key="end" value="1113"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.22" references="/0/CppClassBody/%.13/self"> @@ -581,13 +596,13 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.23" references="/0/CppClassBody/%.14"> - <details key="start" value="1104"/> - <details key="end" value="1107"/> + <details key="start" value="1115"/> + <details key="end" value="1118"/> <details key="line" value="23"/> </eAnnotations> <eAnnotations source="positions.24" references="/0/CppClassBody/%.15"> - <details key="start" value="1108"/> - <details key="end" value="1124"/> + <details key="start" value="1119"/> + <details key="end" value="1135"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.25" references="/0/CppClassBody/%.15/self"> @@ -596,13 +611,13 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.26" references="/0/CppClassBody/%.16"> - <details key="start" value="1126"/> - <details key="end" value="1128"/> + <details key="start" value="1137"/> + <details key="end" value="1139"/> <details key="line" value="26"/> </eAnnotations> <eAnnotations source="positions.27" references="/0/CppClassBody/%.17"> - <details key="start" value="1129"/> - <details key="end" value="1151"/> + <details key="start" value="1140"/> + <details key="end" value="1162"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.28" references="/0/CppClassBody/%.17/self"> @@ -611,13 +626,13 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.29" references="/0/CppClassBody/%.18"> - <details key="start" value="1153"/> - <details key="end" value="1154"/> + <details key="start" value="1164"/> + <details key="end" value="1165"/> <details key="line" value="28"/> </eAnnotations> <eAnnotations source="positions.30" references="/0/CppClassBody/%.19"> - <details key="start" value="1155"/> - <details key="end" value="1191"/> + <details key="start" value="1166"/> + <details key="end" value="1202"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.31" references="/0/CppClassBody/%.19/self"> @@ -626,48 +641,48 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.32" references="/0/CppClassBody/%.20"> - <details key="start" value="1193"/> - <details key="end" value="1195"/> + <details key="start" value="1204"/> + <details key="end" value="1206"/> <details key="line" value="29"/> </eAnnotations> <eAnnotations source="positions.33" references="/0/CppClassBody/%.21"> - <details key="start" value="1196"/> - <details key="end" value="1209"/> + <details key="start" value="1207"/> + <details key="end" value="1220"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.34" references="/0/CppClassBody/%.21/class"> - <details key="start" value="1203"/> - <details key="end" value="1208"/> + <details key="start" value="1214"/> + <details key="end" value="1219"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.35" references="/0/CppClassBody/%.22"> - <details key="start" value="1211"/> - <details key="end" value="1212"/> + <details key="start" value="1222"/> + <details key="end" value="1223"/> <details key="line" value="31"/> </eAnnotations> <eAnnotations source="positions.36" references="/0/CppClassBody/%.23"> - <details key="start" value="1213"/> - <details key="end" value="1239"/> + <details key="start" value="1224"/> + <details key="end" value="1250"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.37" references="/0/CppClassBody/%.23/class"> - <details key="start" value="1233"/> - <details key="end" value="1238"/> + <details key="start" value="1244"/> + <details key="end" value="1249"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.38" references="/0/CppClassBody/%.24"> - <details key="start" value="1241"/> - <details key="end" value="1242"/> + <details key="start" value="1252"/> + <details key="end" value="1253"/> <details key="line" value="32"/> </eAnnotations> <eAnnotations source="positions.39" references="/0/CppClassBody/%.25"> - <details key="start" value="1242"/> - <details key="end" value="1312"/> + <details key="start" value="1253"/> + <details key="end" value="1323"/> <details key="line" value="32"/> </eAnnotations> <eAnnotations source="positions.40" references="/0/CppClassBody/%.25/%"> - <details key="start" value="1265"/> - <details key="end" value="1304"/> + <details key="start" value="1276"/> + <details key="end" value="1315"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.41" references="/0/CppClassBody/%.25/%/self"> @@ -676,23 +691,23 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.42" references="/0/CppClassBody/%.25/%/%"> - <details key="start" value="1298"/> - <details key="end" value="1303"/> + <details key="start" value="1309"/> + <details key="end" value="1314"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.43" references="/0/CppClassBody/%.25/%.1"> - <details key="start" value="1306"/> - <details key="end" value="1307"/> + <details key="start" value="1317"/> + <details key="end" value="1318"/> <details key="line" value="34"/> </eAnnotations> <eAnnotations source="positions.44" references="/0/CppClassBody/%.25/%.2"> - <details key="start" value="1246"/> - <details key="end" value="1262"/> + <details key="start" value="1257"/> + <details key="end" value="1273"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.45" references="/0/CppClassBody/%.25/%.2/%"> - <details key="start" value="1250"/> - <details key="end" value="1262"/> + <details key="start" value="1261"/> + <details key="end" value="1273"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.46" references="/0/CppClassBody/%.25/%.2/%/self"> @@ -701,33 +716,33 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.47" references="/0/CppClassBody/%.26"> - <details key="start" value="1314"/> - <details key="end" value="1328"/> + <details key="start" value="1325"/> + <details key="end" value="1339"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.48" references="/0/CppClassBody/%.26/class"> - <details key="start" value="1322"/> - <details key="end" value="1327"/> + <details key="start" value="1333"/> + <details key="end" value="1338"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.49" references="/0/CppClassBody/%.27"> - <details key="start" value="1330"/> - <details key="end" value="1415"/> + <details key="start" value="1341"/> + <details key="end" value="1426"/> <details key="line" value="36"/> </eAnnotations> <eAnnotations source="positions.50" references="/0/CppClassBody/%.28"> - <details key="start" value="1416"/> - <details key="end" value="1426"/> + <details key="start" value="1427"/> + <details key="end" value="1437"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.51" references="/0/CppClassBody/%.28/class"> - <details key="start" value="1416"/> - <details key="end" value="1421"/> + <details key="start" value="1427"/> + <details key="end" value="1432"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.52" references="/0/CppClassBody/%.29"> - <details key="start" value="1428"/> - <details key="end" value="1502"/> + <details key="start" value="1439"/> + <details key="end" value="1513"/> <details key="line" value="38"/> </eAnnotations> <eAnnotations source="positions.53" references="/0/CppClassBody/class"> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl index 5adbcc9bc17..4d02a2f113d 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl @@ -20,7 +20,7 @@ [CppIncludePreBody()/] [constIncludeHFile()/] -#include <[_package.getFullPath()/]/[class.name/].[getHeaderSuffix()/]> +#include <[getNearestPackage().getFullPath()/]/[class.name/].[getHeaderSuffix()/]> [CppIncludeBody()/] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.emtl index d17225bd714..ede664e1865 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.emtl @@ -7,7 +7,7 @@ <input> <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> </input> - <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../utils/CppGenUtils.emtl#/0"/> <imports href="../utils/ClassUtils.emtl#/0"/> <imports href="Constants.emtl#/0"/> @@ -19,196 +19,242 @@ <imports href="util/clazz/CppClassAttributesDeclaration.emtl#/0"/> <imports href="util/clazz/CppClassOperationsDeclaration.emtl#/0"/> <imports href="util/clazz/CppClassOperationsImplementation.emtl#/0"/> + <imports href="util/operation/CppOperations.emtl#/0"/> <imports href="util/CppTemplates.emtl#/0"/> <imports href="util/CppDocumentation.emtl#/0"/> - <ownedModuleElement xsi:type="mtl:Query" name="classUnionOrStruct" visibility="Public"> - <parameter name="classifier"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </parameter> - <expression xsi:type="ocl.ecore:IfExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <condition xsi:type="mtl:QueryInvocation"> + <ownedModuleElement xsi:type="mtl:Template" name="classUnionOrStruct" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" 'union'
"/> + <ifExpr xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/4/Union"> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Union"> <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Union"/> </argument> - </condition> - <thenExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="union"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:IfExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <condition xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/5"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </source> - <argument xsi:type="ocl.ecore:TypeExp" eType="/4/DataType"> - <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> - </condition> - <thenExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="struct"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </thenExpression> - <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="class"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </elseExpression> - </elseExpression> - </expression> - <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ifExpr> + <else> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../utils/CppGenUtils.emtl#/0/resetVisibility"/> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 struct
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </ifExpr> + <else> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="../utils/CppGenUtils.emtl#/0/resetVisibility"/> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 class
"/> + </else> + </body> + </else> + </body> + <parameter name="classifier"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="1469" endPosition="1637" value=" default initializer for non-static attributes with a default value
TODO: should be disabled by default, since non-static members can be initialized directly
in C++ 011"/> + <body startPosition="1676" endPosition="1844" value=" default initializer for non-static attributes with a default value
TODO: should be disabled by default, since non-static members can be initialized directly
in C++ 011"/> </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Template" name="defaultInitializer" visibility="Public"> - <body xsi:type="mtl:LetBlock"> - <body xsi:type="mtl:IfBlock"> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> - <body xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="classifier" referredVariable="/0/defaultInitializer/classifier"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="() : "/> - <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:LetBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" 	"/> <body xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + <source xsi:type="ocl.ecore:VariableExp" name="classifier" referredVariable="/0/defaultInitializer/classifier"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </source> <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> - <body xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="() : "/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/25"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> + <loopVariable name="a"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:VariableExp" name="attributeList" eType="/16/Set(Property)" referredVariable="/0/defaultInitializer/%/%/attributeList"/> + <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </each> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/> - <loopVariable name="a"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> - </loopVariable> - <iterSet xsi:type="ocl.ecore:VariableExp" name="attributeList" eType="/11/Set(Property)" referredVariable="/0/defaultInitializer/%/attributeList"/> - <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </each> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {}
"/> - <ifExpr xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="attributeList" eType="/11/Set(Property)" referredVariable="/0/defaultInitializer/%/attributeList"/> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/isEmpty"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> - </ifExpr> - </body> - <letVariable name="attributeList" eType="/11/Set(Property)"> - <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/11/Set(Property)"> - <source xsi:type="ocl.ecore:PropertyCallExp" eType="/11/Set(Property)"> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/> - </source> - <body xsi:type="ocl.ecore:OperationCallExp"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" {}
"/> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> <source xsi:type="ocl.ecore:OperationCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="attributeList" eType="/16/Set(Property)" referredVariable="/0/defaultInitializer/%/%/attributeList"/> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/isEmpty"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </ifExpr> + </body> + <letVariable name="attributeList" eType="/16/Set(Property)"> + <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/16/Set(Property)"> + <source xsi:type="ocl.ecore:PropertyCallExp" eType="/16/Set(Property)"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/> + </source> + <body xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> <source xsi:type="ocl.ecore:OperationCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> + <source xsi:type="ocl.ecore:OperationCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/attributeList/select/temp1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/%/attributeList/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/> </source> - <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/> + <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/> </source> - <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false"> + <argument xsi:type="ocl.ecore:OperationCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/%/attributeList/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> </source> <argument xsi:type="ocl.ecore:OperationCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/attributeList/select/temp1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> + <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/%/attributeList/select/temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/> </source> <argument xsi:type="ocl.ecore:NullLiteralExp"> <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/%3C%3E"/> </argument> <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> - </source> - <argument xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:OperationCallExp"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:PropertyCallExp"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> - <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/attributeList/select/temp1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> - </source> - <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> - </source> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification/stringValue"/> - </source> - <argument xsi:type="ocl.ecore:NullLiteralExp"> - <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> - </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/%3C%3E"/> + </body> + <iterator xsi:type="ocl.ecore:Variable" name="temp1"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </iterator> + </initExpression> + </letVariable> + </body> + <ifExpr xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:IteratorExp" name="any"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + <source xsi:type="mtl:QueryInvocation" eType="/16/Sequence(Operation)"> + <definition href="util/operation/CppOperations.emtl#/0/getOwnedOperations"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </source> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/defaultInitializer/%/%.1/any/temp2"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + <argument xsi:type="ocl.ecore:TypeExp" eType="/6/Create"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/> </argument> - <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/> </body> - <iterator xsi:type="ocl.ecore:Variable" name="temp1"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + <iterator xsi:type="ocl.ecore:Variable" name="temp2"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </iterator> - </initExpression> - </letVariable> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </ifExpr> </body> <parameter name="classifier"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </parameter> - <post xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/trim"> + <post xsi:type="ocl.ecore:OperationCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/trim"/> </post> </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Template" name="CppClassHeader" visibility="Public"> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#ifndef "/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_H
#define "/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> @@ -226,7 +272,7 @@ <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppOwnerPackageIncludeDeclaration"/> <argument xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/29"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </source> <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type/package"/> @@ -236,7 +282,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/30"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> @@ -244,7 +290,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="CppIncludeUtils.emtl#/0/CppIncludeHeader"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/31"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/37"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> @@ -252,7 +298,7 @@ <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../utils/CppGenUtils.emtl#/0/openNS"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/38"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> @@ -260,7 +306,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/CppDocumentation.emtl#/0/CppElementDoc"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> @@ -268,13 +314,13 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/CppTemplates.emtl#/0/templateSignature"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/40"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> - <body xsi:type="mtl:QueryInvocation" definition="/0/classUnionOrStruct"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/classUnionOrStruct"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/41"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> @@ -289,7 +335,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/clazz/CppClassInheritedDeclarations.emtl#/0/CppClassInheritedDeclarations"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/37"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/43"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> @@ -297,97 +343,157 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/clazz/CppClassFriendDeclaration.emtl#/0/CppClassIncludeFriendDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/38"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/clazz/CppClassTypeAndEnum.emtl#/0/CppClassTypeAndEnum"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 public:
"/> - <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultInitializer"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> + <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/40"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + <argument xsi:type="mtl:TemplateInvocation" definition="/0/defaultInitializer"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> </argument> </body> - <body xsi:type="mtl:TemplateInvocation"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> + <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/41"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> </argument> + <argument xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/47"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </argument> </body> - <body xsi:type="mtl:TemplateInvocation"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> + <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/42"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> </argument> + <argument xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/48"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/public"/> + </argument> + </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 protected:
"/> - <body xsi:type="mtl:TemplateInvocation"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 "/> + <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/43"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> </argument> + <argument xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> + </argument> + </argument> </body> - <body xsi:type="mtl:TemplateInvocation"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> + <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> </argument> + <argument xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/50"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/protected"/> + </argument> + </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 private:
"/> - <body xsi:type="mtl:TemplateInvocation"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

 "/> + <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> </argument> + <argument xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> + </argument> + </argument> </body> - <body xsi:type="mtl:TemplateInvocation"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
 "/> + <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> - </argument> + <definition href="../utils/CppGenUtils.emtl#/0/getSection"/> <argument xsi:type="ocl.ecore:EnumLiteralExp"> <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> </argument> + <argument xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + <argument xsi:type="ocl.ecore:EnumLiteralExp"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + <referredEnumLiteral xsi:type="ecore:EEnumLiteral" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind/private"/> + </argument> + </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

};
/************************************************************/
/* External declarations (package visibility) */
"/> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
};
/************************************************************/
/* External declarations (package visibility) */
"/> <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/clazz/CppClassAttributesDeclaration.emtl#/0/CppClassAttributesDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/47"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/53"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> <argument xsi:type="ocl.ecore:EnumLiteralExp"> @@ -399,7 +505,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/clazz/CppClassOperationsDeclaration.emtl#/0/CppClassOperationsDeclaration"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/48"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/54"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> <argument xsi:type="ocl.ecore:EnumLiteralExp"> @@ -413,7 +519,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/clazz/CppClassOperationsImplementation.emtl#/0/CppClassOperationsImplementation"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/50"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/56"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false"> @@ -424,7 +530,7 @@ <ifExpr xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> <definition href="util/CppTemplates.emtl#/0/isTemplate"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/55"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </ifExpr> @@ -433,7 +539,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="util/clazz/CppClassOperationsImplementation.emtl#/0/CppClassOperationsImplementation"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/57"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true"> @@ -444,7 +550,7 @@ <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../utils/CppGenUtils.emtl#/0/closeNS"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/52"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/58"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </argument> </body> @@ -467,10 +573,6 @@ <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </eAnnotations> - <eOperations name="trim"> - <eAnnotations source="MTL non-standard"/> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - </eOperations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Integer_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> @@ -521,7 +623,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -533,7 +635,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> <eParameters name="arg0"> @@ -567,6 +669,33 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </eParameters> </eOperations> + <eOperations name="resetVisibility"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/resetVisibility"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + </eOperations> + <eOperations name="getSection"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="../utils/CppGenUtils.emtl#/0/getSection"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="arg0"> + <eType xsi:type="ecore:EEnum" href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eParameters> + <eParameters name="arg1"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> <eOperations name="CppIncludeHeader"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -684,6 +813,18 @@ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> </eParameters> </eOperations> + <eOperations name="getOwnedOperations"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="util/operation/CppOperations.emtl#/0/getOwnedOperations"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="util/operation/CppOperations.emtl#/3/Sequence(Operation)"/> + <eParameters name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> <eOperations name="isTemplate"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <contents xsi:type="ocl.ecore:Constraint"/> @@ -776,11 +917,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> @@ -808,6 +964,12 @@ <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> <ecore:EPackage name="types"> <eClassifiers xsi:type="ocl.ecore:TypeType" name="Union"> <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Union"/> @@ -815,11 +977,23 @@ <eClassifiers xsi:type="ocl.ecore:TypeType" name="DataType"> <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="Create"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#//Create"/> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> @@ -835,6 +1009,9 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </ocl.ecore:Variable> <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Operation)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eClassifiers> <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set"> <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </eClassifiers> @@ -855,6 +1032,9 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> @@ -970,764 +1150,944 @@ </ocl.ecore:Variable> <ecore:EAnnotation source="positions"> <eAnnotations source="positions.0" references="/0/classUnionOrStruct"> - <details key="start" value="1268"/> - <details key="end" value="1459"/> + <details key="start" value="1354"/> + <details key="end" value="1666"/> <details key="line" value="18"/> </eAnnotations> - <eAnnotations source="positions.1" references="/0/classUnionOrStruct/classifier"> - <details key="start" value="1301"/> - <details key="end" value="1324"/> - <details key="line" value="18"/> + <eAnnotations source="positions.1" references="/0/classUnionOrStruct/%"> + <details key="start" value="1416"/> + <details key="end" value="1654"/> + <details key="line" value="19"/> </eAnnotations> - <eAnnotations source="positions.2" references="/0/classUnionOrStruct/%"> - <details key="start" value="1337"/> - <details key="end" value="1456"/> - <details key="line" value="0"/> + <eAnnotations source="positions.2" references="/0/classUnionOrStruct/%/%"> + <details key="start" value="1451"/> + <details key="end" value="1463"/> + <details key="line" value="20"/> </eAnnotations> - <eAnnotations source="positions.3" references="/0/classUnionOrStruct/%/%"> - <details key="start" value="1340"/> - <details key="end" value="1369"/> + <eAnnotations source="positions.3" references="/0/classUnionOrStruct/%/%.1"> + <details key="start" value="1420"/> + <details key="end" value="1449"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.4" references="/0/classUnionOrStruct/%/%/self"> + <eAnnotations source="positions.4" references="/0/classUnionOrStruct/%/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.5" references="/0/classUnionOrStruct/%/%/%"> - <details key="start" value="1355"/> - <details key="end" value="1367"/> + <eAnnotations source="positions.5" references="/0/classUnionOrStruct/%/%.1/%"> + <details key="start" value="1435"/> + <details key="end" value="1447"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.6" references="/0/classUnionOrStruct/%/%.1"> - <details key="start" value="1375"/> - <details key="end" value="1382"/> + <eAnnotations source="positions.6" references="/0/classUnionOrStruct/%/%.2"> + <details key="start" value="1463"/> + <details key="end" value="1649"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/classUnionOrStruct/%/%.2/%"> + <details key="start" value="1471"/> + <details key="end" value="1648"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/classUnionOrStruct/%/%.2/%/%"> + <details key="start" value="1500"/> + <details key="end" value="1508"/> + <details key="line" value="23"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/classUnionOrStruct/%/%.2/%/%.1"> + <details key="start" value="1509"/> + <details key="end" value="1549"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.7" references="/0/classUnionOrStruct/%/%.2"> - <details key="start" value="1389"/> - <details key="end" value="1450"/> + <eAnnotations source="positions.10" references="/0/classUnionOrStruct/%/%.2/%/%.1/%"> + <details key="start" value="1509"/> + <details key="end" value="1531"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.8" references="/0/classUnionOrStruct/%/%.2/%"> - <details key="start" value="1392"/> - <details key="end" value="1415"/> + <eAnnotations source="positions.11" references="/0/classUnionOrStruct/%/%.2/%/%.2"> + <details key="start" value="1551"/> + <details key="end" value="1567"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/classUnionOrStruct/%/%.2/%/%.3"> + <details key="start" value="1475"/> + <details key="end" value="1498"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.9" references="/0/classUnionOrStruct/%/%.2/%/self"> + <eAnnotations source="positions.13" references="/0/classUnionOrStruct/%/%.2/%/%.3/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.10" references="/0/classUnionOrStruct/%/%.2/%/%"> - <details key="start" value="1405"/> - <details key="end" value="1413"/> + <eAnnotations source="positions.14" references="/0/classUnionOrStruct/%/%.2/%/%.3/%"> + <details key="start" value="1488"/> + <details key="end" value="1496"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.11" references="/0/classUnionOrStruct/%/%.2/%.1"> - <details key="start" value="1421"/> - <details key="end" value="1429"/> - <details key="line" value="0"/> + <eAnnotations source="positions.15" references="/0/classUnionOrStruct/%/%.2/%/%.4"> + <details key="start" value="1568"/> + <details key="end" value="1643"/> + <details key="line" value="25"/> </eAnnotations> - <eAnnotations source="positions.12" references="/0/classUnionOrStruct/%/%.2/%.2"> - <details key="start" value="1436"/> - <details key="end" value="1443"/> + <eAnnotations source="positions.16" references="/0/classUnionOrStruct/%/%.2/%/%.4/%"> + <details key="start" value="1575"/> + <details key="end" value="1583"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/classUnionOrStruct/%/%.2/%/%.4/%.1"> + <details key="start" value="1584"/> + <details key="end" value="1625"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.13" references="/0/%"> - <details key="start" value="1461"/> - <details key="end" value="1639"/> + <eAnnotations source="positions.18" references="/0/classUnionOrStruct/%/%.2/%/%.4/%.1/%"> + <details key="start" value="1584"/> + <details key="end" value="1607"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.14" references="/0/defaultInitializer"> - <details key="start" value="1640"/> - <details key="end" value="2048"/> - <details key="line" value="30"/> + <eAnnotations source="positions.19" references="/0/classUnionOrStruct/%/%.2/%/%.4/%.2"> + <details key="start" value="1627"/> + <details key="end" value="1642"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/classUnionOrStruct/classifier"> + <details key="start" value="1390"/> + <details key="end" value="1413"/> + <details key="line" value="18"/> </eAnnotations> - <eAnnotations source="positions.15" references="/0/defaultInitializer/%"> - <details key="start" value="1715"/> - <details key="end" value="2036"/> - <details key="line" value="31"/> + <eAnnotations source="positions.21" references="/0/%"> + <details key="start" value="1668"/> + <details key="end" value="1846"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.16" references="/0/defaultInitializer/%/%"> - <details key="start" value="1864"/> - <details key="end" value="2030"/> + <eAnnotations source="positions.22" references="/0/defaultInitializer"> + <details key="start" value="1847"/> + <details key="end" value="3384"/> <details key="line" value="35"/> </eAnnotations> - <eAnnotations source="positions.17" references="/0/defaultInitializer/%/%/%"> - <details key="start" value="1898"/> - <details key="end" value="1899"/> - <details key="line" value="36"/> + <eAnnotations source="positions.23" references="/0/defaultInitializer/%"> + <details key="start" value="2948"/> + <details key="end" value="3372"/> + <details key="line" value="54"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/defaultInitializer/%/%"> + <details key="start" value="3017"/> + <details key="end" value="3366"/> + <details key="line" value="55"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/defaultInitializer/%/%/%"> + <details key="start" value="3182"/> + <details key="end" value="3360"/> + <details key="line" value="59"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/defaultInitializer/%/%/%/%"> + <details key="start" value="3216"/> + <details key="end" value="3221"/> + <details key="line" value="60"/> </eAnnotations> - <eAnnotations source="positions.18" references="/0/defaultInitializer/%/%/%.1"> - <details key="start" value="1900"/> - <details key="end" value="1915"/> + <eAnnotations source="positions.27" references="/0/defaultInitializer/%/%/%/%.1"> + <details key="start" value="3222"/> + <details key="end" value="3237"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.19" references="/0/defaultInitializer/%/%/%.1/classifier"> - <details key="start" value="1900"/> - <details key="end" value="1910"/> + <eAnnotations source="positions.28" references="/0/defaultInitializer/%/%/%/%.1/classifier"> + <details key="start" value="3222"/> + <details key="end" value="3232"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.20" references="/0/defaultInitializer/%/%/%.2"> - <details key="start" value="1917"/> - <details key="end" value="1922"/> - <details key="line" value="36"/> + <eAnnotations source="positions.29" references="/0/defaultInitializer/%/%/%/%.2"> + <details key="start" value="3239"/> + <details key="end" value="3244"/> + <details key="line" value="60"/> </eAnnotations> - <eAnnotations source="positions.21" references="/0/defaultInitializer/%/%/%.3"> - <details key="start" value="1922"/> - <details key="end" value="2021"/> - <details key="line" value="36"/> + <eAnnotations source="positions.30" references="/0/defaultInitializer/%/%/%/%.3"> + <details key="start" value="3244"/> + <details key="end" value="3347"/> + <details key="line" value="60"/> </eAnnotations> - <eAnnotations source="positions.22" references="/0/defaultInitializer/%/%/%.3/%"> - <details key="start" value="1978"/> - <details key="end" value="1982"/> + <eAnnotations source="positions.31" references="/0/defaultInitializer/%/%/%/%.3/%"> + <details key="start" value="3304"/> + <details key="end" value="3308"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.23" references="/0/defaultInitializer/%/%/%.3/%/self"> + <eAnnotations source="positions.32" references="/0/defaultInitializer/%/%/%/%.3/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.24" references="/0/defaultInitializer/%/%/%.3/%.1"> - <details key="start" value="1984"/> - <details key="end" value="1985"/> - <details key="line" value="37"/> + <eAnnotations source="positions.33" references="/0/defaultInitializer/%/%/%/%.3/%.1"> + <details key="start" value="3310"/> + <details key="end" value="3311"/> + <details key="line" value="61"/> </eAnnotations> - <eAnnotations source="positions.25" references="/0/defaultInitializer/%/%/%.3/%.2"> - <details key="start" value="1986"/> - <details key="end" value="2012"/> + <eAnnotations source="positions.34" references="/0/defaultInitializer/%/%/%/%.3/%.2"> + <details key="start" value="3312"/> + <details key="end" value="3338"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.26" references="/0/defaultInitializer/%/%/%.3/%.2/%"> - <details key="start" value="1986"/> - <details key="end" value="1998"/> + <eAnnotations source="positions.35" references="/0/defaultInitializer/%/%/%/%.3/%.2/%"> + <details key="start" value="3312"/> + <details key="end" value="3324"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.27" references="/0/defaultInitializer/%/%/%.3/%.2/%/self"> + <eAnnotations source="positions.36" references="/0/defaultInitializer/%/%/%/%.3/%.2/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.28" references="/0/defaultInitializer/%/%/%.3/%.3"> - <details key="start" value="2014"/> - <details key="end" value="2015"/> - <details key="line" value="37"/> + <eAnnotations source="positions.37" references="/0/defaultInitializer/%/%/%/%.3/%.3"> + <details key="start" value="3340"/> + <details key="end" value="3341"/> + <details key="line" value="61"/> </eAnnotations> - <eAnnotations source="positions.29" references="/0/defaultInitializer/%/%/%.3/a"> - <details key="start" value="1928"/> - <details key="end" value="1940"/> - <details key="line" value="36"/> + <eAnnotations source="positions.38" references="/0/defaultInitializer/%/%/%/%.3/a"> + <details key="start" value="3250"/> + <details key="end" value="3262"/> + <details key="line" value="60"/> </eAnnotations> - <eAnnotations source="positions.30" references="/0/defaultInitializer/%/%/%.3/attributeList"> - <details key="start" value="1943"/> - <details key="end" value="1956"/> + <eAnnotations source="positions.39" references="/0/defaultInitializer/%/%/%/%.3/attributeList"> + <details key="start" value="3265"/> + <details key="end" value="3278"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.31" references="/0/defaultInitializer/%/%/%.3/%.4"> - <details key="start" value="1968"/> - <details key="end" value="1972"/> + <eAnnotations source="positions.40" references="/0/defaultInitializer/%/%/%/%.3/%.4"> + <details key="start" value="3290"/> + <details key="end" value="3294"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.32" references="/0/defaultInitializer/%/%/%.4"> - <details key="start" value="2021"/> - <details key="end" value="2025"/> - <details key="line" value="37"/> + <eAnnotations source="positions.41" references="/0/defaultInitializer/%/%/%/%.4"> + <details key="start" value="3347"/> + <details key="end" value="3351"/> + <details key="line" value="61"/> </eAnnotations> - <eAnnotations source="positions.33" references="/0/defaultInitializer/%/%/%.5"> - <details key="start" value="1868"/> - <details key="end" value="1896"/> + <eAnnotations source="positions.42" references="/0/defaultInitializer/%/%/%/%.5"> + <details key="start" value="3186"/> + <details key="end" value="3214"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.34" references="/0/defaultInitializer/%/%/%.5/%"> - <details key="start" value="1872"/> - <details key="end" value="1896"/> + <eAnnotations source="positions.43" references="/0/defaultInitializer/%/%/%/%.5/%"> + <details key="start" value="3190"/> + <details key="end" value="3214"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.35" references="/0/defaultInitializer/%/%/%.5/%/attributeList"> - <details key="start" value="1872"/> - <details key="end" value="1885"/> + <eAnnotations source="positions.44" references="/0/defaultInitializer/%/%/%/%.5/%/attributeList"> + <details key="start" value="3190"/> + <details key="end" value="3203"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.36" references="/0/defaultInitializer/%/attributeList"> - <details key="start" value="1720"/> - <details key="end" value="1862"/> - <details key="line" value="31"/> + <eAnnotations source="positions.45" references="/0/defaultInitializer/%/%/attributeList"> + <details key="start" value="3022"/> + <details key="end" value="3176"/> + <details key="line" value="55"/> </eAnnotations> - <eAnnotations source="positions.37" references="/0/defaultInitializer/%/attributeList/select"> - <details key="start" value="1753"/> - <details key="end" value="1863"/> + <eAnnotations source="positions.46" references="/0/defaultInitializer/%/%/attributeList/select"> + <details key="start" value="3055"/> + <details key="end" value="3177"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.38" references="/0/defaultInitializer/%/attributeList/select/%"> - <details key="start" value="1753"/> - <details key="end" value="1762"/> + <eAnnotations source="positions.47" references="/0/defaultInitializer/%/%/attributeList/select/%"> + <details key="start" value="3055"/> + <details key="end" value="3064"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.39" references="/0/defaultInitializer/%/attributeList/select/%/self"> + <eAnnotations source="positions.48" references="/0/defaultInitializer/%/%/attributeList/select/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.40" references="/0/defaultInitializer/%/attributeList/select/%.1"> - <details key="start" value="1774"/> - <details key="end" value="1862"/> + <eAnnotations source="positions.49" references="/0/defaultInitializer/%/%/attributeList/select/%.1"> + <details key="start" value="3080"/> + <details key="end" value="3176"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.41" references="/0/defaultInitializer/%/attributeList/select/%.1/%"> - <details key="start" value="1774"/> - <details key="end" value="1820"/> + <eAnnotations source="positions.50" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%"> + <details key="start" value="3080"/> + <details key="end" value="3130"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.42" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%"> - <details key="start" value="1774"/> - <details key="end" value="1792"/> + <eAnnotations source="positions.51" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%"> + <details key="start" value="3080"/> + <details key="end" value="3098"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.43" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%/%"> - <details key="start" value="1775"/> - <details key="end" value="1783"/> + <eAnnotations source="positions.52" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%/%"> + <details key="start" value="3081"/> + <details key="end" value="3089"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.44" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%/%/temp1"> + <eAnnotations source="positions.53" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%/%/temp1"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.45" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%/%.1"> - <details key="start" value="1786"/> - <details key="end" value="1791"/> + <eAnnotations source="positions.54" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%/%.1"> + <details key="start" value="3092"/> + <details key="end" value="3097"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.46" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1"> - <details key="start" value="1798"/> - <details key="end" value="1820"/> + <eAnnotations source="positions.55" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%.1"> + <details key="start" value="3108"/> + <details key="end" value="3130"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.47" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1/%"> - <details key="start" value="1799"/> - <details key="end" value="1811"/> + <eAnnotations source="positions.56" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%.1/%"> + <details key="start" value="3109"/> + <details key="end" value="3121"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.48" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1/%/temp1"> + <eAnnotations source="positions.57" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%.1/%/temp1"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.49" references="/0/defaultInitializer/%/attributeList/select/%.1/%/%.1/%.1"> - <details key="start" value="1815"/> - <details key="end" value="1819"/> + <eAnnotations source="positions.58" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%/%.1/%.1"> + <details key="start" value="3125"/> + <details key="end" value="3129"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.50" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1"> - <details key="start" value="1826"/> - <details key="end" value="1862"/> + <eAnnotations source="positions.59" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%.1"> + <details key="start" value="3140"/> + <details key="end" value="3176"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.51" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%"> - <details key="start" value="1827"/> - <details key="end" value="1853"/> + <eAnnotations source="positions.60" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%.1/%"> + <details key="start" value="3141"/> + <details key="end" value="3167"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.52" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%/%"> - <details key="start" value="1827"/> - <details key="end" value="1839"/> + <eAnnotations source="positions.61" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%.1/%/%"> + <details key="start" value="3141"/> + <details key="end" value="3153"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.53" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%/%/temp1"> + <eAnnotations source="positions.62" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%.1/%/%/temp1"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.54" references="/0/defaultInitializer/%/attributeList/select/%.1/%.1/%.1"> - <details key="start" value="1857"/> - <details key="end" value="1861"/> + <eAnnotations source="positions.63" references="/0/defaultInitializer/%/%/attributeList/select/%.1/%.1/%.1"> + <details key="start" value="3171"/> + <details key="end" value="3175"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.55" references="/0/defaultInitializer/%/attributeList/select/temp1"> + <eAnnotations source="positions.64" references="/0/defaultInitializer/%/%/attributeList/select/temp1"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.56" references="/0/defaultInitializer/classifier"> - <details key="start" value="1676"/> - <details key="end" value="1699"/> - <details key="line" value="30"/> + <eAnnotations source="positions.65" references="/0/defaultInitializer/%/%.1"> + <details key="start" value="2952"/> + <details key="end" value="3011"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/defaultInitializer/%/%.1/any"> + <details key="start" value="2952"/> + <details key="end" value="3004"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.57" references="/0/defaultInitializer/%.1"> - <details key="start" value="1706"/> - <details key="end" value="1712"/> + <eAnnotations source="positions.67" references="/0/defaultInitializer/%/%.1/any/%"> + <details key="start" value="2952"/> + <details key="end" value="2972"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.58" references="/0/defaultInitializer/%.1/self"> + <eAnnotations source="positions.68" references="/0/defaultInitializer/%/%.1/any/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.59" references="/0/CppClassHeader"> - <details key="start" value="2051"/> - <details key="end" value="3917"/> - <details key="line" value="42"/> + <eAnnotations source="positions.69" references="/0/defaultInitializer/%/%.1/any/%.1"> + <details key="start" value="2978"/> + <details key="end" value="3003"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.60" references="/0/CppClassHeader/%"> - <details key="start" value="2104"/> - <details key="end" value="2112"/> - <details key="line" value="43"/> + <eAnnotations source="positions.70" references="/0/defaultInitializer/%/%.1/any/%.1/temp1"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.61" references="/0/CppClassHeader/%.1"> - <details key="start" value="2113"/> - <details key="end" value="2128"/> + <eAnnotations source="positions.71" references="/0/defaultInitializer/%/%.1/any/%.1/%"> + <details key="start" value="2992"/> + <details key="end" value="3002"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.62" references="/0/CppClassHeader/%.1/self"> + <eAnnotations source="positions.72" references="/0/defaultInitializer/%/%.1/any/temp2"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.63" references="/0/CppClassHeader/%.2"> - <details key="start" value="2130"/> - <details key="end" value="2141"/> - <details key="line" value="43"/> + <eAnnotations source="positions.73" references="/0/defaultInitializer/%/%.1/%"> + <details key="start" value="3007"/> + <details key="end" value="3011"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.74" references="/0/defaultInitializer/classifier"> + <details key="start" value="1883"/> + <details key="end" value="1906"/> + <details key="line" value="35"/> </eAnnotations> - <eAnnotations source="positions.64" references="/0/CppClassHeader/%.3"> - <details key="start" value="2142"/> - <details key="end" value="2157"/> + <eAnnotations source="positions.75" references="/0/defaultInitializer/%.1"> + <details key="start" value="1913"/> + <details key="end" value="1919"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.65" references="/0/CppClassHeader/%.3/self"> + <eAnnotations source="positions.76" references="/0/defaultInitializer/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.66" references="/0/CppClassHeader/%.4"> - <details key="start" value="2159"/> - <details key="end" value="2239"/> - <details key="line" value="44"/> + <eAnnotations source="positions.77" references="/0/CppClassHeader"> + <details key="start" value="3387"/> + <details key="end" value="5502"/> + <details key="line" value="67"/> </eAnnotations> - <eAnnotations source="positions.67" references="/0/CppClassHeader/%.5"> - <details key="start" value="2240"/> - <details key="end" value="2250"/> + <eAnnotations source="positions.78" references="/0/CppClassHeader/%"> + <details key="start" value="3440"/> + <details key="end" value="3448"/> + <details key="line" value="68"/> + </eAnnotations> + <eAnnotations source="positions.79" references="/0/CppClassHeader/%.1"> + <details key="start" value="3449"/> + <details key="end" value="3464"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.68" references="/0/CppClassHeader/%.5/class"> - <details key="start" value="2240"/> - <details key="end" value="2245"/> + <eAnnotations source="positions.80" references="/0/CppClassHeader/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.69" references="/0/CppClassHeader/%.6"> - <details key="start" value="2252"/> - <details key="end" value="2330"/> - <details key="line" value="47"/> + <eAnnotations source="positions.81" references="/0/CppClassHeader/%.2"> + <details key="start" value="3466"/> + <details key="end" value="3477"/> + <details key="line" value="68"/> + </eAnnotations> + <eAnnotations source="positions.82" references="/0/CppClassHeader/%.3"> + <details key="start" value="3478"/> + <details key="end" value="3493"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.70" references="/0/CppClassHeader/%.7"> - <details key="start" value="2331"/> - <details key="end" value="2375"/> + <eAnnotations source="positions.83" references="/0/CppClassHeader/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.71" references="/0/CppClassHeader/%.7/%"> - <details key="start" value="2331"/> - <details key="end" value="2339"/> + <eAnnotations source="positions.84" references="/0/CppClassHeader/%.4"> + <details key="start" value="3495"/> + <details key="end" value="3575"/> + <details key="line" value="69"/> + </eAnnotations> + <eAnnotations source="positions.85" references="/0/CppClassHeader/%.5"> + <details key="start" value="3576"/> + <details key="end" value="3586"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.72" references="/0/CppClassHeader/%.7/%/self"> + <eAnnotations source="positions.86" references="/0/CppClassHeader/%.5/class"> + <details key="start" value="3576"/> + <details key="end" value="3581"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.87" references="/0/CppClassHeader/%.6"> + <details key="start" value="3588"/> + <details key="end" value="3666"/> + <details key="line" value="72"/> + </eAnnotations> + <eAnnotations source="positions.88" references="/0/CppClassHeader/%.7"> + <details key="start" value="3667"/> + <details key="end" value="3711"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.89" references="/0/CppClassHeader/%.7/%"> + <details key="start" value="3667"/> + <details key="end" value="3675"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.90" references="/0/CppClassHeader/%.7/%/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.73" references="/0/CppClassHeader/%.8"> - <details key="start" value="2377"/> - <details key="end" value="2379"/> - <details key="line" value="51"/> + <eAnnotations source="positions.91" references="/0/CppClassHeader/%.8"> + <details key="start" value="3713"/> + <details key="end" value="3715"/> + <details key="line" value="76"/> </eAnnotations> - <eAnnotations source="positions.74" references="/0/CppClassHeader/%.9"> - <details key="start" value="2380"/> - <details key="end" value="2412"/> + <eAnnotations source="positions.92" references="/0/CppClassHeader/%.9"> + <details key="start" value="3716"/> + <details key="end" value="3748"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.75" references="/0/CppClassHeader/%.9/self"> + <eAnnotations source="positions.93" references="/0/CppClassHeader/%.9/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.76" references="/0/CppClassHeader/%.10"> - <details key="start" value="2414"/> - <details key="end" value="2416"/> - <details key="line" value="53"/> + <eAnnotations source="positions.94" references="/0/CppClassHeader/%.10"> + <details key="start" value="3750"/> + <details key="end" value="3752"/> + <details key="line" value="78"/> </eAnnotations> - <eAnnotations source="positions.77" references="/0/CppClassHeader/%.11"> - <details key="start" value="2417"/> - <details key="end" value="2435"/> + <eAnnotations source="positions.95" references="/0/CppClassHeader/%.11"> + <details key="start" value="3753"/> + <details key="end" value="3771"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.78" references="/0/CppClassHeader/%.11/self"> + <eAnnotations source="positions.96" references="/0/CppClassHeader/%.11/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.79" references="/0/CppClassHeader/%.12"> - <details key="start" value="2437"/> - <details key="end" value="2439"/> - <details key="line" value="55"/> + <eAnnotations source="positions.97" references="/0/CppClassHeader/%.12"> + <details key="start" value="3773"/> + <details key="end" value="3775"/> + <details key="line" value="80"/> </eAnnotations> - <eAnnotations source="positions.80" references="/0/CppClassHeader/%.13"> - <details key="start" value="2440"/> - <details key="end" value="2448"/> + <eAnnotations source="positions.98" references="/0/CppClassHeader/%.13"> + <details key="start" value="3776"/> + <details key="end" value="3784"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.81" references="/0/CppClassHeader/%.13/self"> + <eAnnotations source="positions.99" references="/0/CppClassHeader/%.13/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.82" references="/0/CppClassHeader/%.14"> - <details key="start" value="2450"/> - <details key="end" value="2516"/> - <details key="line" value="56"/> + <eAnnotations source="positions.100" references="/0/CppClassHeader/%.14"> + <details key="start" value="3786"/> + <details key="end" value="3852"/> + <details key="line" value="81"/> </eAnnotations> - <eAnnotations source="positions.83" references="/0/CppClassHeader/%.15"> - <details key="start" value="2517"/> - <details key="end" value="2532"/> + <eAnnotations source="positions.101" references="/0/CppClassHeader/%.15"> + <details key="start" value="3853"/> + <details key="end" value="3868"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.84" references="/0/CppClassHeader/%.15/self"> + <eAnnotations source="positions.102" references="/0/CppClassHeader/%.15/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.85" references="/0/CppClassHeader/%.16"> - <details key="start" value="2534"/> - <details key="end" value="2535"/> - <details key="line" value="60"/> + <eAnnotations source="positions.103" references="/0/CppClassHeader/%.16"> + <details key="start" value="3870"/> + <details key="end" value="3871"/> + <details key="line" value="85"/> </eAnnotations> - <eAnnotations source="positions.86" references="/0/CppClassHeader/%.17"> - <details key="start" value="2536"/> - <details key="end" value="2555"/> + <eAnnotations source="positions.104" references="/0/CppClassHeader/%.17"> + <details key="start" value="3872"/> + <details key="end" value="3891"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.87" references="/0/CppClassHeader/%.17/self"> + <eAnnotations source="positions.105" references="/0/CppClassHeader/%.17/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.88" references="/0/CppClassHeader/%.18"> - <details key="start" value="2558"/> - <details key="end" value="2578"/> + <eAnnotations source="positions.106" references="/0/CppClassHeader/%.18"> + <details key="start" value="3894"/> + <details key="end" value="3914"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.89" references="/0/CppClassHeader/%.18/self"> + <eAnnotations source="positions.107" references="/0/CppClassHeader/%.18/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.90" references="/0/CppClassHeader/%.19"> - <details key="start" value="2580"/> - <details key="end" value="2581"/> - <details key="line" value="60"/> + <eAnnotations source="positions.108" references="/0/CppClassHeader/%.19"> + <details key="start" value="3916"/> + <details key="end" value="3917"/> + <details key="line" value="85"/> </eAnnotations> - <eAnnotations source="positions.91" references="/0/CppClassHeader/%.20"> - <details key="start" value="2582"/> - <details key="end" value="2592"/> + <eAnnotations source="positions.109" references="/0/CppClassHeader/%.20"> + <details key="start" value="3918"/> + <details key="end" value="3928"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.92" references="/0/CppClassHeader/%.20/class"> - <details key="start" value="2582"/> - <details key="end" value="2587"/> + <eAnnotations source="positions.110" references="/0/CppClassHeader/%.20/class"> + <details key="start" value="3918"/> + <details key="end" value="3923"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.93" references="/0/CppClassHeader/%.21"> - <details key="start" value="2595"/> - <details key="end" value="2626"/> + <eAnnotations source="positions.111" references="/0/CppClassHeader/%.21"> + <details key="start" value="3931"/> + <details key="end" value="3962"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.94" references="/0/CppClassHeader/%.21/self"> + <eAnnotations source="positions.112" references="/0/CppClassHeader/%.21/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.95" references="/0/CppClassHeader/%.22"> - <details key="start" value="2628"/> - <details key="end" value="2631"/> - <details key="line" value="60"/> + <eAnnotations source="positions.113" references="/0/CppClassHeader/%.22"> + <details key="start" value="3964"/> + <details key="end" value="3967"/> + <details key="line" value="85"/> </eAnnotations> - <eAnnotations source="positions.96" references="/0/CppClassHeader/%.23"> - <details key="start" value="2632"/> - <details key="end" value="2666"/> + <eAnnotations source="positions.114" references="/0/CppClassHeader/%.23"> + <details key="start" value="3968"/> + <details key="end" value="4002"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.97" references="/0/CppClassHeader/%.23/self"> + <eAnnotations source="positions.115" references="/0/CppClassHeader/%.23/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.98" references="/0/CppClassHeader/%.24"> - <details key="start" value="2669"/> - <details key="end" value="2690"/> + <eAnnotations source="positions.116" references="/0/CppClassHeader/%.24"> + <details key="start" value="4005"/> + <details key="end" value="4026"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.99" references="/0/CppClassHeader/%.24/self"> + <eAnnotations source="positions.117" references="/0/CppClassHeader/%.24/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.100" references="/0/CppClassHeader/%.25"> - <details key="start" value="2692"/> - <details key="end" value="2704"/> - <details key="line" value="62"/> + <eAnnotations source="positions.118" references="/0/CppClassHeader/%.25"> + <details key="start" value="4028"/> + <details key="end" value="4033"/> + <details key="line" value="87"/> + </eAnnotations> + <eAnnotations source="positions.119" references="/0/CppClassHeader/%.26"> + <details key="start" value="4034"/> + <details key="end" value="4089"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.120" references="/0/CppClassHeader/%.26/%"> + <details key="start" value="4034"/> + <details key="end" value="4056"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.101" references="/0/CppClassHeader/%.26"> - <details key="start" value="2705"/> - <details key="end" value="2725"/> + <eAnnotations source="positions.121" references="/0/CppClassHeader/%.26/%.1"> + <details key="start" value="4068"/> + <details key="end" value="4088"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.102" references="/0/CppClassHeader/%.26/self"> + <eAnnotations source="positions.122" references="/0/CppClassHeader/%.26/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.103" references="/0/CppClassHeader/%.27"> - <details key="start" value="2728"/> - <details key="end" value="2781"/> + <eAnnotations source="positions.123" references="/0/CppClassHeader/%.27"> + <details key="start" value="4091"/> + <details key="end" value="4096"/> + <details key="line" value="88"/> + </eAnnotations> + <eAnnotations source="positions.124" references="/0/CppClassHeader/%.28"> + <details key="start" value="4097"/> + <details key="end" value="4185"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.125" references="/0/CppClassHeader/%.28/%"> + <details key="start" value="4097"/> + <details key="end" value="4119"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.126" references="/0/CppClassHeader/%.28/%.1"> + <details key="start" value="4131"/> + <details key="end" value="4184"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.104" references="/0/CppClassHeader/%.27/self"> + <eAnnotations source="positions.127" references="/0/CppClassHeader/%.28/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.105" references="/0/CppClassHeader/%.27/%"> - <details key="start" value="2758"/> - <details key="end" value="2780"/> + <eAnnotations source="positions.128" references="/0/CppClassHeader/%.28/%.1/%"> + <details key="start" value="4161"/> + <details key="end" value="4183"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.129" references="/0/CppClassHeader/%.29"> + <details key="start" value="4187"/> + <details key="end" value="4192"/> + <details key="line" value="89"/> + </eAnnotations> + <eAnnotations source="positions.130" references="/0/CppClassHeader/%.30"> + <details key="start" value="4193"/> + <details key="end" value="4281"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.131" references="/0/CppClassHeader/%.30/%"> + <details key="start" value="4193"/> + <details key="end" value="4215"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.106" references="/0/CppClassHeader/%.28"> - <details key="start" value="2784"/> - <details key="end" value="2837"/> + <eAnnotations source="positions.132" references="/0/CppClassHeader/%.30/%.1"> + <details key="start" value="4227"/> + <details key="end" value="4280"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.107" references="/0/CppClassHeader/%.28/self"> + <eAnnotations source="positions.133" references="/0/CppClassHeader/%.30/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.108" references="/0/CppClassHeader/%.28/%"> - <details key="start" value="2814"/> - <details key="end" value="2836"/> + <eAnnotations source="positions.134" references="/0/CppClassHeader/%.30/%.1/%"> + <details key="start" value="4257"/> + <details key="end" value="4279"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.135" references="/0/CppClassHeader/%.31"> + <details key="start" value="4283"/> + <details key="end" value="4289"/> + <details key="line" value="90"/> + </eAnnotations> + <eAnnotations source="positions.136" references="/0/CppClassHeader/%.32"> + <details key="start" value="4290"/> + <details key="end" value="4384"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.109" references="/0/CppClassHeader/%.29"> - <details key="start" value="2839"/> - <details key="end" value="2854"/> - <details key="line" value="65"/> + <eAnnotations source="positions.137" references="/0/CppClassHeader/%.32/%"> + <details key="start" value="4290"/> + <details key="end" value="4315"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.110" references="/0/CppClassHeader/%.30"> - <details key="start" value="2855"/> - <details key="end" value="2911"/> + <eAnnotations source="positions.138" references="/0/CppClassHeader/%.32/%.1"> + <details key="start" value="4327"/> + <details key="end" value="4383"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.111" references="/0/CppClassHeader/%.30/self"> + <eAnnotations source="positions.139" references="/0/CppClassHeader/%.32/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.112" references="/0/CppClassHeader/%.30/%"> - <details key="start" value="2885"/> - <details key="end" value="2910"/> + <eAnnotations source="positions.140" references="/0/CppClassHeader/%.32/%.1/%"> + <details key="start" value="4357"/> + <details key="end" value="4382"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.141" references="/0/CppClassHeader/%.33"> + <details key="start" value="4386"/> + <details key="end" value="4391"/> + <details key="line" value="92"/> + </eAnnotations> + <eAnnotations source="positions.142" references="/0/CppClassHeader/%.34"> + <details key="start" value="4392"/> + <details key="end" value="4486"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.143" references="/0/CppClassHeader/%.34/%"> + <details key="start" value="4392"/> + <details key="end" value="4417"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.113" references="/0/CppClassHeader/%.31"> - <details key="start" value="2914"/> - <details key="end" value="2970"/> + <eAnnotations source="positions.144" references="/0/CppClassHeader/%.34/%.1"> + <details key="start" value="4429"/> + <details key="end" value="4485"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.114" references="/0/CppClassHeader/%.31/self"> + <eAnnotations source="positions.145" references="/0/CppClassHeader/%.34/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.115" references="/0/CppClassHeader/%.31/%"> - <details key="start" value="2944"/> - <details key="end" value="2969"/> + <eAnnotations source="positions.146" references="/0/CppClassHeader/%.34/%.1/%"> + <details key="start" value="4459"/> + <details key="end" value="4484"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.116" references="/0/CppClassHeader/%.32"> - <details key="start" value="2972"/> - <details key="end" value="2985"/> - <details key="line" value="68"/> + <eAnnotations source="positions.147" references="/0/CppClassHeader/%.35"> + <details key="start" value="4488"/> + <details key="end" value="4494"/> + <details key="line" value="93"/> + </eAnnotations> + <eAnnotations source="positions.148" references="/0/CppClassHeader/%.36"> + <details key="start" value="4495"/> + <details key="end" value="4585"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.149" references="/0/CppClassHeader/%.36/%"> + <details key="start" value="4495"/> + <details key="end" value="4518"/> + <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.117" references="/0/CppClassHeader/%.33"> - <details key="start" value="2986"/> - <details key="end" value="3040"/> + <eAnnotations source="positions.150" references="/0/CppClassHeader/%.36/%.1"> + <details key="start" value="4530"/> + <details key="end" value="4584"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.118" references="/0/CppClassHeader/%.33/self"> + <eAnnotations source="positions.151" references="/0/CppClassHeader/%.36/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.119" references="/0/CppClassHeader/%.33/%"> - <details key="start" value="3016"/> - <details key="end" value="3039"/> + <eAnnotations source="positions.152" references="/0/CppClassHeader/%.36/%.1/%"> + <details key="start" value="4560"/> + <details key="end" value="4583"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.120" references="/0/CppClassHeader/%.34"> - <details key="start" value="3043"/> - <details key="end" value="3097"/> + <eAnnotations source="positions.153" references="/0/CppClassHeader/%.37"> + <details key="start" value="4587"/> + <details key="end" value="4592"/> + <details key="line" value="95"/> + </eAnnotations> + <eAnnotations source="positions.154" references="/0/CppClassHeader/%.38"> + <details key="start" value="4593"/> + <details key="end" value="4683"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.155" references="/0/CppClassHeader/%.38/%"> + <details key="start" value="4593"/> + <details key="end" value="4616"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.121" references="/0/CppClassHeader/%.34/self"> + <eAnnotations source="positions.156" references="/0/CppClassHeader/%.38/%.1"> + <details key="start" value="4628"/> + <details key="end" value="4682"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.157" references="/0/CppClassHeader/%.38/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.122" references="/0/CppClassHeader/%.34/%"> - <details key="start" value="3073"/> - <details key="end" value="3096"/> + <eAnnotations source="positions.158" references="/0/CppClassHeader/%.38/%.1/%"> + <details key="start" value="4658"/> + <details key="end" value="4681"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.123" references="/0/CppClassHeader/%.35"> - <details key="start" value="3099"/> - <details key="end" value="3230"/> - <details key="line" value="71"/> + <eAnnotations source="positions.159" references="/0/CppClassHeader/%.39"> + <details key="start" value="4685"/> + <details key="end" value="4815"/> + <details key="line" value="96"/> </eAnnotations> - <eAnnotations source="positions.124" references="/0/CppClassHeader/%.36"> - <details key="start" value="3231"/> - <details key="end" value="3286"/> + <eAnnotations source="positions.160" references="/0/CppClassHeader/%.40"> + <details key="start" value="4816"/> + <details key="end" value="4871"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.125" references="/0/CppClassHeader/%.36/self"> + <eAnnotations source="positions.161" references="/0/CppClassHeader/%.40/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.126" references="/0/CppClassHeader/%.36/%"> - <details key="start" value="3261"/> - <details key="end" value="3285"/> + <eAnnotations source="positions.162" references="/0/CppClassHeader/%.40/%"> + <details key="start" value="4846"/> + <details key="end" value="4870"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.127" references="/0/CppClassHeader/%.37"> - <details key="start" value="3288"/> - <details key="end" value="3289"/> - <details key="line" value="76"/> + <eAnnotations source="positions.163" references="/0/CppClassHeader/%.41"> + <details key="start" value="4873"/> + <details key="end" value="4874"/> + <details key="line" value="100"/> </eAnnotations> - <eAnnotations source="positions.128" references="/0/CppClassHeader/%.38"> - <details key="start" value="3290"/> - <details key="end" value="3345"/> + <eAnnotations source="positions.164" references="/0/CppClassHeader/%.42"> + <details key="start" value="4875"/> + <details key="end" value="4930"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.129" references="/0/CppClassHeader/%.38/self"> + <eAnnotations source="positions.165" references="/0/CppClassHeader/%.42/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.130" references="/0/CppClassHeader/%.38/%"> - <details key="start" value="3320"/> - <details key="end" value="3344"/> + <eAnnotations source="positions.166" references="/0/CppClassHeader/%.42/%"> + <details key="start" value="4905"/> + <details key="end" value="4929"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.131" references="/0/CppClassHeader/%.39"> - <details key="start" value="3347"/> - <details key="end" value="3412"/> - <details key="line" value="77"/> + <eAnnotations source="positions.167" references="/0/CppClassHeader/%.43"> + <details key="start" value="4932"/> + <details key="end" value="4997"/> + <details key="line" value="101"/> </eAnnotations> - <eAnnotations source="positions.132" references="/0/CppClassHeader/%.40"> - <details key="start" value="3412"/> - <details key="end" value="3604"/> - <details key="line" value="79"/> + <eAnnotations source="positions.168" references="/0/CppClassHeader/%.44"> + <details key="start" value="4997"/> + <details key="end" value="5189"/> + <details key="line" value="103"/> </eAnnotations> - <eAnnotations source="positions.133" references="/0/CppClassHeader/%.40/%"> - <details key="start" value="3430"/> - <details key="end" value="3556"/> - <details key="line" value="80"/> + <eAnnotations source="positions.169" references="/0/CppClassHeader/%.44/%"> + <details key="start" value="5015"/> + <details key="end" value="5141"/> + <details key="line" value="104"/> </eAnnotations> - <eAnnotations source="positions.134" references="/0/CppClassHeader/%.40/%.1"> - <details key="start" value="3557"/> - <details key="end" value="3596"/> + <eAnnotations source="positions.170" references="/0/CppClassHeader/%.44/%.1"> + <details key="start" value="5142"/> + <details key="end" value="5181"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.135" references="/0/CppClassHeader/%.40/%.1/self"> + <eAnnotations source="positions.171" references="/0/CppClassHeader/%.44/%.1/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.136" references="/0/CppClassHeader/%.40/%.1/%"> - <details key="start" value="3590"/> - <details key="end" value="3595"/> + <eAnnotations source="positions.172" references="/0/CppClassHeader/%.44/%.1/%"> + <details key="start" value="5175"/> + <details key="end" value="5180"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.137" references="/0/CppClassHeader/%.40/%.2"> - <details key="start" value="3598"/> - <details key="end" value="3599"/> - <details key="line" value="83"/> + <eAnnotations source="positions.173" references="/0/CppClassHeader/%.44/%.2"> + <details key="start" value="5183"/> + <details key="end" value="5184"/> + <details key="line" value="107"/> </eAnnotations> - <eAnnotations source="positions.138" references="/0/CppClassHeader/%.40/%.3"> - <details key="start" value="3416"/> - <details key="end" value="3428"/> + <eAnnotations source="positions.174" references="/0/CppClassHeader/%.44/%.3"> + <details key="start" value="5001"/> + <details key="end" value="5013"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.139" references="/0/CppClassHeader/%.40/%.3/self"> + <eAnnotations source="positions.175" references="/0/CppClassHeader/%.44/%.3/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.140" references="/0/CppClassHeader/%.41"> - <details key="start" value="3605"/> - <details key="end" value="3669"/> - <details key="line" value="84"/> + <eAnnotations source="positions.176" references="/0/CppClassHeader/%.45"> + <details key="start" value="5190"/> + <details key="end" value="5254"/> + <details key="line" value="108"/> </eAnnotations> - <eAnnotations source="positions.141" references="/0/CppClassHeader/%.42"> - <details key="start" value="3670"/> - <details key="end" value="3708"/> + <eAnnotations source="positions.177" references="/0/CppClassHeader/%.46"> + <details key="start" value="5255"/> + <details key="end" value="5293"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.142" references="/0/CppClassHeader/%.42/self"> + <eAnnotations source="positions.178" references="/0/CppClassHeader/%.46/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.143" references="/0/CppClassHeader/%.42/%"> - <details key="start" value="3703"/> - <details key="end" value="3707"/> + <eAnnotations source="positions.179" references="/0/CppClassHeader/%.46/%"> + <details key="start" value="5288"/> + <details key="end" value="5292"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.144" references="/0/CppClassHeader/%.43"> - <details key="start" value="3710"/> - <details key="end" value="3711"/> - <details key="line" value="87"/> + <eAnnotations source="positions.180" references="/0/CppClassHeader/%.47"> + <details key="start" value="5295"/> + <details key="end" value="5296"/> + <details key="line" value="111"/> </eAnnotations> - <eAnnotations source="positions.145" references="/0/CppClassHeader/%.44"> - <details key="start" value="3712"/> - <details key="end" value="3721"/> + <eAnnotations source="positions.181" references="/0/CppClassHeader/%.48"> + <details key="start" value="5297"/> + <details key="end" value="5306"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.146" references="/0/CppClassHeader/%.44/self"> + <eAnnotations source="positions.182" references="/0/CppClassHeader/%.48/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.147" references="/0/CppClassHeader/%.45"> - <details key="start" value="3723"/> - <details key="end" value="3808"/> - <details key="line" value="88"/> + <eAnnotations source="positions.183" references="/0/CppClassHeader/%.49"> + <details key="start" value="5308"/> + <details key="end" value="5393"/> + <details key="line" value="112"/> </eAnnotations> - <eAnnotations source="positions.148" references="/0/CppClassHeader/%.46"> - <details key="start" value="3809"/> - <details key="end" value="3819"/> + <eAnnotations source="positions.184" references="/0/CppClassHeader/%.50"> + <details key="start" value="5394"/> + <details key="end" value="5404"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.149" references="/0/CppClassHeader/%.46/class"> - <details key="start" value="3809"/> - <details key="end" value="3814"/> + <eAnnotations source="positions.185" references="/0/CppClassHeader/%.50/class"> + <details key="start" value="5394"/> + <details key="end" value="5399"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.150" references="/0/CppClassHeader/%.47"> - <details key="start" value="3821"/> - <details key="end" value="3905"/> - <details key="line" value="90"/> + <eAnnotations source="positions.186" references="/0/CppClassHeader/%.51"> + <details key="start" value="5406"/> + <details key="end" value="5490"/> + <details key="line" value="114"/> </eAnnotations> - <eAnnotations source="positions.151" references="/0/CppClassHeader/class"> - <details key="start" value="2083"/> - <details key="end" value="2101"/> - <details key="line" value="42"/> + <eAnnotations source="positions.187" references="/0/CppClassHeader/class"> + <details key="start" value="3419"/> + <details key="end" value="3437"/> + <details key="line" value="67"/> </eAnnotations> </ecore:EAnnotation> </xmi:XMI> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.mtl index daaa4609107..d9b6372d9ed 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassHeader.mtl @@ -11,31 +11,56 @@ [import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassAttributesDeclaration/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsDeclaration/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::clazz::CppClassOperationsImplementation/] +[import org::eclipse::papyrus::cpp::codegen::acceleo::util::operation::CppOperations/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppTemplates/] [import org::eclipse::papyrus::cpp::codegen::acceleo::util::CppDocumentation/] - -[query public classUnionOrStruct(classifier : Classifier) : String = -if (hasStereotype(C_Cpp::Union)) then 'union' -else - if (oclIsKindOf(DataType)) then 'struct' - else 'class' - endif -endif -/] +[template public classUnionOrStruct(classifier : Classifier)] +[if (hasStereotype(C_Cpp::Union))] + 'union' +[else] + [if (oclIsKindOf(DataType))] + [VisibilityKind::public.resetVisibility()/] + struct + [else] + [VisibilityKind::private.resetVisibility()/] + class + [/if] +[/if] +[/template] [comment default initializer for non-static attributes with a default value TODO: should be disabled by default, since non-static members can be initialized directly in C++ 011/] [template public defaultInitializer(classifier : Classifier) post(trim())] -[let attributeList : Set(Property) = attribute->select( - (isStatic = false) and - (defaultValue <> null) and - (defaultValue.stringValue() <> null))] -[if not attributeList->isEmpty()] - [classifier.name/]() : [for (a : Property | attributeList) separator(', ') - ][name/]([defaultValue.stringValue()/])[/for] {} -[/if][/let] +[comment +Bug 422373: The default initializer should not be generated if there are any user-defined + constructors. In plain C++ code, the existence of a constructor with parameters + means that the compiler will not synthesize a default one. + + E.g., this would be invalid in plain C++ code: + class T1 { }; + class T2 { public: T(int); }; + T1 * t1 = new T1; // OK, sythesized default constructor used + T2 * t2a = new T2(5); // OK, user-defined constructor used + T2 * t2b = new T2; // ERROR, default constructor was not synthesized + + Also, if the user has provided a default constructor in the code, we don't need + to generate a second copy here. A default constructor should only be generated + here if the compiler would have synthesized one anyhow. Otherwise the default + property values should be set in the constructors that are generated by + CppClassOperationsDeclaration. +/] +[if getOwnedOperations()->any(hasStereotype(l2::Create)) = null] + [let attributeList : Set(Property) = attribute->select( + (isStatic = false) and + (defaultValue <> null) and + (defaultValue.stringValue() <> null))] + [if not attributeList->isEmpty()] + [classifier.name/]() : [for (a : Property | attributeList) separator(', ') + ][name/]([defaultValue.stringValue()/])[/for] {} + [/if][/let] +[/if] [/template] @@ -59,16 +84,15 @@ in C++ 011/] [CppElementDoc()/] [templateSignature()/][classUnionOrStruct()/] [class.name/][CppClassInheritedDeclarations()/] { [CppClassIncludeFriendDeclaration()/][CppClassTypeAndEnum()/] + [VisibilityKind::public.getSection(defaultInitializer())/] + [VisibilityKind::public.getSection(CppClassAttributesDeclaration(VisibilityKind::public))/] + [VisibilityKind::public.getSection(CppClassOperationsDeclaration(VisibilityKind::public))/] - public: -[defaultInitializer()/][CppClassAttributesDeclaration(VisibilityKind::public)/][CppClassOperationsDeclaration(VisibilityKind::public)/] - - protected: -[CppClassAttributesDeclaration(VisibilityKind::protected)/][CppClassOperationsDeclaration(VisibilityKind::protected)/] - - private: -[CppClassAttributesDeclaration(VisibilityKind::private)/][CppClassOperationsDeclaration(VisibilityKind::private)/] + [VisibilityKind::protected.getSection(CppClassAttributesDeclaration(VisibilityKind::protected))/] + [VisibilityKind::protected.getSection(CppClassOperationsDeclaration(VisibilityKind::protected))/] + [VisibilityKind::private.getSection(CppClassAttributesDeclaration(VisibilityKind::private))/] + [VisibilityKind::private.getSection(CppClassOperationsDeclaration(VisibilityKind::private))/] }; /************************************************************/ /* External declarations (package visibility) */ diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.emtl index 77a5b6f05d5..c34dc5733b0 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppIncludeUtils.emtl @@ -7,7 +7,7 @@ <input> <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> </input> - <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="Constants.emtl#/0"/> <ownedModuleElement xsi:type="mtl:Template" name="CppIncludeHeader" visibility="Public"> <body xsi:type="mtl:IfBlock"> @@ -23,7 +23,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> <argument xsi:type="ocl.ecore:VariableExp" name="header" referredVariable="/0/CppIncludeHeader/%/%/header"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </argument> @@ -74,7 +74,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> <source xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </argument> @@ -93,7 +93,7 @@ </body> <ifExpr xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </argument> @@ -120,7 +120,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> <argument xsi:type="ocl.ecore:VariableExp" name="_body" referredVariable="/0/CppIncludeBody/%/%/_body"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </argument> @@ -171,7 +171,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> <source xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </argument> @@ -190,7 +190,7 @@ </body> <ifExpr xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </argument> @@ -217,7 +217,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> <argument xsi:type="ocl.ecore:VariableExp" name="preBody" referredVariable="/0/CppIncludePreBody/%/%/preBody"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </argument> @@ -268,7 +268,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Include"/> <source xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </argument> @@ -287,7 +287,7 @@ </body> <ifExpr xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> </argument> @@ -356,7 +356,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> <eParameters name="arg0"> @@ -371,7 +371,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getApplication"/> </eAnnotations> <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/> <eParameters name="arg0"> @@ -386,7 +386,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/cleanCR"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="str"> @@ -521,6 +521,16 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> </ecore:EPackage> <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.emtl index 7f97541e6bb..4f51ef715f1 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppPackageHeader.emtl @@ -4,7 +4,7 @@ <input> <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> </input> - <imports href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../utils/CppGenUtils.emtl#/0"/> <imports href="../preferences/CppCodeGenUtils.emtl#/0"/> <imports href="Constants.emtl#/0"/> @@ -17,7 +17,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#ifndef PKG_"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> </argument> @@ -25,7 +25,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#define PKG_"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> </argument> @@ -55,7 +55,7 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> </argument> @@ -78,7 +78,7 @@ </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">
"/> <iterSet xsi:type="mtl:QueryInvocation" eType="/10/Sequence(Package)"> - <definition href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> </argument> @@ -173,7 +173,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -185,9 +185,9 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/> </eAnnotations> - <eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Package)"/> + <eType xsi:type="ocl.ecore:SequenceType" href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Package)"/> <eParameters name="arg0"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> </eParameters> @@ -197,7 +197,7 @@ <contents xsi:type="ocl.ecore:Constraint"/> </eAnnotations> <eAnnotations source="MTL"> - <references href="../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> + <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/> </eAnnotations> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <eParameters name="arg0"> @@ -341,11 +341,26 @@ <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/> </eAnnotations> </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/> + </eAnnotations> + </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class"> <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl index a044350fe1d..c53584f3291 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/CppAttribute.emtl @@ -7,7 +7,7 @@ <input> <takesTypesFrom href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/> </input> - <imports href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/> <imports href="../../utils/CppGenUtils.emtl#/0"/> <imports href="../../utils/Modifier.emtl#/0"/> <imports href="../Constants.emtl#/0"/> @@ -32,7 +32,7 @@ <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> <source xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//ValueSpecification"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </source> <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property/defaultValue"/> @@ -44,7 +44,7 @@ </source> <argument xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </source> <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//Feature/isStatic"/> @@ -75,21 +75,21 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="CppDocumentation.emtl#/0/CppElementDoc"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> <body xsi:type="mtl:TemplateInvocation" definition="/0/staticValue"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modConst"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> @@ -107,14 +107,14 @@ <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modPtr"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/21"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/22"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modRef"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/22"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> @@ -129,24 +129,24 @@ <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modArray"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/25"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> <body xsi:type="mtl:IfBlock"> <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/28"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> <ifExpr xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> - <definition href="../../../../../../../../../org.eclipse.papyrus.acceleo/bin/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/26"> + <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/hasStereotype.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/27"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> - <argument xsi:type="ocl.ecore:TypeExp" eType="/25/Const"> + <argument xsi:type="ocl.ecore:TypeExp" eType="/26/Const"> <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/C_Cpp/1#//Const"/> </argument> </ifExpr> @@ -161,7 +161,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="CppDocumentation.emtl#/0/CppElementDoc"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/32"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> @@ -169,7 +169,7 @@ <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modConst"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/33"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/34"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> @@ -187,14 +187,14 @@ <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modPtr"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modRef"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/36"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/37"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> @@ -209,7 +209,7 @@ <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modArray"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/38"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/39"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> @@ -222,7 +222,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="CppDocumentation.emtl#/0/CppElementDoc"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/43"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> @@ -232,7 +232,7 @@ <definition href="../../utils/CppGenUtils.emtl#/0/cppQualifiedName"/> <argument xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> - <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/44"> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </source> <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> @@ -241,14 +241,14 @@ <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modPtr"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/45"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modRef"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/47"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> @@ -275,13 +275,13 @@ <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../../utils/Modifier.emtl#/0/modArray"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/49"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/50"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> <body xsi:type="mtl:TemplateInvocation" definition="/0/defaultValue"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/50"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/51"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> </argument> </body> @@ -291,13 +291,97 @@ </parameter> </ownedModuleElement> <ownedModuleElement xsi:type="mtl:Comment"> - <body startPosition="1407" endPosition="1546" value="
Loop over attributes. Check that the attribute is not a static const.
Constant static attributes are declared within the class declaration"/> + <body startPosition="1407" endPosition="1495" value="
return a list of owned attributes, since this is not supported directly on a classifier"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Query" name="getOwnedAttributes" visibility="Public" type="/3/Sequence(Property)"> + <parameter name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + <expression xsi:type="ocl.ecore:IfExp" eType="/3/Collection(Property)"> + <condition xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/getOwnedAttributes/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/26/Class"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)"> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/54"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/26/Class"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//StructuredClassifier/ownedAttribute"/> + </thenExpression> + <elseExpression xsi:type="ocl.ecore:IfExp" eType="/3/Collection(Property)"> + <condition xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/getOwnedAttributes/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/26/DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/> + </condition> + <thenExpression xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)"> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType |