Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCamille Letavernier2014-09-12 10:42:37 +0000
committerCamille Letavernier2014-09-12 10:42:37 +0000
commita808fbf436fad48e4f6e908bb0db6146652a97ba (patch)
tree1eb7b0e9e3faea99317734f6fe35a50af5863d9a
parentb04d45d3371cd7fcde212bc44154b24f9a6d9c1f (diff)
downloadorg.eclipse.papyrus-a808fbf436fad48e4f6e908bb0db6146652a97ba.tar.gz
org.eclipse.papyrus-a808fbf436fad48e4f6e908bb0db6146652a97ba.tar.xz
org.eclipse.papyrus-a808fbf436fad48e4f6e908bb0db6146652a97ba.zip
410988: [Diagram Import] Papyrus shall enable to import the graphical
information of a UML profile defined in other tools https://bugs.eclipse.org/bugs/show_bug.cgi?id=410988 410987: [Profile Import] Papyrus shall enable to import the semantics information of a UML profile defined in other tools https://bugs.eclipse.org/bugs/show_bug.cgi?id=410987 410986: [Diagram Import] Papyrus shall enable to import layout information of other tools models https://bugs.eclipse.org/bugs/show_bug.cgi?id=410986 410985: [Model Import] Papyrus shall enable to import semantics information of other tools models https://bugs.eclipse.org/bugs/show_bug.cgi?id=410985
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/.classpath7
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/.project28
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/META-INF/MANIFEST.MF14
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/about.html28
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/build.properties8
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/libraries/EclipseUI.qvto35
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/plugin.xml59
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/pom.xml14
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/Activator.java65
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/EMFResourceUtils.java29
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/NotationTypes.java64
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/PropertiesUtil.java46
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/TransformationUI.java55
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/.classpath8
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/.project29
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/.settings/org.eclipse.m2m.qvt.oml.mmodel.urimap5
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/META-INF/MANIFEST.MF41
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/about.html28
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/build.properties9
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusDefault.ecore47
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusDefault.genmodel47
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusProfileBase.ecore9
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusProfileBase.genmodel17
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusRT.ecore67
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusRT.genmodel63
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusUMLNotation.ecore29
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusUMLNotation.genmodel392
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.properties11
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.xml411
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/pom.xml14
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/AbstractConstraint.java128
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/DefaultFactory.java105
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/DefaultPackage.java950
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Documentation.java62
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Link.java26
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MarkingImport.java62
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MarkingModel.java61
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MetaConstraint.java60
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Mode.java238
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Severity.java267
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/URL.java149
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/AbstractConstraintImpl.java320
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DefaultFactoryImpl.java274
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DefaultPackageImpl.java543
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DocumentationImpl.java179
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/LinkImpl.java49
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MarkingImportImpl.java179
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MarkingModelImpl.java178
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MetaConstraintImpl.java183
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/URLImpl.java379
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultAdapterFactory.java263
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultResourceFactoryImpl.java61
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultResourceImpl.java39
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultSwitch.java291
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultXMLProcessor.java59
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileBaseFactory.java55
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileBasePackage.java215
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileConstraint.java61
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileBaseFactoryImpl.java112
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileBasePackageImpl.java206
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileConstraintImpl.java185
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseAdapterFactory.java158
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseResourceFactoryImpl.java61
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseResourceImpl.java39
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseSwitch.java150
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseXMLProcessor.java59
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/PapyrusUMLNotationFactory.java116
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/PapyrusUMLNotationPackage.java2662
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLClassifierShape.java60
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLComponent.java26
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLConnector.java28
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLDiagram.java27
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLFrame.java26
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLShape.java27
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLShapeCompartment.java27
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLView.java151
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/PapyrusUMLNotationFactoryImpl.java202
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/PapyrusUMLNotationPackageImpl.java446
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLClassifierShapeImpl.java185
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLComponentImpl.java50
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLConnectorImpl.java889
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLDiagramImpl.java420
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLFrameImpl.java50
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLShapeCompartmentImpl.java420
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLShapeImpl.java420
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLViewImpl.java369
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/util/PapyrusRSANotationAdapterFactory.java767
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/util/PapyrusRSANotationSwitch.java965
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/AbstractEvent.java62
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Capsule.java61
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/CapsulePart.java62
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Coregion.java27
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/HistoryKind.java238
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/InEvent.java26
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/OutEvent.java26
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/PortRegistrationType.java259
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Protocol.java62
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/ProtocolContainer.java61
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTConnector.java62
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTHistorystate.java95
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTPort.java241
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTRedefinableElement.java62
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Trigger.java62
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/UMLRealTimeFactory.java165
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/UMLRealTimePackage.java1404
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/AbstractEventImpl.java179
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CapsuleImpl.java178
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CapsulePartImpl.java179
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CoregionImpl.java50
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/InEventImpl.java49
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/OutEventImpl.java49
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/ProtocolContainerImpl.java178
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/ProtocolImpl.java179
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTConnectorImpl.java179
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTHistorystateImpl.java258
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTPortImpl.java563
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTRedefinableElementImpl.java179
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/TriggerImpl.java179
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/UMLRealTimeFactoryImpl.java364
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/UMLRealTimePackageImpl.java770
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeAdapterFactory.java389
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeResourceFactoryImpl.java61
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeResourceImpl.java39
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeSwitch.java447
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeXMLProcessor.java59
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/Activator.java69
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/blackbox/ProfileBaseHelper.java55
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/blackbox/RTMappings.java109
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/handler/ImportHandler.java68
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/transformation/ImportTransformation.java756
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAActivityDiagram.qvto683
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAClassDiagram.qvto1274
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAComponentDiagram.qvto305
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAModelToPapyrus.qvto120
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAProfileDiagram.qvto499
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAProfilesToPapyrus.qvto168
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSARTToPapyrusRT.qvto284
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSASequenceDiagram.qvto379
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAStateMachineDiagram.qvto381
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAStructureDiagram.qvto816
-rw-r--r--extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAToPapyrus.qvto364
-rw-r--r--features/papyrus-extra-features/org.eclipse.papyrus.extra.feature/feature.xml115
-rw-r--r--features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/.project17
-rw-r--r--features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/build.properties5
-rw-r--r--features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/epl-v10.html304
-rw-r--r--features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/feature.xml17
-rw-r--r--features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/license.html107
-rw-r--r--features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/pom.xml14
-rw-r--r--features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.feature/feature.xml149
-rw-r--r--features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/.project17
-rw-r--r--features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/build.properties5
-rw-r--r--features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/epl-v10.html304
-rw-r--r--features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/feature.xml19
-rw-r--r--features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/license.html107
-rw-r--r--releng/top-pom-extra-tests.xml1
-rwxr-xr-xreleng/top-pom-extras.xml3
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.classpath7
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.project28
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/META-INF/MANIFEST.MF43
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/about.html28
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/build.properties7
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/org.eclipse.papyrus.migration.rsa.tests.launch41
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/pom.xml15
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/ModelTestClass.emx606
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/Profile.epx499
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/Activator.java68
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/AllTests.java26
-rw-r--r--tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/ImportDiagramTest.java308
-rw-r--r--tests/junit/extraplugins/org.eclipse.papyrus.tests.extra/META-INF/MANIFEST.MF3
-rw-r--r--tests/junit/extraplugins/org.eclipse.papyrus.tests.extra/src/org/eclipse/papyrus/tests/extra/AllTests.java19
173 files changed, 33054 insertions, 100 deletions
diff --git a/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/.classpath b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/.classpath
new file mode 100644
index 00000000000..ad32c83a788
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/.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/migration/org.eclipse.papyrus.m2m.qvto/.project b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/.project
new file mode 100644
index 00000000000..103c3fec55c
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.m2m.qvto</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/migration/org.eclipse.papyrus.m2m.qvto/.settings/org.eclipse.jdt.core.prefs b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..c537b63063c
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.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/migration/org.eclipse.papyrus.m2m.qvto/META-INF/MANIFEST.MF b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..eac37bde788
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/META-INF/MANIFEST.MF
@@ -0,0 +1,14 @@
+Bundle-ManifestVersion: 2
+Bundle-Name: Qvto Library
+Bundle-SymbolicName: org.eclipse.papyrus.m2m.qvto;singleton:=true
+Bundle-Version: 1.0.1.qualifier
+Bundle-Activator: org.eclipse.papyrus.m2m.qvto.Activator
+Bundle-Vendor: Eclipse Modeling Project
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.m2m.qvt.oml;bundle-version="3.4.0",
+ org.eclipse.m2m.qvt.oml.runtime,
+ org.eclipse.gmf.runtime.notation;bundle-version="1.7.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.papyrus.m2m.qvto
diff --git a/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/about.html b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/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>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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>
diff --git a/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/build.properties b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/build.properties
new file mode 100644
index 00000000000..b5d9b96bcbb
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ libraries/,\
+ about.html
+src.includes = about.html
diff --git a/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/libraries/EclipseUI.qvto b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/libraries/EclipseUI.qvto
new file mode 100644
index 00000000000..91847104ec7
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/libraries/EclipseUI.qvto
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+library EclipseUI;
+
+/** The IStatus#INFO code */
+query info() : Integer {
+ return 1
+}
+
+/** The IStatus#WARNING code */
+query warning() : Integer{
+ return 2
+}
+
+/** The IStatus#ERROR code */
+query error() : Integer {
+ return 4
+}
+
+query warning(message: String){
+ log(message, null, warning())
+}
+
+query error(message: String){
+ log(message, null, error())
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/plugin.xml b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/plugin.xml
new file mode 100644
index 00000000000..d58f53e2fc6
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/plugin.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.m2m.qvt.oml.javaBlackboxUnits">
+ <unit
+ description="Provides an Eclipse UI/QVTo integration for transformations"
+ name="UI"
+ namespace="org.eclipse.papyrus.m2m.qvto">
+ <library
+ class="org.eclipse.papyrus.m2m.qvto.TransformationUI">
+ <metamodel
+ nsURI="http://www.eclipse.org/emf/2002/Ecore">
+ </metamodel>
+ </library>
+ </unit>
+ <unit
+ description="Provides some EMF Resource manipulation helpers"
+ name="EMFResource"
+ namespace="org.eclipse.papyrus.m2m.qvto">
+ <library
+ class="org.eclipse.papyrus.m2m.qvto.EMFResourceUtils">
+ <metamodel
+ nsURI="http://www.eclipse.org/emf/2002/Ecore">
+ </metamodel>
+ </library>
+ </unit>
+ <unit
+ description="Java helpers to manipulate Notation DataTypes (Gradient, Bendpoints...)"
+ name="NotationTypes"
+ namespace="org.eclipse.papyrus.m2m.qvto">
+ <library
+ class="org.eclipse.papyrus.m2m.qvto.NotationTypes">
+ <metamodel
+ nsURI="http://www.eclipse.org/gmf/runtime/1.0.2/notation">
+ </metamodel>
+ </library>
+ </unit>
+ <unit
+ description="Provides an access to Config Properties"
+ name="Properties"
+ namespace="org.eclipse.papyrus.m2m.qvto">
+ <library
+ class="org.eclipse.papyrus.m2m.qvto.PropertiesUtil">
+ <metamodel
+ nsURI="http://www.eclipse.org/emf/2002/Ecore">
+ </metamodel>
+ </library>
+ </unit>
+ </extension>
+ <extension
+ point="org.eclipse.m2m.qvt.oml.runtime.qvtTransformation">
+ <library
+ file="libraries/EclipseUI.qvto"
+ id="libraries.EclipseUI">
+ </library>
+ </extension>
+
+</plugin>
diff --git a/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/pom.xml b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/pom.xml
new file mode 100644
index 00000000000..965b361d8af
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.0.1-SNAPSHOT</version>
+ <relativePath>../../../releng/top-pom-extras.xml</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.m2m.qvto</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.0.1-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/Activator.java b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/Activator.java
new file mode 100644
index 00000000000..17b30dcd26e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/Activator.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.m2m.qvto;
+
+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.m2m.qvto"; //$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)
+ */
+ @Override
+ 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)
+ */
+ @Override
+ 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/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/EMFResourceUtils.java b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/EMFResourceUtils.java
new file mode 100644
index 00000000000..75203016ee4
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/EMFResourceUtils.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.m2m.qvto;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+
+
+public class EMFResourceUtils {
+
+ @Operation(contextual = true, kind = Kind.QUERY)
+ public String getURI(EObject target) {
+ if(target == null) {
+ return "";
+ }
+ return EcoreUtil.getURI(target).toString();
+ }
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/NotationTypes.java b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/NotationTypes.java
new file mode 100644
index 00000000000..c3cb40b3f6e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/NotationTypes.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.m2m.qvto;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
+import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+
+
+public class NotationTypes {
+
+ @Operation(contextual = true, kind = Kind.HELPER)
+ public static void copyBendpoints(final RelativeBendpoints source, RelativeBendpoints target, boolean convertToPixels) {
+ List<RelativeBendpoint> result = new LinkedList<RelativeBendpoint>();
+
+ for(Object point : source.getPoints()) {
+ if(point instanceof RelativeBendpoint) {
+ RelativeBendpoint pointCopy = new RelativeBendpoint(((RelativeBendpoint)point).convertToString());
+ result.add(pointCopy);
+ }
+ }
+
+ if(convertToPixels) {
+
+ List<RelativeBendpoint> convertedResult = new LinkedList<RelativeBendpoint>();
+
+ for(RelativeBendpoint point : result) {
+ convertedResult.add(convertToPixels(point));
+ }
+
+ result = convertedResult;
+ }
+
+ target.setPoints(result);
+ }
+
+ private static RelativeBendpoint convertToPixels(RelativeBendpoint bendpoint) {
+ int newSourceX, newSourceY, newTargetX, newTargetY;
+
+ newSourceX = convertToPixels(bendpoint.getSourceX());
+ newSourceY = convertToPixels(bendpoint.getSourceY());
+ newTargetX = convertToPixels(bendpoint.getTargetX());
+ newTargetY = convertToPixels(bendpoint.getTargetY());
+
+ return new RelativeBendpoint(newSourceX, newSourceY, newTargetX, newTargetY);
+ }
+
+ private static int convertToPixels(int source) {
+ return source / 25;
+ }
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/PropertiesUtil.java b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/PropertiesUtil.java
new file mode 100644
index 00000000000..a2e87ff29dc
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/PropertiesUtil.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.m2m.qvto;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+import org.eclipse.m2m.qvt.oml.util.IContext;
+
+
+public class PropertiesUtil {
+
+ @Operation(withExecutionContext = true, kind = Kind.HELPER)
+ public String getStringProperty(IContext context, String property) {
+ return (String)context.getConfigProperty(property);
+ }
+
+ @Operation(withExecutionContext = true, kind = Kind.HELPER)
+ public boolean getBooleanProperty(IContext context, String property) {
+ return Boolean.parseBoolean(context.getConfigProperty(property).toString());
+ }
+
+ @Operation(withExecutionContext = true, kind = Kind.HELPER)
+ public int getIntegerProperty(IContext context, String property) {
+ return Integer.parseInt(context.getConfigProperty(property).toString());
+ }
+
+ @Operation(withExecutionContext = true, kind = Kind.HELPER)
+ public EObject getEObjectProperty(IContext context, String property) {
+ Object value = context.getConfigProperties().get(property);
+ if(value instanceof EObject) {
+ return (EObject)value;
+ }
+ return null;
+ }
+
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/TransformationUI.java b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/TransformationUI.java
new file mode 100644
index 00000000000..06d94d2398b
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.m2m.qvto/src/org/eclipse/papyrus/m2m/qvto/TransformationUI.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.m2m.qvto;
+
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+import org.eclipse.m2m.qvt.oml.util.IContext;
+
+
+public class TransformationUI {
+
+ public static final String MONITOR = "monitor";
+
+ @Operation(withExecutionContext = true, kind = Kind.HELPER)
+ public void beginTask(IContext context, String name, int totalWork) {
+ getMonitor(context).beginTask(name, totalWork);
+ }
+
+ @Operation(withExecutionContext = true, kind = Kind.HELPER)
+ public void worked(IContext context, int worked) {
+ getMonitor(context).worked(worked);
+ }
+
+ @Operation(withExecutionContext = true, kind = Kind.HELPER)
+ public boolean isCanceled(IContext context) {
+ return getMonitor(context).isCanceled();
+ }
+
+
+
+
+
+ private IProgressMonitor getMonitor(IContext context) {
+ Object monitor = context.getConfigProperty(MONITOR);
+
+ if(monitor instanceof IProgressMonitor) {
+ return (IProgressMonitor)monitor;
+ }
+
+ return new NullProgressMonitor();
+ }
+
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.classpath b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.classpath
new file mode 100644
index 00000000000..486b1b8b096
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.classpath
@@ -0,0 +1,8 @@
+<?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-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.project b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.project
new file mode 100644
index 00000000000..59cf298d7bf
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.migration.rsa</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.m2m.qvt.oml.project.QVTONature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.settings/org.eclipse.jdt.core.prefs b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..c537b63063c
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.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/migration/org.eclipse.papyrus.migration.rsa/.settings/org.eclipse.m2m.qvt.oml.mmodel.urimap b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.settings/org.eclipse.m2m.qvt.oml.mmodel.urimap
new file mode 100644
index 00000000000..2885235d87f
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/.settings/org.eclipse.m2m.qvt.oml.mmodel.urimap
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="ASCII"?>
+<uriMap:MappingContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:uriMap="http:///www.eclipse.org/m2m/qvt/oml/MModelUriMap/1.0.0">
+ <mapping sourceURI="http://www.eclipse.org/papyrus/umlnotation" targetURI="platform:/resource/org.eclipse.papyrus.migration.rsa/model/PapyrusUMLNotation.ecore"/>
+ <mapping sourceURI="http://www.eclipse.org/papyrus/0.7.0/sashdi" targetURI="platform:/resource/org.eclipse.papyrus.infra.core.sasheditor.di/model/di.ecore"/>
+</uriMap:MappingContainer>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/META-INF/MANIFEST.MF b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..37b1320d25b
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/META-INF/MANIFEST.MF
@@ -0,0 +1,41 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.resources;bundle-version="3.9.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.1",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.0.1",
+ org.eclipse.m2m.qvt.oml;bundle-version="3.4.0",
+ org.eclipse.m2m.qvt.oml.common;bundle-version="3.4.0",
+ org.eclipse.m2m.qvt.oml.project;bundle-version="3.3.0",
+ org.eclipse.uml2.uml;bundle-version="5.0.1",
+ org.eclipse.uml2.uml.edit;bundle-version="5.0.0",
+ org.eclipse.gmf.runtime.emf.core;bundle-version="1.7.0",
+ org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;bundle-version="2.10.1",
+ org.eclipse.emf.ecore.xmi;bundle-version="2.10.1",
+ org.eclipse.uml2.types,
+ org.eclipse.uml2.uml.resources;bundle-version="5.0.0",
+ org.eclipse.papyrus.m2m.qvto;bundle-version="1.0.1",
+ org.eclipse.gmf.runtime.notation;bundle-version="1.7.0",
+ org.eclipse.papyrus.umlrt;bundle-version="1.0.1",
+ org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.0.1",
+ org.eclipse.papyrus.dsml.validation;bundle-version="1.0.1",
+ org.eclipse.papyrus.uml.documentation.profile;bundle-version="1.0.1",
+ org.eclipse.team.core,
+ org.eclipse.papyrus.infra.tools;bundle-version="1.0.1"
+Export-Package: org.eclipse.papyrus.migration.rsa,
+ org.eclipse.papyrus.migration.rsa.handler,
+ org.eclipse.papyrus.migration.rsa.transformation,
+ org.eclipse.papyrus.migration.rsa.umlrt,
+ org.eclipse.papyrus.migration.rsa.umlrt.impl,
+ org.eclipse.papyrus.migration.rsa.umlrt.util
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 1.0.1.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.migration.rsa.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.migration.rsa;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/about.html b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/about.html
new file mode 100644
index 00000000000..209103075a7
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/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 (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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/migration/org.eclipse.papyrus.migration.rsa/build.properties b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/build.properties
new file mode 100644
index 00000000000..bb94712161a
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/build.properties
@@ -0,0 +1,9 @@
+source.. = src/,\
+ src-gen/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ model/,\
+ transform/,\
+ plugin.properties
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusDefault.ecore b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusDefault.ecore
new file mode 100644
index 00000000000..a1aa1b15308
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusDefault.ecore
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="default" nsURI="http://www.eclipse.org/papyrus/profile/default"
+ nsPrefix="default">
+ <eClassifiers xsi:type="ecore:EClass" name="Documentation">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="URL">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" lowerBound="1"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="icon" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EByteArray"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Link" eSuperTypes="#//URL"/>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractConstraint" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Constraint" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="evaluationMode" lowerBound="1"
+ eType="#//Mode" defaultValueLiteral="batch"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="severity" lowerBound="1"
+ eType="#//Severity" defaultValueLiteral="error"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MetaConstraint" eSuperTypes="#//AbstractConstraint">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="message" lowerBound="1"
+ eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MarkingModel">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MarkingImport">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ElementImport" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//ElementImport"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="Mode">
+ <eLiterals name="batch"/>
+ <eLiterals name="live" value="1"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="Severity">
+ <eLiterals name="error"/>
+ <eLiterals name="warning" value="1"/>
+ <eLiterals name="info" value="2"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusDefault.genmodel b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusDefault.genmodel
new file mode 100644
index 00000000000..22bc7d66c67
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusDefault.genmodel
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="/*****************************************************************************&#xD;&#xA; * Copyright (c) 2013, 2014 CEA LIST.&#xD;&#xA; *&#xD;&#xA; * All rights reserved. This program and the accompanying materials&#xD;&#xA; * are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; * which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; *&#xD;&#xA; * Contributors:&#xD;&#xA; * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation&#xD;&#xA; *****************************************************************************/"
+ modelDirectory="/org.eclipse.papyrus.migration.rsa/src-gen" editDirectory="/org.eclipse.papyrus.migration.rsa.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.migration.rsa.editor/src-gen" modelPluginID="org.eclipse.papyrus.migration.rsa"
+ modelName="PapyrusDefault" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ testsDirectory="/org.eclipse.papyrus.migration.rsa.tests/src-gen" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="6.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>PapyrusDefault.ecore</foreignModel>
+ <genPackages prefix="Default" basePackage="org.eclipse.papyrus.migration.rsa" resource="XML"
+ disposableProviderFactory="true" ecorePackage="PapyrusDefault.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="PapyrusDefault.ecore#//Mode">
+ <genEnumLiterals ecoreEnumLiteral="PapyrusDefault.ecore#//Mode/batch"/>
+ <genEnumLiterals ecoreEnumLiteral="PapyrusDefault.ecore#//Mode/live"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="PapyrusDefault.ecore#//Severity">
+ <genEnumLiterals ecoreEnumLiteral="PapyrusDefault.ecore#//Severity/error"/>
+ <genEnumLiterals ecoreEnumLiteral="PapyrusDefault.ecore#//Severity/warning"/>
+ <genEnumLiterals ecoreEnumLiteral="PapyrusDefault.ecore#//Severity/info"/>
+ </genEnums>
+ <genClasses ecoreClass="PapyrusDefault.ecore#//Documentation">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusDefault.ecore#//Documentation/base_Comment"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusDefault.ecore#//URL">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusDefault.ecore#//URL/base_Comment"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusDefault.ecore#//URL/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusDefault.ecore#//URL/displayName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusDefault.ecore#//URL/icon"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusDefault.ecore#//Link"/>
+ <genClasses image="false" ecoreClass="PapyrusDefault.ecore#//AbstractConstraint">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusDefault.ecore#//AbstractConstraint/base_Constraint"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusDefault.ecore#//AbstractConstraint/evaluationMode"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusDefault.ecore#//AbstractConstraint/severity"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusDefault.ecore#//MetaConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusDefault.ecore#//MetaConstraint/message"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusDefault.ecore#//MarkingModel">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusDefault.ecore#//MarkingModel/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusDefault.ecore#//MarkingImport">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusDefault.ecore#//MarkingImport/base_ElementImport"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusProfileBase.ecore b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusProfileBase.ecore
new file mode 100644
index 00000000000..4fa8fc76e6e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusProfileBase.ecore
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="profilebase" nsURI="http://www.eclipse.org/papyrus/profile/profilebase"
+ nsPrefix="ProfileBase">
+ <eClassifiers xsi:type="ecore:EClass" name="ProfileConstraint" eSuperTypes="PapyrusDefault.ecore#//AbstractConstraint">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="messageKey" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusProfileBase.genmodel b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusProfileBase.genmodel
new file mode 100644
index 00000000000..0dfacc259cd
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusProfileBase.genmodel
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="/*****************************************************************************&#xD;&#xA; * Copyright (c) 2013, 2014 CEA LIST.&#xD;&#xA; *&#xD;&#xA; * All rights reserved. This program and the accompanying materials&#xD;&#xA; * are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; * which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; *&#xD;&#xA; * Contributors:&#xD;&#xA; * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation&#xD;&#xA; *****************************************************************************/"
+ modelDirectory="/org.eclipse.papyrus.migration.rsa/src-gen" editDirectory="/org.eclipse.papyrus.migration.rsa.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.migration.rsa.editor/src-gen" modelPluginID="org.eclipse.papyrus.migration.rsa"
+ modelName="PapyrusProfileBase" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ testsDirectory="/org.eclipse.papyrus.migration.rsa.tests/src-gen" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="6.0" copyrightFields="false" language="" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore PapyrusDefault.genmodel#//default ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>PapyrusProfileBase.ecore</foreignModel>
+ <genPackages prefix="ProfileBase" basePackage="org.eclipse.papyrus.migration.rsa"
+ resource="XML" disposableProviderFactory="true" ecorePackage="PapyrusProfileBase.ecore#/">
+ <genClasses ecoreClass="PapyrusProfileBase.ecore#//ProfileConstraint">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusProfileBase.ecore#//ProfileConstraint/messageKey"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusRT.ecore b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusRT.ecore
new file mode 100644
index 00000000000..fd0f7894848
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusRT.ecore
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="umlrt" nsURI="http://www.eclipse.org/papyrus/profile/umlrt"
+ nsPrefix="UMLRealTime">
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractEvent" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_CallEvent" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//CallEvent"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Capsule">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CapsulePart">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Coregion"/>
+ <eClassifiers xsi:type="ecore:EClass" name="InEvent" eSuperTypes="#//AbstractEvent"/>
+ <eClassifiers xsi:type="ecore:EClass" name="OutEvent" eSuperTypes="#//AbstractEvent"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Protocol">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Collaboration" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Collaboration"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ProtocolContainer">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RTConnector">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Connector" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RTHistorystate">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Pseudostate" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Pseudostate"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="historyKind" eType="#//HistoryKind"
+ defaultValueLiteral="Deep"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RTPort">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConjugate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isNotification" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPublish" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isWired" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="registration" eType="#//PortRegistrationType"
+ defaultValueLiteral="Automatic"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="registrationOverride" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RTRedefinableElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_RedefinableElement"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//RedefinableElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Trigger">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="PortRegistrationType">
+ <eLiterals name="Automatic" literal="Automatic"/>
+ <eLiterals name="Application" value="1"/>
+ <eLiterals name="Automatic (locked)" value="2" literal="Automatic (locked)"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="HistoryKind">
+ <eLiterals name="Deep"/>
+ <eLiterals name="Shallow" value="1"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusRT.genmodel b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusRT.genmodel
new file mode 100644
index 00000000000..e37d4247aec
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusRT.genmodel
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="/*****************************************************************************&#xD;&#xA; * Copyright (c) 2013, 2014 CEA LIST.&#xD;&#xA; *&#xD;&#xA; * All rights reserved. This program and the accompanying materials&#xD;&#xA; * are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; * which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; *&#xD;&#xA; * Contributors:&#xD;&#xA; * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation&#xD;&#xA; *****************************************************************************/"
+ modelDirectory="/org.eclipse.papyrus.migration.rsa/src-gen" editDirectory="/org.eclipse.papyrus.migration.rsa.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.migration.rsa.editor/src-gen" modelPluginID="org.eclipse.papyrus.migration.rsa"
+ modelName="PapyrusRT" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ testsDirectory="/org.eclipse.papyrus.migration.rsa.tests/src-gen" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="6.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>PapyrusRT.ecore</foreignModel>
+ <genPackages prefix="UMLRealTime" basePackage="org.eclipse.papyrus.migration.rsa"
+ resource="XML" disposableProviderFactory="true" ecorePackage="PapyrusRT.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="PapyrusRT.ecore#//PortRegistrationType">
+ <genEnumLiterals ecoreEnumLiteral="PapyrusRT.ecore#//PortRegistrationType/Automatic"/>
+ <genEnumLiterals ecoreEnumLiteral="PapyrusRT.ecore#//PortRegistrationType/Application"/>
+ <genEnumLiterals ecoreEnumLiteral="PapyrusRT.ecore#//PortRegistrationType/Automatic%20(locked)"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="PapyrusRT.ecore#//HistoryKind">
+ <genEnumLiterals ecoreEnumLiteral="PapyrusRT.ecore#//HistoryKind/Deep"/>
+ <genEnumLiterals ecoreEnumLiteral="PapyrusRT.ecore#//HistoryKind/Shallow"/>
+ </genEnums>
+ <genClasses image="false" ecoreClass="PapyrusRT.ecore#//AbstractEvent">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusRT.ecore#//AbstractEvent/base_CallEvent"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusRT.ecore#//Capsule">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusRT.ecore#//Capsule/base_Class"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusRT.ecore#//CapsulePart">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusRT.ecore#//CapsulePart/base_Property"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusRT.ecore#//Coregion"/>
+ <genClasses ecoreClass="PapyrusRT.ecore#//InEvent"/>
+ <genClasses ecoreClass="PapyrusRT.ecore#//OutEvent"/>
+ <genClasses ecoreClass="PapyrusRT.ecore#//Protocol">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusRT.ecore#//Protocol/base_Collaboration"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusRT.ecore#//ProtocolContainer">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusRT.ecore#//ProtocolContainer/base_Package"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusRT.ecore#//RTConnector">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusRT.ecore#//RTConnector/base_Connector"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusRT.ecore#//RTHistorystate">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusRT.ecore#//RTHistorystate/base_Pseudostate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusRT.ecore#//RTHistorystate/historyKind"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusRT.ecore#//RTPort">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusRT.ecore#//RTPort/base_Port"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusRT.ecore#//RTPort/isConjugate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusRT.ecore#//RTPort/isNotification"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusRT.ecore#//RTPort/isPublish"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusRT.ecore#//RTPort/isWired"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusRT.ecore#//RTPort/registration"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusRT.ecore#//RTPort/registrationOverride"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusRT.ecore#//RTRedefinableElement">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusRT.ecore#//RTRedefinableElement/base_RedefinableElement"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusRT.ecore#//Trigger">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference PapyrusRT.ecore#//Trigger/base_Operation"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusUMLNotation.ecore b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusUMLNotation.ecore
new file mode 100644
index 00000000000..20f46ba0af7
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusUMLNotation.ecore
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="umlnotation" nsURI="http://www.eclipse.org/papyrus/umlnotation"
+ nsPrefix="umlnotationext">
+ <eClassifiers xsi:type="ecore:EClass" name="UMLDiagram" eSuperTypes="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Diagram #//UMLView"/>
+ <eClassifiers xsi:type="ecore:EClass" name="UMLFrame" eSuperTypes="#//UMLShape"/>
+ <eClassifiers xsi:type="ecore:EClass" name="UMLShapeCompartment" eSuperTypes="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Compartment #//UMLView">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="verticalAlignment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UMLShape" eSuperTypes="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Shape #//UMLView"/>
+ <eClassifiers xsi:type="ecore:EClass" name="UMLConnector" eSuperTypes="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Connector http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FontStyle #//UMLView"/>
+ <eClassifiers xsi:type="ecore:EClass" name="UMLView" abstract="true" eSuperTypes="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="showStereotype" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="showListVisibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="None"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="showListSignature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="alignment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="showStereotypeAttributeCompartment"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UMLComponent" eSuperTypes="#//UMLShape">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="showWhitebox" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UMLClassifierShape" eSuperTypes="#//UMLShape">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="useClassifierShape" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusUMLNotation.genmodel b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusUMLNotation.genmodel
new file mode 100644
index 00000000000..46ddec7ea56
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/model/PapyrusUMLNotation.genmodel
@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="/*****************************************************************************&#xD;&#xA; * Copyright (c) 2013, 2014 CEA LIST.&#xD;&#xA; *&#xD;&#xA; * All rights reserved. This program and the accompanying materials&#xD;&#xA; * are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; * which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; *&#xD;&#xA; * Contributors:&#xD;&#xA; * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation&#xD;&#xA; *****************************************************************************/"
+ modelDirectory="/org.eclipse.papyrus.migration.rsa/src" modelPluginID="org.eclipse.papyrus.migration.rsa"
+ modelName="PapyrusUMLNotation" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ importOrganizing="true">
+ <foreignModel>PapyrusUMLNotation.ecore</foreignModel>
+ <genPackages prefix="PapyrusUMLNotation" basePackage="org.eclipse.papyrus.migration.rsa"
+ disposableProviderFactory="true" ecorePackage="PapyrusUMLNotation.ecore#/">
+ <genClasses ecoreClass="PapyrusUMLNotation.ecore#//UMLDiagram"/>
+ <genClasses ecoreClass="PapyrusUMLNotation.ecore#//UMLFrame"/>
+ <genClasses ecoreClass="PapyrusUMLNotation.ecore#//UMLShapeCompartment">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusUMLNotation.ecore#//UMLShapeCompartment/verticalAlignment"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusUMLNotation.ecore#//UMLShape"/>
+ <genClasses ecoreClass="PapyrusUMLNotation.ecore#//UMLConnector"/>
+ <genClasses image="false" ecoreClass="PapyrusUMLNotation.ecore#//UMLView">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusUMLNotation.ecore#//UMLView/showStereotype"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusUMLNotation.ecore#//UMLView/showListVisibility"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusUMLNotation.ecore#//UMLView/showListSignature"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusUMLNotation.ecore#//UMLView/alignment"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusUMLNotation.ecore#//UMLView/showStereotypeAttributeCompartment"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusUMLNotation.ecore#//UMLComponent">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusUMLNotation.ecore#//UMLComponent/showWhitebox"/>
+ </genClasses>
+ <genClasses ecoreClass="PapyrusUMLNotation.ecore#//UMLClassifierShape">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute PapyrusUMLNotation.ecore#//UMLClassifierShape/useClassifierShape"/>
+ </genClasses>
+ </genPackages>
+ <genPackages prefix="Notation" ecorePackage="http://www.eclipse.org/gmf/runtime/1.0.2/notation#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Sorting">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Sorting/None"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Sorting/Manual"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Sorting/Automatic"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Filtering">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Filtering/None"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Filtering/Manual"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Filtering/Automatic"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Routing">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Routing/Manual"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Routing/Rectilinear"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Routing/Tree"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Smoothness">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Smoothness/None"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Smoothness/Normal"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Smoothness/Less"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Smoothness/More"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//JumpLinkStatus">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//JumpLinkStatus/None"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//JumpLinkStatus/All"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//JumpLinkStatus/Below"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//JumpLinkStatus/Above"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//JumpLinkType">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//JumpLinkType/Semicircle"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//JumpLinkType/Square"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//JumpLinkType/Chamfered"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Alignment">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Alignment/Left"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Alignment/Right"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Alignment/Center"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Alignment/Top"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Alignment/Bottom"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SortingDirection">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SortingDirection/Ascending"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SortingDirection/Descending"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//MeasurementUnit">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//MeasurementUnit/Himetric"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//MeasurementUnit/Pixel"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//TextAlignment">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//TextAlignment/Left"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//TextAlignment/Right"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//TextAlignment/Center"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineType">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineType/Solid"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineType/Dash"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineType/Dot"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineType/DashDot"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineType/DashDotDot"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineType/Double"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ArrowType">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ArrowType/None"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ArrowType/OpenArrow"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ArrowType/SolidArrow"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//GradientStyle">
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//GradientStyle/Vertical"/>
+ <genEnumLiterals ecoreEnumLiteral="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//GradientStyle/Horizontal"/>
+ </genEnums>
+ <genDataTypes ecoreDataType="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RelativeBendpointList"/>
+ <genDataTypes ecoreDataType="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FilterKeyList"/>
+ <genDataTypes ecoreDataType="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SortKeyMap"/>
+ <genDataTypes ecoreDataType="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//GradientData"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/source"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/target"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/bendpoints"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/sourceAnchor"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/targetAnchor"/>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/createBendpoints">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/createBendpoints/eClass"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/createSourceAnchor">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/createSourceAnchor/eClass"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/createTargetAnchor">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Edge/createTargetAnchor/eClass"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Node">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Node/layoutConstraint"/>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Node/createLayoutConstraint">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Node/createLayoutConstraint/eClass"/>
+ </genOperations>
+ </genClasses>
+ <genClasses image="false" ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Style"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FillStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FillStyle/fillColor"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FillStyle/transparency"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FillStyle/gradient"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineStyle/lineColor"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineStyle/lineWidth"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FontStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FontStyle/fontColor"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FontStyle/fontName"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FontStyle/fontHeight"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FontStyle/bold"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FontStyle/italic"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FontStyle/underline"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FontStyle/strikeThrough"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//TitleStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//TitleStyle/showTitle"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SortingStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SortingStyle/sorting"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SortingStyle/sortingKeys"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SortingStyle/sortedObjects"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DescriptionStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DescriptionStyle/description"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LayoutConstraint"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Size">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Size/width"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Size/height"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Location">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Location/x"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Location/y"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Bounds"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Ratio">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Ratio/value"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Anchor"/>
+ <genClasses image="false" ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Bendpoints"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//IdentityAnchor">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//IdentityAnchor/id"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RoutingStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RoutingStyle/routing"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RoutingStyle/smoothness"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RoutingStyle/avoidObstructions"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RoutingStyle/closestDistance"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RoutingStyle/jumpLinkStatus"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RoutingStyle/jumpLinkType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RoutingStyle/jumpLinksReverse"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/visible"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/mutable"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/sourceEdges"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/targetEdges"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/children"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/styles"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/element"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/diagram"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/transientChildren"/>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/getStyle">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/getStyle/eClass"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/createChild">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/createChild/eClass"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/createStyle">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/createStyle/eClass"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/getNamedStyle">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/getNamedStyle/eClass"/>
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View/getNamedStyle/name"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RelativeBendpoints">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RelativeBendpoints/points"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Diagram">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Diagram/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Diagram/measurementUnit"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Diagram/edges"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Diagram/TransientEdges"/>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Diagram/createEdge">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Diagram/createEdge/eClass"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Image">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Image/data"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//CanonicalStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//CanonicalStyle/canonical"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ShapeStyle"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ConnectorStyle"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PageStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PageStyle/pageX"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PageStyle/pageY"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PageStyle/pageWidth"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PageStyle/pageHeight"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DrawerStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DrawerStyle/collapsed"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//GuideStyle">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//GuideStyle/horizontalGuides"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//GuideStyle/verticalGuides"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Guide">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Guide/position"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Guide/nodeMap"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//NodeEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//NodeEntry/value"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//NodeEntry/key"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FilteringStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FilteringStyle/filtering"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FilteringStyle/filteringKeys"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//FilteringStyle/filteredObjects"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DiagramStyle"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ImageStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ImageStyle/antiAlias"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ImageStyle/maintainAspectRatio"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ImageStyle/cropBound"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ImageBufferStyle">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ImageBufferStyle/imageBuffer"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/propertiesMap"/>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/getProperty">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/getProperty/propertyName"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/setProperty">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/setProperty/propertyName"/>
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/setProperty/newValue"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/createProperty">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/createProperty/propertyName"/>
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/createProperty/instanceType"/>
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/createProperty/initialValue"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/removeProperty">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/removeProperty/propertyName"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/hasProperty">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/hasProperty/propertyName"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/createProperty.1">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/createProperty.1/propertyName"/>
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertiesSetStyle/createProperty.1/initialValue"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringToPropertyValueMapEntry">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringToPropertyValueMapEntry/key"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringToPropertyValueMapEntry/value"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertyValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertyValue/rawValue"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertyValue/instanceType"/>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertyValue/getValue"/>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertyValue/setValue">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//PropertyValue/setValue/newValue"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SingleValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SingleValueStyle/rawValue"/>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SingleValueStyle/getValue"/>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SingleValueStyle/setValue">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SingleValueStyle/setValue/newValue"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ListValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ListValueStyle/rawValuesList"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//NamedStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//NamedStyle/name"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringObjectConverter">
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringObjectConverter/getStringFromObject">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringObjectConverter/getStringFromObject/objectValue"/>
+ </genOperations>
+ <genOperations ecoreOperation="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringObjectConverter/getObjectFromString">
+ <genParameters ecoreParameter="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringObjectConverter/getObjectFromString/stringValue"/>
+ </genOperations>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DataTypeStyle">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DataTypeStyle/instanceType"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//IntValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//IntValueStyle/intValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//IntListValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//IntListValueStyle/intListValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//BooleanValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//BooleanValueStyle/booleanValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DoubleValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DoubleValueStyle/doubleValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DoubleListValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DoubleListValueStyle/doubleListValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringValueStyle/stringValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringListValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StringListValueStyle/stringListValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//EObjectValueStyle">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//EObjectValueStyle/eObjectValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//EObjectListValueStyle">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//EObjectListValueStyle/eObjectListValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ByteArrayValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ByteArrayValueStyle/byteArrayValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//BooleanListValueStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//BooleanListValueStyle/booleanListValue"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//HintedDiagramLinkStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//HintedDiagramLinkStyle/hint"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DiagramLinkStyle">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DiagramLinkStyle/diagramLink"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//MultiDiagramLinkStyle">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference http://www.eclipse.org/gmf/runtime/1.0.2/notation#//MultiDiagramLinkStyle/diagramLinks"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//TextStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//TextStyle/textAlignment"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineTypeStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//LineTypeStyle/lineType"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ArrowStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ArrowStyle/arrowSource"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ArrowStyle/arrowTarget"/>
+ </genClasses>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Shape"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Compartment"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//ListCompartment"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//Connector"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//StandardDiagram"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//DecorationNode"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//BasicDecorationNode"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//BasicCompartment"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//BasicSemanticCompartment"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//SemanticListCompartment"/>
+ <genClasses ecoreClass="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RoundedCornersStyle">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute http://www.eclipse.org/gmf/runtime/1.0.2/notation#//RoundedCornersStyle/roundedBendpointsRadius"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.properties b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.properties
new file mode 100644
index 00000000000..941bc8ea969
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.properties
@@ -0,0 +1,11 @@
+#
+
+pluginName = RSA to Papyrus Import tool
+providerName = Eclipse Modeling Project
+
+_UI_UML_rsa_content_type = UML2 UML File (imported from RSA)
+_UI_UML_2_0_0_rsa_content_type = UML2 2.0.0 UML File (imported from RSA)
+_UI_UML_2_1_0_rsa_content_type = UML2 2.1.0 UML File (imported from RSA)
+_UI_UML_3_0_0_rsa_content_type = UML2 3.0.0 UML File (imported from RSA)
+_UI_UML_4_0_0_rsa_content_type = UML2 4.0.0 UML File (imported from RSA)
+_UI_UML_5_0_0_rsa_content_type = UML2 5.0.0 UML File (imported from RSA)
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.xml b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.xml
new file mode 100644
index 00000000000..dbcec458409
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/plugin.xml
@@ -0,0 +1,411 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ allPopups="false"
+ locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
+ <command
+ commandId="org.eclipse.papyrus.migration.rsa.import"
+ style="push">
+ <visibleWhen
+ checkEnabled="false">
+ <with
+ variable="selection">
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <adapt
+ type="org.eclipse.core.resources.IFile">
+ <or>
+ <test
+ property="org.eclipse.core.resources.extension"
+ value="emx">
+ </test>
+ <test
+ property="org.eclipse.core.resources.extension"
+ value="epx">
+ </test>
+ </or>
+ </adapt>
+ </iterate>
+ </with>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ defaultHandler="org.eclipse.papyrus.migration.rsa.handler.ImportHandler"
+ id="org.eclipse.papyrus.migration.rsa.import"
+ name="Import EMX model">
+ </command>
+ </extension>
+
+ <extension
+ point="org.eclipse.emf.ecore.content_parser">
+ <parser
+ class="org.eclipse.uml2.uml.internal.resource.UML22UMLResourceFactoryImpl"
+ contentTypeIdentifier="org.eclipse.uml2.uml_2_0_0.rsa">
+ </parser>
+ <parser
+ class="org.eclipse.uml2.uml.internal.resource.UML212UMLResourceFactoryImpl"
+ contentTypeIdentifier="org.eclipse.uml2.uml_2_1_0.rsa">
+ </parser>
+ <parser
+ class="org.eclipse.uml2.uml.internal.resource.UML302UMLResourceFactoryImpl"
+ contentTypeIdentifier="org.eclipse.uml2.uml_3_0_0.rsa">
+ </parser>
+ <parser
+ class="org.eclipse.uml2.uml.internal.resource.UML402UMLResourceFactoryImpl"
+ contentTypeIdentifier="org.eclipse.uml2.uml_4_0_0.rsa">
+ </parser>
+ <parser
+ class="org.eclipse.uml2.uml.internal.resource.UMLResourceFactoryImpl"
+ contentTypeIdentifier="org.eclipse.uml2.uml_5_0_0.rsa">
+ </parser>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated PapyrusRSANotation -->
+ <package
+ uri="http://www.eclipse.org/papyrus/umlnotation"
+ class="org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage"
+ genModel="model/PapyrusUMLNotation.genmodel"/>
+ <package
+ class="org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage"
+ genModel="model/PapyrusUMLNotation.genmodel"
+ uri="http://www.ibm.com/xtools/1.5.3/Umlnotation">
+ </package>
+ </extension>
+
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated PapyrusDefault -->
+ <package
+ uri="http://www.eclipse.org/papyrus/profile/default"
+ class="org.eclipse.papyrus.migration.rsa.default_.DefaultPackage"
+ genModel="model/PapyrusDefault.genmodel"/>
+ <package
+ class="org.eclipse.papyrus.migration.rsa.default_.DefaultPackage"
+ genModel="model/PapyrusDefault.genmodel"
+ uri="http:///schemas/Default/1">
+ </package>
+ <package
+ class="org.eclipse.papyrus.migration.rsa.default_.DefaultPackage"
+ genModel="model/PapyrusDefault.genmodel"
+ uri="http:///schemas/Default/_fNm3AAqoEd6-N_NOT9vsCA/2">
+ </package>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated PapyrusProfileBase -->
+ <package
+ uri="http://www.eclipse.org/papyrus/profile/profilebase"
+ class="org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage"
+ genModel="model/PapyrusProfileBase.genmodel"/>
+ <package
+ class="org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage"
+ genModel="model/PapyrusProfileBase.genmodel"
+ uri="http:///schemas/ProfileBase/1">
+ </package>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated PapyrusRT -->
+ <package
+ uri="http://www.eclipse.org/papyrus/profile/umlrt"
+ class="org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage"
+ genModel="model/PapyrusRT.genmodel"/>
+ <package
+ class="org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage"
+ genModel="model/PapyrusRT.genmodel"
+ uri="http:///schemas/UMLRealTime/_3TUzoHq6Ed2hSeAAWZznoA/119">
+ </package>
+ </extension>
+ <extension
+ point="org.eclipse.m2m.qvt.oml.javaBlackboxUnits">
+ <unit
+ description="Java helpers to refactor UML types"
+ name="RTMappings"
+ namespace="org.eclipse.papyrus.migration.rsa">
+ <library
+ class="org.eclipse.papyrus.migration.rsa.blackbox.RTMappings">
+ <metamodel
+ nsURI="http://www.eclipse.org/uml2/5.0.0/UML">
+ </metamodel>
+ </library>
+ </unit>
+ <unit
+ description="Java helpers to manipulate ProfileBase"
+ name="ProfileBaseHelper"
+ namespace="org.eclipse.papyrus.migration.rsa">
+ <library
+ class="org.eclipse.papyrus.migration.rsa.blackbox.ProfileBaseHelper">
+ <metamodel
+ nsURI="http://www.eclipse.org/papyrus/profile/profilebase">
+ </metamodel>
+ </library>
+ </unit>
+ </extension>
+ <extension
+ point="org.eclipse.team.core.fileTypes">
+ <fileTypes
+ extension="emx"
+ type="text">
+ </fileTypes>
+ <fileTypes
+ extension="epx"
+ type="text">
+ </fileTypes>
+ <fileTypes
+ extension="efx"
+ type="text">
+ </fileTypes>
+ </extension>
+ <extension
+ point="org.eclipse.core.contenttype.contentTypes">
+ <!--content-type
+ base-type="org.eclipse.emf.ecore.xmi"
+ file-extensions="emx,efx,epx,uml"
+ id="org.eclipse.uml2.uml"
+ name="%_UI_UML_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.papyrus.migration.rsa.contenttype.ExtendedXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespacePattern"
+ value="http://www\.eclipse\.org/uml2/(2\.0\.0|2\.1\.0|3\.0\.0|4\.0\.0|5\.0\.0)/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ <content-type
+ base-type="org.eclipse.uml2.uml"
+ file-extensions="emx,efx,epx,uml"
+ id="org.eclipse.uml2.uml_2_0_0"
+ name="%_UI_UML_2_0_0_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.papyrus.migration.rsa.contenttype.ExtendedXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespace"
+ value="http://www.eclipse.org/uml2/2.0.0/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ <content-type
+ base-type="org.eclipse.uml2.uml"
+ file-extensions="emx,efx,epx,uml"
+ id="org.eclipse.uml2.uml_2_1_0"
+ name="%_UI_UML_2_1_0_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.papyrus.migration.rsa.contenttype.ExtendedXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespace"
+ value="http://www.eclipse.org/uml2/2.1.0/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ <content-type
+ base-type="org.eclipse.uml2.uml"
+ file-extensions="emx,efx,epx,uml"
+ id="org.eclipse.uml2.uml_3_0_0"
+ name="%_UI_UML_3_0_0_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.papyrus.migration.rsa.contenttype.ExtendedXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespace"
+ value="http://www.eclipse.org/uml2/3.0.0/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ <content-type
+ base-type="org.eclipse.uml2.uml"
+ file-extensions="emx,efx,epx,uml"
+ id="org.eclipse.uml2.uml_4_0_0"
+ name="%_UI_UML_4_0_0_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.papyrus.migration.rsa.contenttype.ExtendedXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespace"
+ value="http://www.eclipse.org/uml2/4.0.0/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ <content-type
+ base-type="org.eclipse.uml2.uml"
+ file-extensions="emx,efx,epx,uml"
+ id="org.eclipse.uml2.uml_5_0_0"
+ name="%_UI_UML_5_0_0_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.papyrus.migration.rsa.contenttype.ExtendedXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespace"
+ value="http://www.eclipse.org/uml2/5.0.0/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type-->
+ <file-association
+ content-type="org.eclipse.uml2.uml.rsa"
+ file-extensions="epx,emx,efx">
+ </file-association>
+ <file-association
+ content-type="org.eclipse.uml2.uml_2_1_0.rsa"
+ file-extensions="epx,emx,efx">
+ </file-association>
+ <file-association
+ content-type="org.eclipse.uml2.uml_3_0_0.rsa"
+ file-extensions="epx,emx,efx">
+ </file-association>
+ <file-association
+ content-type="org.eclipse.uml2.uml_4_0_0.rsa"
+ file-extensions="epx,emx,efx">
+ </file-association>
+ <file-association
+ content-type="org.eclipse.uml2.uml_5_0_0.rsa"
+ file-extensions="epx,emx,efx">
+ </file-association>
+ </extension>
+ <extension
+ point="org.eclipse.core.contenttype.contentTypes">
+ <content-type
+ base-type="org.eclipse.uml2.uml"
+ file-extensions="epx,emx,efx"
+ id="org.eclipse.uml2.uml.rsa"
+ name="%_UI_UML_rsa_content_type"
+ priority="normal">
+ <describer
+ class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespacePattern"
+ value="http://www\.eclipse\.org/uml2/(2\.0\.0|2\.1\.0|3\.0\.0|4\.0\.0|5\.0\.0)/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ <content-type
+ base-type="org.eclipse.uml2.uml_2_0_0"
+ file-extensions="epx,emx,efx"
+ id="org.eclipse.uml2.uml_2_0_0.rsa"
+ name="%_UI_UML_2_0_0_rsa_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespace"
+ value="http://www.eclipse.org/uml2/2.0.0/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ <content-type
+ base-type="org.eclipse.uml2.uml_2_1_0"
+ file-extensions="epx,emx,efx"
+ id="org.eclipse.uml2.uml_2_1_0.rsa"
+ name="%_UI_UML_2_1_0_rsa_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespace"
+ value="http://www.eclipse.org/uml2/2.1.0/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ <content-type
+ base-type="org.eclipse.uml2.uml_3_0_0"
+ file-extensions="epx,emx,efx"
+ id="org.eclipse.uml2.uml_3_0_0.rsa"
+ name="%_UI_UML_3_0_0_rsa_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespace"
+ value="http://www.eclipse.org/uml2/3.0.0/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ <content-type
+ base-type="org.eclipse.uml2.uml_4_0_0"
+ file-extensions="epx,emx,efx"
+ id="org.eclipse.uml2.uml_4_0_0.rsa"
+ name="%_UI_UML_4_0_0_rsa_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespace"
+ value="http://www.eclipse.org/uml2/4.0.0/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ <content-type
+ base-type="org.eclipse.uml2.uml_5_0_0"
+ file-extensions="epx,emx,efx"
+ id="org.eclipse.uml2.uml_5_0_0.rsa"
+ name="%_UI_UML_5_0_0_rsa_content_type"
+ priority="high">
+ <describer
+ class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+ <parameter
+ name="namespace"
+ value="http://www.eclipse.org/uml2/5.0.0/UML">
+ </parameter>
+ <parameter
+ name="kind"
+ value="xmi">
+ </parameter>
+ </describer>
+ </content-type>
+ </extension>
+
+</plugin>
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/pom.xml b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/pom.xml
new file mode 100644
index 00000000000..170dd0d3e71
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.0.1-SNAPSHOT</version>
+ <relativePath>../../../releng/top-pom-extras.xml</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.migration.rsa</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.0.1-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/AbstractConstraint.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/AbstractConstraint.java
new file mode 100644
index 00000000000..56ded8a3f3e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/AbstractConstraint.java
@@ -0,0 +1,128 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Constraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getBase_Constraint <em>Base Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getEvaluationMode <em>Evaluation Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getSeverity <em>Severity</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getAbstractConstraint()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AbstractConstraint extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Constraint</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Constraint</em>' reference.
+ * @see #setBase_Constraint(Constraint)
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getAbstractConstraint_Base_Constraint()
+ * @model required="true"
+ * @generated
+ */
+ Constraint getBase_Constraint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getBase_Constraint <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Constraint</em>' reference.
+ * @see #getBase_Constraint()
+ * @generated
+ */
+ void setBase_Constraint(Constraint value);
+
+ /**
+ * Returns the value of the '<em><b>Evaluation Mode</b></em>' attribute.
+ * The default value is <code>"batch"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.migration.rsa.default_.Mode}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Evaluation Mode</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Evaluation Mode</em>' attribute.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Mode
+ * @see #setEvaluationMode(Mode)
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getAbstractConstraint_EvaluationMode()
+ * @model default="batch" required="true"
+ * @generated
+ */
+ Mode getEvaluationMode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getEvaluationMode <em>Evaluation Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Evaluation Mode</em>' attribute.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Mode
+ * @see #getEvaluationMode()
+ * @generated
+ */
+ void setEvaluationMode(Mode value);
+
+ /**
+ * Returns the value of the '<em><b>Severity</b></em>' attribute.
+ * The default value is <code>"error"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.migration.rsa.default_.Severity}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Severity</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Severity</em>' attribute.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Severity
+ * @see #setSeverity(Severity)
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getAbstractConstraint_Severity()
+ * @model default="error" required="true"
+ * @generated
+ */
+ Severity getSeverity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getSeverity <em>Severity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Severity</em>' attribute.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Severity
+ * @see #getSeverity()
+ * @generated
+ */
+ void setSeverity(Severity value);
+
+} // AbstractConstraint
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/DefaultFactory.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/DefaultFactory.java
new file mode 100644
index 00000000000..25311ebcaca
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/DefaultFactory.java
@@ -0,0 +1,105 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage
+ * @generated
+ */
+public interface DefaultFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ DefaultFactory eINSTANCE = org.eclipse.papyrus.migration.rsa.default_.impl.DefaultFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Documentation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Documentation</em>'.
+ * @generated
+ */
+ Documentation createDocumentation();
+
+ /**
+ * Returns a new object of class '<em>URL</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>URL</em>'.
+ * @generated
+ */
+ URL createURL();
+
+ /**
+ * Returns a new object of class '<em>Link</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Link</em>'.
+ * @generated
+ */
+ Link createLink();
+
+ /**
+ * Returns a new object of class '<em>Meta Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Meta Constraint</em>'.
+ * @generated
+ */
+ MetaConstraint createMetaConstraint();
+
+ /**
+ * Returns a new object of class '<em>Marking Model</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Marking Model</em>'.
+ * @generated
+ */
+ MarkingModel createMarkingModel();
+
+ /**
+ * Returns a new object of class '<em>Marking Import</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Marking Import</em>'.
+ * @generated
+ */
+ MarkingImport createMarkingImport();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ DefaultPackage getDefaultPackage();
+
+} // DefaultFactory
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/DefaultPackage.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/DefaultPackage.java
new file mode 100644
index 00000000000..de126e5126a
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/DefaultPackage.java
@@ -0,0 +1,950 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DefaultPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "default";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/profile/default";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "default";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ DefaultPackage eINSTANCE = org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.DocumentationImpl <em>Documentation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DocumentationImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getDocumentation()
+ * @generated
+ */
+ int DOCUMENTATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION__BASE_COMMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Documentation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Documentation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DOCUMENTATION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.URLImpl <em>URL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.URLImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getURL()
+ * @generated
+ */
+ int URL = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int URL__BASE_COMMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int URL__TYPE = 1;
+
+ /**
+ * The feature id for the '<em><b>Display Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int URL__DISPLAY_NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int URL__ICON = 3;
+
+ /**
+ * The number of structural features of the '<em>URL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int URL_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the '<em>URL</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int URL_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.LinkImpl <em>Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.LinkImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getLink()
+ * @generated
+ */
+ int LINK = 2;
+
+ /**
+ * The feature id for the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK__BASE_COMMENT = URL__BASE_COMMENT;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK__TYPE = URL__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Display Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK__DISPLAY_NAME = URL__DISPLAY_NAME;
+
+ /**
+ * The feature id for the '<em><b>Icon</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK__ICON = URL__ICON;
+
+ /**
+ * The number of structural features of the '<em>Link</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_FEATURE_COUNT = URL_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Link</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int LINK_OPERATION_COUNT = URL_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.AbstractConstraintImpl <em>Abstract Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.AbstractConstraintImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getAbstractConstraint()
+ * @generated
+ */
+ int ABSTRACT_CONSTRAINT = 3;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_CONSTRAINT__BASE_CONSTRAINT = 0;
+
+ /**
+ * The feature id for the '<em><b>Evaluation Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_CONSTRAINT__EVALUATION_MODE = 1;
+
+ /**
+ * The feature id for the '<em><b>Severity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_CONSTRAINT__SEVERITY = 2;
+
+ /**
+ * The number of structural features of the '<em>Abstract Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_CONSTRAINT_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Abstract Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_CONSTRAINT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.MetaConstraintImpl <em>Meta Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.MetaConstraintImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getMetaConstraint()
+ * @generated
+ */
+ int META_CONSTRAINT = 4;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int META_CONSTRAINT__BASE_CONSTRAINT = ABSTRACT_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Evaluation Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int META_CONSTRAINT__EVALUATION_MODE = ABSTRACT_CONSTRAINT__EVALUATION_MODE;
+
+ /**
+ * The feature id for the '<em><b>Severity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int META_CONSTRAINT__SEVERITY = ABSTRACT_CONSTRAINT__SEVERITY;
+
+ /**
+ * The feature id for the '<em><b>Message</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int META_CONSTRAINT__MESSAGE = ABSTRACT_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Meta Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int META_CONSTRAINT_FEATURE_COUNT = ABSTRACT_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Meta Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int META_CONSTRAINT_OPERATION_COUNT = ABSTRACT_CONSTRAINT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.MarkingModelImpl <em>Marking Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.MarkingModelImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getMarkingModel()
+ * @generated
+ */
+ int MARKING_MODEL = 5;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKING_MODEL__BASE_PACKAGE = 0;
+
+ /**
+ * The number of structural features of the '<em>Marking Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKING_MODEL_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Marking Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKING_MODEL_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.MarkingImportImpl <em>Marking Import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.MarkingImportImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getMarkingImport()
+ * @generated
+ */
+ int MARKING_IMPORT = 6;
+
+ /**
+ * The feature id for the '<em><b>Base Element Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKING_IMPORT__BASE_ELEMENT_IMPORT = 0;
+
+ /**
+ * The number of structural features of the '<em>Marking Import</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKING_IMPORT_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Marking Import</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int MARKING_IMPORT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.default_.Mode <em>Mode</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.Mode
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getMode()
+ * @generated
+ */
+ int MODE = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.default_.Severity <em>Severity</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.Severity
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getSeverity()
+ * @generated
+ */
+ int SEVERITY = 8;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.default_.Documentation <em>Documentation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Documentation</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Documentation
+ * @generated
+ */
+ EClass getDocumentation();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.default_.Documentation#getBase_Comment <em>Base Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Comment</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Documentation#getBase_Comment()
+ * @see #getDocumentation()
+ * @generated
+ */
+ EReference getDocumentation_Base_Comment();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.default_.URL <em>URL</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>URL</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.URL
+ * @generated
+ */
+ EClass getURL();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.default_.URL#getBase_Comment <em>Base Comment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Comment</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.URL#getBase_Comment()
+ * @see #getURL()
+ * @generated
+ */
+ EReference getURL_Base_Comment();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.default_.URL#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.URL#getType()
+ * @see #getURL()
+ * @generated
+ */
+ EAttribute getURL_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.default_.URL#getDisplayName <em>Display Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Display Name</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.URL#getDisplayName()
+ * @see #getURL()
+ * @generated
+ */
+ EAttribute getURL_DisplayName();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.default_.URL#getIcon <em>Icon</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Icon</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.URL#getIcon()
+ * @see #getURL()
+ * @generated
+ */
+ EAttribute getURL_Icon();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.default_.Link <em>Link</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Link</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Link
+ * @generated
+ */
+ EClass getLink();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint <em>Abstract Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Abstract Constraint</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint
+ * @generated
+ */
+ EClass getAbstractConstraint();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getBase_Constraint <em>Base Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Constraint</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getBase_Constraint()
+ * @see #getAbstractConstraint()
+ * @generated
+ */
+ EReference getAbstractConstraint_Base_Constraint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getEvaluationMode <em>Evaluation Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Evaluation Mode</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getEvaluationMode()
+ * @see #getAbstractConstraint()
+ * @generated
+ */
+ EAttribute getAbstractConstraint_EvaluationMode();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getSeverity <em>Severity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Severity</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint#getSeverity()
+ * @see #getAbstractConstraint()
+ * @generated
+ */
+ EAttribute getAbstractConstraint_Severity();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.default_.MetaConstraint <em>Meta Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Meta Constraint</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.MetaConstraint
+ * @generated
+ */
+ EClass getMetaConstraint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.default_.MetaConstraint#getMessage <em>Message</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Message</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.MetaConstraint#getMessage()
+ * @see #getMetaConstraint()
+ * @generated
+ */
+ EAttribute getMetaConstraint_Message();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.default_.MarkingModel <em>Marking Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Marking Model</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.MarkingModel
+ * @generated
+ */
+ EClass getMarkingModel();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.default_.MarkingModel#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.MarkingModel#getBase_Package()
+ * @see #getMarkingModel()
+ * @generated
+ */
+ EReference getMarkingModel_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.default_.MarkingImport <em>Marking Import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Marking Import</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.MarkingImport
+ * @generated
+ */
+ EClass getMarkingImport();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.default_.MarkingImport#getBase_ElementImport <em>Base Element Import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Element Import</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.MarkingImport#getBase_ElementImport()
+ * @see #getMarkingImport()
+ * @generated
+ */
+ EReference getMarkingImport_Base_ElementImport();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.migration.rsa.default_.Mode <em>Mode</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Mode</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Mode
+ * @generated
+ */
+ EEnum getMode();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.migration.rsa.default_.Severity <em>Severity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Severity</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Severity
+ * @generated
+ */
+ EEnum getSeverity();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ DefaultFactory getDefaultFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.DocumentationImpl <em>Documentation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DocumentationImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getDocumentation()
+ * @generated
+ */
+ EClass DOCUMENTATION = eINSTANCE.getDocumentation();
+
+ /**
+ * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference DOCUMENTATION__BASE_COMMENT = eINSTANCE.getDocumentation_Base_Comment();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.URLImpl <em>URL</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.URLImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getURL()
+ * @generated
+ */
+ EClass URL = eINSTANCE.getURL();
+
+ /**
+ * The meta object literal for the '<em><b>Base Comment</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference URL__BASE_COMMENT = eINSTANCE.getURL_Base_Comment();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute URL__TYPE = eINSTANCE.getURL_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Display Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute URL__DISPLAY_NAME = eINSTANCE.getURL_DisplayName();
+
+ /**
+ * The meta object literal for the '<em><b>Icon</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute URL__ICON = eINSTANCE.getURL_Icon();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.LinkImpl <em>Link</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.LinkImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getLink()
+ * @generated
+ */
+ EClass LINK = eINSTANCE.getLink();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.AbstractConstraintImpl <em>Abstract Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.AbstractConstraintImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getAbstractConstraint()
+ * @generated
+ */
+ EClass ABSTRACT_CONSTRAINT = eINSTANCE.getAbstractConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Base Constraint</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ABSTRACT_CONSTRAINT__BASE_CONSTRAINT = eINSTANCE.getAbstractConstraint_Base_Constraint();
+
+ /**
+ * The meta object literal for the '<em><b>Evaluation Mode</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ABSTRACT_CONSTRAINT__EVALUATION_MODE = eINSTANCE.getAbstractConstraint_EvaluationMode();
+
+ /**
+ * The meta object literal for the '<em><b>Severity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ABSTRACT_CONSTRAINT__SEVERITY = eINSTANCE.getAbstractConstraint_Severity();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.MetaConstraintImpl <em>Meta Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.MetaConstraintImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getMetaConstraint()
+ * @generated
+ */
+ EClass META_CONSTRAINT = eINSTANCE.getMetaConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Message</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute META_CONSTRAINT__MESSAGE = eINSTANCE.getMetaConstraint_Message();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.MarkingModelImpl <em>Marking Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.MarkingModelImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getMarkingModel()
+ * @generated
+ */
+ EClass MARKING_MODEL = eINSTANCE.getMarkingModel();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference MARKING_MODEL__BASE_PACKAGE = eINSTANCE.getMarkingModel_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.default_.impl.MarkingImportImpl <em>Marking Import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.MarkingImportImpl
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getMarkingImport()
+ * @generated
+ */
+ EClass MARKING_IMPORT = eINSTANCE.getMarkingImport();
+
+ /**
+ * The meta object literal for the '<em><b>Base Element Import</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference MARKING_IMPORT__BASE_ELEMENT_IMPORT = eINSTANCE.getMarkingImport_Base_ElementImport();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.default_.Mode <em>Mode</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.Mode
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getMode()
+ * @generated
+ */
+ EEnum MODE = eINSTANCE.getMode();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.default_.Severity <em>Severity</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.Severity
+ * @see org.eclipse.papyrus.migration.rsa.default_.impl.DefaultPackageImpl#getSeverity()
+ * @generated
+ */
+ EEnum SEVERITY = eINSTANCE.getSeverity();
+
+ }
+
+} // DefaultPackage
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Documentation.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Documentation.java
new file mode 100644
index 00000000000..f2a8fa2a3fe
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Documentation.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Documentation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.Documentation#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getDocumentation()
+ * @model
+ * @generated
+ */
+public interface Documentation extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Comment</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Comment</em>' reference.
+ * @see #setBase_Comment(Comment)
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getDocumentation_Base_Comment()
+ * @model required="true"
+ * @generated
+ */
+ Comment getBase_Comment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.Documentation#getBase_Comment <em>Base Comment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Comment</em>' reference.
+ * @see #getBase_Comment()
+ * @generated
+ */
+ void setBase_Comment(Comment value);
+
+} // Documentation
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Link.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Link.java
new file mode 100644
index 00000000000..c5c0dad836d
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Link.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Link</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getLink()
+ * @model
+ * @generated
+ */
+public interface Link extends URL {
+} // Link
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MarkingImport.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MarkingImport.java
new file mode 100644
index 00000000000..db642a3fa2b
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MarkingImport.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.ElementImport;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Marking Import</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.MarkingImport#getBase_ElementImport <em>Base Element Import</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getMarkingImport()
+ * @model
+ * @generated
+ */
+public interface MarkingImport extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Element Import</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Element Import</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Element Import</em>' reference.
+ * @see #setBase_ElementImport(ElementImport)
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getMarkingImport_Base_ElementImport()
+ * @model required="true"
+ * @generated
+ */
+ ElementImport getBase_ElementImport();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.MarkingImport#getBase_ElementImport <em>Base Element Import</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Element Import</em>' reference.
+ * @see #getBase_ElementImport()
+ * @generated
+ */
+ void setBase_ElementImport(ElementImport value);
+
+} // MarkingImport
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MarkingModel.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MarkingModel.java
new file mode 100644
index 00000000000..d9eaaa11926
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MarkingModel.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Marking Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.MarkingModel#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getMarkingModel()
+ * @model
+ * @generated
+ */
+public interface MarkingModel extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getMarkingModel_Base_Package()
+ * @model required="true"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.MarkingModel#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // MarkingModel
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MetaConstraint.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MetaConstraint.java
new file mode 100644
index 00000000000..4b327262913
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/MetaConstraint.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Meta Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.MetaConstraint#getMessage <em>Message</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getMetaConstraint()
+ * @model
+ * @generated
+ */
+public interface MetaConstraint extends AbstractConstraint {
+
+ /**
+ * Returns the value of the '<em><b>Message</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Message</em>' attribute.
+ * @see #setMessage(String)
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getMetaConstraint_Message()
+ * @model required="true"
+ * @generated
+ */
+ String getMessage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.MetaConstraint#getMessage <em>Message</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Message</em>' attribute.
+ * @see #getMessage()
+ * @generated
+ */
+ void setMessage(String value);
+} // MetaConstraint
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Mode.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Mode.java
new file mode 100644
index 00000000000..c9473082a9e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Mode.java
@@ -0,0 +1,238 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Mode</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getMode()
+ * @model
+ * @generated
+ */
+public enum Mode implements Enumerator {
+ /**
+ * The '<em><b>Batch</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #BATCH_VALUE
+ * @generated
+ * @ordered
+ */
+ BATCH(0, "batch", "batch"),
+
+ /**
+ * The '<em><b>Live</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #LIVE_VALUE
+ * @generated
+ * @ordered
+ */
+ LIVE(1, "live", "live");
+
+ /**
+ * The '<em><b>Batch</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Batch</b></em>' literal object isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #BATCH
+ * @model name="batch"
+ * @generated
+ * @ordered
+ */
+ public static final int BATCH_VALUE = 0;
+
+ /**
+ * The '<em><b>Live</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Live</b></em>' literal object isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #LIVE
+ * @model name="live"
+ * @generated
+ * @ordered
+ */
+ public static final int LIVE_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Mode</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final Mode[] VALUES_ARRAY =
+ new Mode[] {
+ BATCH,
+ LIVE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Mode</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<Mode> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Mode</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Mode get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Mode result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Mode</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Mode getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Mode result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Mode</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Mode get(int value) {
+ switch (value) {
+ case BATCH_VALUE:
+ return BATCH;
+ case LIVE_VALUE:
+ return LIVE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private Mode(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // Mode
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Severity.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Severity.java
new file mode 100644
index 00000000000..b937e543a39
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/Severity.java
@@ -0,0 +1,267 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Severity</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getSeverity()
+ * @model
+ * @generated
+ */
+public enum Severity implements Enumerator {
+ /**
+ * The '<em><b>Error</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #ERROR_VALUE
+ * @generated
+ * @ordered
+ */
+ ERROR(0, "error", "error"),
+
+ /**
+ * The '<em><b>Warning</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #WARNING_VALUE
+ * @generated
+ * @ordered
+ */
+ WARNING(1, "warning", "warning"),
+
+ /**
+ * The '<em><b>Info</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #INFO_VALUE
+ * @generated
+ * @ordered
+ */
+ INFO(2, "info", "info");
+
+ /**
+ * The '<em><b>Error</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Error</b></em>' literal object isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #ERROR
+ * @model name="error"
+ * @generated
+ * @ordered
+ */
+ public static final int ERROR_VALUE = 0;
+
+ /**
+ * The '<em><b>Warning</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Warning</b></em>' literal object isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #WARNING
+ * @model name="warning"
+ * @generated
+ * @ordered
+ */
+ public static final int WARNING_VALUE = 1;
+
+ /**
+ * The '<em><b>Info</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Info</b></em>' literal object isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #INFO
+ * @model name="info"
+ * @generated
+ * @ordered
+ */
+ public static final int INFO_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Severity</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final Severity[] VALUES_ARRAY =
+ new Severity[] {
+ ERROR,
+ WARNING,
+ INFO,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Severity</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<Severity> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Severity</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Severity get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Severity result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Severity</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Severity getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Severity result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Severity</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Severity get(int value) {
+ switch (value) {
+ case ERROR_VALUE:
+ return ERROR;
+ case WARNING_VALUE:
+ return WARNING;
+ case INFO_VALUE:
+ return INFO;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private Severity(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // Severity
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/URL.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/URL.java
new file mode 100644
index 00000000000..61614129909
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/URL.java
@@ -0,0 +1,149 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>URL</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.URL#getBase_Comment <em>Base Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.URL#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.URL#getDisplayName <em>Display Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.URL#getIcon <em>Icon</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getURL()
+ * @model
+ * @generated
+ */
+public interface URL extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Comment</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Comment</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Comment</em>' reference.
+ * @see #setBase_Comment(Comment)
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getURL_Base_Comment()
+ * @model required="true"
+ * @generated
+ */
+ Comment getBase_Comment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.URL#getBase_Comment <em>Base Comment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Comment</em>' reference.
+ * @see #getBase_Comment()
+ * @generated
+ */
+ void setBase_Comment(Comment value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getURL_Type()
+ * @model required="true"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.URL#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Display Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Display Name</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Display Name</em>' attribute.
+ * @see #setDisplayName(String)
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getURL_DisplayName()
+ * @model required="true"
+ * @generated
+ */
+ String getDisplayName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.URL#getDisplayName <em>Display Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Display Name</em>' attribute.
+ * @see #getDisplayName()
+ * @generated
+ */
+ void setDisplayName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Icon</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Icon</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Icon</em>' attribute.
+ * @see #setIcon(byte[])
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#getURL_Icon()
+ * @model required="true"
+ * @generated
+ */
+ byte[] getIcon();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.default_.URL#getIcon <em>Icon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Icon</em>' attribute.
+ * @see #getIcon()
+ * @generated
+ */
+ void setIcon(byte[] value);
+
+} // URL
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/AbstractConstraintImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/AbstractConstraintImpl.java
new file mode 100644
index 00000000000..99be2bffaf6
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/AbstractConstraintImpl.java
@@ -0,0 +1,320 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.Mode;
+import org.eclipse.papyrus.migration.rsa.default_.Severity;
+import org.eclipse.uml2.uml.Constraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.AbstractConstraintImpl#getBase_Constraint <em>Base Constraint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.AbstractConstraintImpl#getEvaluationMode <em>Evaluation Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.AbstractConstraintImpl#getSeverity <em>Severity</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AbstractConstraintImpl extends MinimalEObjectImpl.Container implements AbstractConstraint {
+ /**
+ * The cached value of the '{@link #getBase_Constraint() <em>Base Constraint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Constraint()
+ * @generated
+ * @ordered
+ */
+ protected Constraint base_Constraint;
+
+ /**
+ * The default value of the '{@link #getEvaluationMode() <em>Evaluation Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getEvaluationMode()
+ * @generated
+ * @ordered
+ */
+ protected static final Mode EVALUATION_MODE_EDEFAULT = Mode.BATCH;
+
+ /**
+ * The cached value of the '{@link #getEvaluationMode() <em>Evaluation Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getEvaluationMode()
+ * @generated
+ * @ordered
+ */
+ protected Mode evaluationMode = EVALUATION_MODE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSeverity() <em>Severity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getSeverity()
+ * @generated
+ * @ordered
+ */
+ protected static final Severity SEVERITY_EDEFAULT = Severity.ERROR;
+
+ /**
+ * The cached value of the '{@link #getSeverity() <em>Severity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getSeverity()
+ * @generated
+ * @ordered
+ */
+ protected Severity severity = SEVERITY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AbstractConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DefaultPackage.Literals.ABSTRACT_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Constraint getBase_Constraint() {
+ if (base_Constraint != null && base_Constraint.eIsProxy()) {
+ InternalEObject oldBase_Constraint = (InternalEObject) base_Constraint;
+ base_Constraint = (Constraint) eResolveProxy(oldBase_Constraint);
+ if (base_Constraint != oldBase_Constraint) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DefaultPackage.ABSTRACT_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+ }
+ }
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Constraint basicGetBase_Constraint() {
+ return base_Constraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Constraint(Constraint newBase_Constraint) {
+ Constraint oldBase_Constraint = base_Constraint;
+ base_Constraint = newBase_Constraint;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.ABSTRACT_CONSTRAINT__BASE_CONSTRAINT, oldBase_Constraint, base_Constraint));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Mode getEvaluationMode() {
+ return evaluationMode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setEvaluationMode(Mode newEvaluationMode) {
+ Mode oldEvaluationMode = evaluationMode;
+ evaluationMode = newEvaluationMode == null ? EVALUATION_MODE_EDEFAULT : newEvaluationMode;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.ABSTRACT_CONSTRAINT__EVALUATION_MODE, oldEvaluationMode, evaluationMode));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Severity getSeverity() {
+ return severity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setSeverity(Severity newSeverity) {
+ Severity oldSeverity = severity;
+ severity = newSeverity == null ? SEVERITY_EDEFAULT : newSeverity;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.ABSTRACT_CONSTRAINT__SEVERITY, oldSeverity, severity));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DefaultPackage.ABSTRACT_CONSTRAINT__BASE_CONSTRAINT:
+ if (resolve) {
+ return getBase_Constraint();
+ }
+ return basicGetBase_Constraint();
+ case DefaultPackage.ABSTRACT_CONSTRAINT__EVALUATION_MODE:
+ return getEvaluationMode();
+ case DefaultPackage.ABSTRACT_CONSTRAINT__SEVERITY:
+ return getSeverity();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DefaultPackage.ABSTRACT_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint) newValue);
+ return;
+ case DefaultPackage.ABSTRACT_CONSTRAINT__EVALUATION_MODE:
+ setEvaluationMode((Mode) newValue);
+ return;
+ case DefaultPackage.ABSTRACT_CONSTRAINT__SEVERITY:
+ setSeverity((Severity) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.ABSTRACT_CONSTRAINT__BASE_CONSTRAINT:
+ setBase_Constraint((Constraint) null);
+ return;
+ case DefaultPackage.ABSTRACT_CONSTRAINT__EVALUATION_MODE:
+ setEvaluationMode(EVALUATION_MODE_EDEFAULT);
+ return;
+ case DefaultPackage.ABSTRACT_CONSTRAINT__SEVERITY:
+ setSeverity(SEVERITY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.ABSTRACT_CONSTRAINT__BASE_CONSTRAINT:
+ return base_Constraint != null;
+ case DefaultPackage.ABSTRACT_CONSTRAINT__EVALUATION_MODE:
+ return evaluationMode != EVALUATION_MODE_EDEFAULT;
+ case DefaultPackage.ABSTRACT_CONSTRAINT__SEVERITY:
+ return severity != SEVERITY_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (evaluationMode: ");
+ result.append(evaluationMode);
+ result.append(", severity: ");
+ result.append(severity);
+ result.append(')');
+ return result.toString();
+ }
+
+} // AbstractConstraintImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DefaultFactoryImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DefaultFactoryImpl.java
new file mode 100644
index 00000000000..c2d388e7247
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DefaultFactoryImpl.java
@@ -0,0 +1,274 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultFactory;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.Documentation;
+import org.eclipse.papyrus.migration.rsa.default_.Link;
+import org.eclipse.papyrus.migration.rsa.default_.MarkingImport;
+import org.eclipse.papyrus.migration.rsa.default_.MarkingModel;
+import org.eclipse.papyrus.migration.rsa.default_.MetaConstraint;
+import org.eclipse.papyrus.migration.rsa.default_.Mode;
+import org.eclipse.papyrus.migration.rsa.default_.Severity;
+import org.eclipse.papyrus.migration.rsa.default_.URL;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DefaultFactoryImpl extends EFactoryImpl implements DefaultFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static DefaultFactory init() {
+ try {
+ DefaultFactory theDefaultFactory = (DefaultFactory) EPackage.Registry.INSTANCE.getEFactory(DefaultPackage.eNS_URI);
+ if (theDefaultFactory != null) {
+ return theDefaultFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new DefaultFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DefaultFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case DefaultPackage.DOCUMENTATION:
+ return createDocumentation();
+ case DefaultPackage.URL:
+ return createURL();
+ case DefaultPackage.LINK:
+ return createLink();
+ case DefaultPackage.META_CONSTRAINT:
+ return createMetaConstraint();
+ case DefaultPackage.MARKING_MODEL:
+ return createMarkingModel();
+ case DefaultPackage.MARKING_IMPORT:
+ return createMarkingImport();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case DefaultPackage.MODE:
+ return createModeFromString(eDataType, initialValue);
+ case DefaultPackage.SEVERITY:
+ return createSeverityFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case DefaultPackage.MODE:
+ return convertModeToString(eDataType, instanceValue);
+ case DefaultPackage.SEVERITY:
+ return convertSeverityToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Documentation createDocumentation() {
+ DocumentationImpl documentation = new DocumentationImpl();
+ return documentation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public URL createURL() {
+ URLImpl url = new URLImpl();
+ return url;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Link createLink() {
+ LinkImpl link = new LinkImpl();
+ return link;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public MetaConstraint createMetaConstraint() {
+ MetaConstraintImpl metaConstraint = new MetaConstraintImpl();
+ return metaConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public MarkingModel createMarkingModel() {
+ MarkingModelImpl markingModel = new MarkingModelImpl();
+ return markingModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public MarkingImport createMarkingImport() {
+ MarkingImportImpl markingImport = new MarkingImportImpl();
+ return markingImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Mode createModeFromString(EDataType eDataType, String initialValue) {
+ Mode result = Mode.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertModeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Severity createSeverityFromString(EDataType eDataType, String initialValue) {
+ Severity result = Severity.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertSeverityToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DefaultPackage getDefaultPackage() {
+ return (DefaultPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static DefaultPackage getPackage() {
+ return DefaultPackage.eINSTANCE;
+ }
+
+} // DefaultFactoryImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DefaultPackageImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DefaultPackageImpl.java
new file mode 100644
index 00000000000..76f49b343ac
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DefaultPackageImpl.java
@@ -0,0 +1,543 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultFactory;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.Documentation;
+import org.eclipse.papyrus.migration.rsa.default_.Link;
+import org.eclipse.papyrus.migration.rsa.default_.MarkingImport;
+import org.eclipse.papyrus.migration.rsa.default_.MarkingModel;
+import org.eclipse.papyrus.migration.rsa.default_.MetaConstraint;
+import org.eclipse.papyrus.migration.rsa.default_.Mode;
+import org.eclipse.papyrus.migration.rsa.default_.Severity;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DefaultPackageImpl extends EPackageImpl implements DefaultPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass documentationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass urlEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass linkEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass abstractConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass metaConstraintEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass markingModelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass markingImportEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum modeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum severityEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private DefaultPackageImpl() {
+ super(eNS_URI, DefaultFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link DefaultPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static DefaultPackage init() {
+ if (isInited) {
+ return (DefaultPackage) EPackage.Registry.INSTANCE.getEPackage(DefaultPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ DefaultPackageImpl theDefaultPackage = (DefaultPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DefaultPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DefaultPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theDefaultPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theDefaultPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theDefaultPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(DefaultPackage.eNS_URI, theDefaultPackage);
+ return theDefaultPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getDocumentation() {
+ return documentationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getDocumentation_Base_Comment() {
+ return (EReference) documentationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getURL() {
+ return urlEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getURL_Base_Comment() {
+ return (EReference) urlEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getURL_Type() {
+ return (EAttribute) urlEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getURL_DisplayName() {
+ return (EAttribute) urlEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getURL_Icon() {
+ return (EAttribute) urlEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getLink() {
+ return linkEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getAbstractConstraint() {
+ return abstractConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getAbstractConstraint_Base_Constraint() {
+ return (EReference) abstractConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getAbstractConstraint_EvaluationMode() {
+ return (EAttribute) abstractConstraintEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getAbstractConstraint_Severity() {
+ return (EAttribute) abstractConstraintEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getMetaConstraint() {
+ return metaConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getMetaConstraint_Message() {
+ return (EAttribute) metaConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getMarkingModel() {
+ return markingModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getMarkingModel_Base_Package() {
+ return (EReference) markingModelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getMarkingImport() {
+ return markingImportEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getMarkingImport_Base_ElementImport() {
+ return (EReference) markingImportEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getMode() {
+ return modeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getSeverity() {
+ return severityEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public DefaultFactory getDefaultFactory() {
+ return (DefaultFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ documentationEClass = createEClass(DOCUMENTATION);
+ createEReference(documentationEClass, DOCUMENTATION__BASE_COMMENT);
+
+ urlEClass = createEClass(URL);
+ createEReference(urlEClass, URL__BASE_COMMENT);
+ createEAttribute(urlEClass, URL__TYPE);
+ createEAttribute(urlEClass, URL__DISPLAY_NAME);
+ createEAttribute(urlEClass, URL__ICON);
+
+ linkEClass = createEClass(LINK);
+
+ abstractConstraintEClass = createEClass(ABSTRACT_CONSTRAINT);
+ createEReference(abstractConstraintEClass, ABSTRACT_CONSTRAINT__BASE_CONSTRAINT);
+ createEAttribute(abstractConstraintEClass, ABSTRACT_CONSTRAINT__EVALUATION_MODE);
+ createEAttribute(abstractConstraintEClass, ABSTRACT_CONSTRAINT__SEVERITY);
+
+ metaConstraintEClass = createEClass(META_CONSTRAINT);
+ createEAttribute(metaConstraintEClass, META_CONSTRAINT__MESSAGE);
+
+ markingModelEClass = createEClass(MARKING_MODEL);
+ createEReference(markingModelEClass, MARKING_MODEL__BASE_PACKAGE);
+
+ markingImportEClass = createEClass(MARKING_IMPORT);
+ createEReference(markingImportEClass, MARKING_IMPORT__BASE_ELEMENT_IMPORT);
+
+ // Create enums
+ modeEEnum = createEEnum(MODE);
+ severityEEnum = createEEnum(SEVERITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage) EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ linkEClass.getESuperTypes().add(this.getURL());
+ metaConstraintEClass.getESuperTypes().add(this.getAbstractConstraint());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(documentationEClass, Documentation.class, "Documentation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDocumentation_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, Documentation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(urlEClass, org.eclipse.papyrus.migration.rsa.default_.URL.class, "URL", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getURL_Base_Comment(), theUMLPackage.getComment(), null, "base_Comment", null, 1, 1, org.eclipse.papyrus.migration.rsa.default_.URL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getURL_Type(), theEcorePackage.getEString(), "type", null, 1, 1, org.eclipse.papyrus.migration.rsa.default_.URL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getURL_DisplayName(), theEcorePackage.getEString(), "displayName", null, 1, 1, org.eclipse.papyrus.migration.rsa.default_.URL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getURL_Icon(), theEcorePackage.getEByteArray(), "icon", null, 1, 1, org.eclipse.papyrus.migration.rsa.default_.URL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(linkEClass, Link.class, "Link", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(abstractConstraintEClass, AbstractConstraint.class, "AbstractConstraint", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAbstractConstraint_Base_Constraint(), theUMLPackage.getConstraint(), null, "base_Constraint", null, 1, 1, AbstractConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAbstractConstraint_EvaluationMode(), this.getMode(), "evaluationMode", "batch", 1, 1, AbstractConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAbstractConstraint_Severity(), this.getSeverity(), "severity", "error", 1, 1, AbstractConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(metaConstraintEClass, MetaConstraint.class, "MetaConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMetaConstraint_Message(), theEcorePackage.getEString(), "message", null, 1, 1, MetaConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(markingModelEClass, MarkingModel.class, "MarkingModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMarkingModel_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, MarkingModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(markingImportEClass, MarkingImport.class, "MarkingImport", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMarkingImport_Base_ElementImport(), theUMLPackage.getElementImport(), null, "base_ElementImport", null, 1, 1, MarkingImport.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
+ IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(modeEEnum, Mode.class, "Mode");
+ addEEnumLiteral(modeEEnum, Mode.BATCH);
+ addEEnumLiteral(modeEEnum, Mode.LIVE);
+
+ initEEnum(severityEEnum, Severity.class, "Severity");
+ addEEnumLiteral(severityEEnum, Severity.ERROR);
+ addEEnumLiteral(severityEEnum, Severity.WARNING);
+ addEEnumLiteral(severityEEnum, Severity.INFO);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // DefaultPackageImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DocumentationImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DocumentationImpl.java
new file mode 100644
index 00000000000..ee5e9c1853e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/DocumentationImpl.java
@@ -0,0 +1,179 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.Documentation;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Documentation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.DocumentationImpl#getBase_Comment <em>Base Comment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentationImpl extends MinimalEObjectImpl.Container implements Documentation {
+ /**
+ * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Comment()
+ * @generated
+ * @ordered
+ */
+ protected Comment base_Comment;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DocumentationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DefaultPackage.Literals.DOCUMENTATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Comment getBase_Comment() {
+ if (base_Comment != null && base_Comment.eIsProxy()) {
+ InternalEObject oldBase_Comment = (InternalEObject) base_Comment;
+ base_Comment = (Comment) eResolveProxy(oldBase_Comment);
+ if (base_Comment != oldBase_Comment) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DefaultPackage.DOCUMENTATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+ }
+ }
+ }
+ return base_Comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Comment basicGetBase_Comment() {
+ return base_Comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Comment(Comment newBase_Comment) {
+ Comment oldBase_Comment = base_Comment;
+ base_Comment = newBase_Comment;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.DOCUMENTATION__BASE_COMMENT, oldBase_Comment, base_Comment));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DefaultPackage.DOCUMENTATION__BASE_COMMENT:
+ if (resolve) {
+ return getBase_Comment();
+ }
+ return basicGetBase_Comment();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DefaultPackage.DOCUMENTATION__BASE_COMMENT:
+ setBase_Comment((Comment) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.DOCUMENTATION__BASE_COMMENT:
+ setBase_Comment((Comment) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.DOCUMENTATION__BASE_COMMENT:
+ return base_Comment != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // DocumentationImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/LinkImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/LinkImpl.java
new file mode 100644
index 00000000000..9da5da1571e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/LinkImpl.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.Link;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Link</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class LinkImpl extends URLImpl implements Link {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected LinkImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DefaultPackage.Literals.LINK;
+ }
+
+} // LinkImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MarkingImportImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MarkingImportImpl.java
new file mode 100644
index 00000000000..22c7663f839
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MarkingImportImpl.java
@@ -0,0 +1,179 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.MarkingImport;
+import org.eclipse.uml2.uml.ElementImport;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Marking Import</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.MarkingImportImpl#getBase_ElementImport <em>Base Element Import</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MarkingImportImpl extends MinimalEObjectImpl.Container implements MarkingImport {
+ /**
+ * The cached value of the '{@link #getBase_ElementImport() <em>Base Element Import</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_ElementImport()
+ * @generated
+ * @ordered
+ */
+ protected ElementImport base_ElementImport;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MarkingImportImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DefaultPackage.Literals.MARKING_IMPORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ElementImport getBase_ElementImport() {
+ if (base_ElementImport != null && base_ElementImport.eIsProxy()) {
+ InternalEObject oldBase_ElementImport = (InternalEObject) base_ElementImport;
+ base_ElementImport = (ElementImport) eResolveProxy(oldBase_ElementImport);
+ if (base_ElementImport != oldBase_ElementImport) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DefaultPackage.MARKING_IMPORT__BASE_ELEMENT_IMPORT, oldBase_ElementImport, base_ElementImport));
+ }
+ }
+ }
+ return base_ElementImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementImport basicGetBase_ElementImport() {
+ return base_ElementImport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_ElementImport(ElementImport newBase_ElementImport) {
+ ElementImport oldBase_ElementImport = base_ElementImport;
+ base_ElementImport = newBase_ElementImport;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.MARKING_IMPORT__BASE_ELEMENT_IMPORT, oldBase_ElementImport, base_ElementImport));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DefaultPackage.MARKING_IMPORT__BASE_ELEMENT_IMPORT:
+ if (resolve) {
+ return getBase_ElementImport();
+ }
+ return basicGetBase_ElementImport();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DefaultPackage.MARKING_IMPORT__BASE_ELEMENT_IMPORT:
+ setBase_ElementImport((ElementImport) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.MARKING_IMPORT__BASE_ELEMENT_IMPORT:
+ setBase_ElementImport((ElementImport) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.MARKING_IMPORT__BASE_ELEMENT_IMPORT:
+ return base_ElementImport != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // MarkingImportImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MarkingModelImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MarkingModelImpl.java
new file mode 100644
index 00000000000..b3008133347
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MarkingModelImpl.java
@@ -0,0 +1,178 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.MarkingModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Marking Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.MarkingModelImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MarkingModelImpl extends MinimalEObjectImpl.Container implements MarkingModel {
+ /**
+ * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Package()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Package base_Package;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MarkingModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DefaultPackage.Literals.MARKING_MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ if (base_Package != null && base_Package.eIsProxy()) {
+ InternalEObject oldBase_Package = (InternalEObject) base_Package;
+ base_Package = (org.eclipse.uml2.uml.Package) eResolveProxy(oldBase_Package);
+ if (base_Package != oldBase_Package) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DefaultPackage.MARKING_MODEL__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+ }
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+ base_Package = newBase_Package;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.MARKING_MODEL__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DefaultPackage.MARKING_MODEL__BASE_PACKAGE:
+ if (resolve) {
+ return getBase_Package();
+ }
+ return basicGetBase_Package();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DefaultPackage.MARKING_MODEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.MARKING_MODEL__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.MARKING_MODEL__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // MarkingModelImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MetaConstraintImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MetaConstraintImpl.java
new file mode 100644
index 00000000000..7aac6fd0c23
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/MetaConstraintImpl.java
@@ -0,0 +1,183 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.MetaConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Meta Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.MetaConstraintImpl#getMessage <em>Message</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MetaConstraintImpl extends AbstractConstraintImpl implements MetaConstraint {
+ /**
+ * The default value of the '{@link #getMessage() <em>Message</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getMessage()
+ * @generated
+ * @ordered
+ */
+ protected static final String MESSAGE_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getMessage() <em>Message</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getMessage()
+ * @generated
+ * @ordered
+ */
+ protected String message = MESSAGE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected MetaConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DefaultPackage.Literals.META_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setMessage(String newMessage) {
+ String oldMessage = message;
+ message = newMessage;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.META_CONSTRAINT__MESSAGE, oldMessage, message));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DefaultPackage.META_CONSTRAINT__MESSAGE:
+ return getMessage();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DefaultPackage.META_CONSTRAINT__MESSAGE:
+ setMessage((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.META_CONSTRAINT__MESSAGE:
+ setMessage(MESSAGE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.META_CONSTRAINT__MESSAGE:
+ return MESSAGE_EDEFAULT == null ? message != null : !MESSAGE_EDEFAULT.equals(message);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (message: ");
+ result.append(message);
+ result.append(')');
+ return result.toString();
+ }
+
+} // MetaConstraintImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/URLImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/URLImpl.java
new file mode 100644
index 00000000000..4b12554f6bc
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/impl/URLImpl.java
@@ -0,0 +1,379 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.URL;
+import org.eclipse.uml2.uml.Comment;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>URL</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.URLImpl#getBase_Comment <em>Base Comment</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.URLImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.URLImpl#getDisplayName <em>Display Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.default_.impl.URLImpl#getIcon <em>Icon</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class URLImpl extends MinimalEObjectImpl.Container implements URL {
+ /**
+ * The cached value of the '{@link #getBase_Comment() <em>Base Comment</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Comment()
+ * @generated
+ * @ordered
+ */
+ protected Comment base_Comment;
+
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDisplayName() <em>Display Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDisplayName()
+ * @generated
+ * @ordered
+ */
+ protected static final String DISPLAY_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDisplayName() <em>Display Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDisplayName()
+ * @generated
+ * @ordered
+ */
+ protected String displayName = DISPLAY_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIcon() <em>Icon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected static final byte[] ICON_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIcon() <em>Icon</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getIcon()
+ * @generated
+ * @ordered
+ */
+ protected byte[] icon = ICON_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected URLImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DefaultPackage.Literals.URL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Comment getBase_Comment() {
+ if (base_Comment != null && base_Comment.eIsProxy()) {
+ InternalEObject oldBase_Comment = (InternalEObject) base_Comment;
+ base_Comment = (Comment) eResolveProxy(oldBase_Comment);
+ if (base_Comment != oldBase_Comment) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DefaultPackage.URL__BASE_COMMENT, oldBase_Comment, base_Comment));
+ }
+ }
+ }
+ return base_Comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Comment basicGetBase_Comment() {
+ return base_Comment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Comment(Comment newBase_Comment) {
+ Comment oldBase_Comment = base_Comment;
+ base_Comment = newBase_Comment;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.URL__BASE_COMMENT, oldBase_Comment, base_Comment));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.URL__TYPE, oldType, type));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setDisplayName(String newDisplayName) {
+ String oldDisplayName = displayName;
+ displayName = newDisplayName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.URL__DISPLAY_NAME, oldDisplayName, displayName));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public byte[] getIcon() {
+ return icon;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIcon(byte[] newIcon) {
+ byte[] oldIcon = icon;
+ icon = newIcon;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DefaultPackage.URL__ICON, oldIcon, icon));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DefaultPackage.URL__BASE_COMMENT:
+ if (resolve) {
+ return getBase_Comment();
+ }
+ return basicGetBase_Comment();
+ case DefaultPackage.URL__TYPE:
+ return getType();
+ case DefaultPackage.URL__DISPLAY_NAME:
+ return getDisplayName();
+ case DefaultPackage.URL__ICON:
+ return getIcon();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DefaultPackage.URL__BASE_COMMENT:
+ setBase_Comment((Comment) newValue);
+ return;
+ case DefaultPackage.URL__TYPE:
+ setType((String) newValue);
+ return;
+ case DefaultPackage.URL__DISPLAY_NAME:
+ setDisplayName((String) newValue);
+ return;
+ case DefaultPackage.URL__ICON:
+ setIcon((byte[]) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.URL__BASE_COMMENT:
+ setBase_Comment((Comment) null);
+ return;
+ case DefaultPackage.URL__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case DefaultPackage.URL__DISPLAY_NAME:
+ setDisplayName(DISPLAY_NAME_EDEFAULT);
+ return;
+ case DefaultPackage.URL__ICON:
+ setIcon(ICON_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DefaultPackage.URL__BASE_COMMENT:
+ return base_Comment != null;
+ case DefaultPackage.URL__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case DefaultPackage.URL__DISPLAY_NAME:
+ return DISPLAY_NAME_EDEFAULT == null ? displayName != null : !DISPLAY_NAME_EDEFAULT.equals(displayName);
+ case DefaultPackage.URL__ICON:
+ return ICON_EDEFAULT == null ? icon != null : !ICON_EDEFAULT.equals(icon);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (type: ");
+ result.append(type);
+ result.append(", displayName: ");
+ result.append(displayName);
+ result.append(", icon: ");
+ result.append(icon);
+ result.append(')');
+ return result.toString();
+ }
+
+} // URLImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultAdapterFactory.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultAdapterFactory.java
new file mode 100644
index 00000000000..91b7811e141
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultAdapterFactory.java
@@ -0,0 +1,263 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.Documentation;
+import org.eclipse.papyrus.migration.rsa.default_.Link;
+import org.eclipse.papyrus.migration.rsa.default_.MarkingImport;
+import org.eclipse.papyrus.migration.rsa.default_.MarkingModel;
+import org.eclipse.papyrus.migration.rsa.default_.MetaConstraint;
+import org.eclipse.papyrus.migration.rsa.default_.URL;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage
+ * @generated
+ */
+public class DefaultAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DefaultPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DefaultAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = DefaultPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DefaultSwitch<Adapter> modelSwitch =
+ new DefaultSwitch<Adapter>() {
+ @Override
+ public Adapter caseDocumentation(Documentation object) {
+ return createDocumentationAdapter();
+ }
+
+ @Override
+ public Adapter caseURL(URL object) {
+ return createURLAdapter();
+ }
+
+ @Override
+ public Adapter caseLink(Link object) {
+ return createLinkAdapter();
+ }
+
+ @Override
+ public Adapter caseAbstractConstraint(AbstractConstraint object) {
+ return createAbstractConstraintAdapter();
+ }
+
+ @Override
+ public Adapter caseMetaConstraint(MetaConstraint object) {
+ return createMetaConstraintAdapter();
+ }
+
+ @Override
+ public Adapter caseMarkingModel(MarkingModel object) {
+ return createMarkingModelAdapter();
+ }
+
+ @Override
+ public Adapter caseMarkingImport(MarkingImport object) {
+ return createMarkingImportAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target
+ * the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.default_.Documentation <em>Documentation</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Documentation
+ * @generated
+ */
+ public Adapter createDocumentationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.default_.URL <em>URL</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.default_.URL
+ * @generated
+ */
+ public Adapter createURLAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.default_.Link <em>Link</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.default_.Link
+ * @generated
+ */
+ public Adapter createLinkAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint <em>Abstract Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint
+ * @generated
+ */
+ public Adapter createAbstractConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.default_.MetaConstraint <em>Meta Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.default_.MetaConstraint
+ * @generated
+ */
+ public Adapter createMetaConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.default_.MarkingModel <em>Marking Model</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.default_.MarkingModel
+ * @generated
+ */
+ public Adapter createMarkingModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.default_.MarkingImport <em>Marking Import</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.default_.MarkingImport
+ * @generated
+ */
+ public Adapter createMarkingImportAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // DefaultAdapterFactory
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultResourceFactoryImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultResourceFactoryImpl.java
new file mode 100644
index 00000000000..a8efb44fb5b
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.util.DefaultResourceImpl
+ * @generated
+ */
+public class DefaultResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DefaultResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new DefaultResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} // DefaultResourceFactoryImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultResourceImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultResourceImpl.java
new file mode 100644
index 00000000000..4432755b499
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.util.DefaultResourceFactoryImpl
+ * @generated
+ */
+public class DefaultResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param uri
+ * the URI of the new resource.
+ * @generated
+ */
+ public DefaultResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // DefaultResourceImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultSwitch.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultSwitch.java
new file mode 100644
index 00000000000..ae2c5c10279
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultSwitch.java
@@ -0,0 +1,291 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.default_.Documentation;
+import org.eclipse.papyrus.migration.rsa.default_.Link;
+import org.eclipse.papyrus.migration.rsa.default_.MarkingImport;
+import org.eclipse.papyrus.migration.rsa.default_.MarkingModel;
+import org.eclipse.papyrus.migration.rsa.default_.MetaConstraint;
+import org.eclipse.papyrus.migration.rsa.default_.URL;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.default_.DefaultPackage
+ * @generated
+ */
+public class DefaultSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static DefaultPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DefaultSwitch() {
+ if (modelPackage == null) {
+ modelPackage = DefaultPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case DefaultPackage.DOCUMENTATION: {
+ Documentation documentation = (Documentation) theEObject;
+ T result = caseDocumentation(documentation);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DefaultPackage.URL: {
+ URL url = (URL) theEObject;
+ T result = caseURL(url);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DefaultPackage.LINK: {
+ Link link = (Link) theEObject;
+ T result = caseLink(link);
+ if (result == null) {
+ result = caseURL(link);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DefaultPackage.ABSTRACT_CONSTRAINT: {
+ AbstractConstraint abstractConstraint = (AbstractConstraint) theEObject;
+ T result = caseAbstractConstraint(abstractConstraint);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DefaultPackage.META_CONSTRAINT: {
+ MetaConstraint metaConstraint = (MetaConstraint) theEObject;
+ T result = caseMetaConstraint(metaConstraint);
+ if (result == null) {
+ result = caseAbstractConstraint(metaConstraint);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DefaultPackage.MARKING_MODEL: {
+ MarkingModel markingModel = (MarkingModel) theEObject;
+ T result = caseMarkingModel(markingModel);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case DefaultPackage.MARKING_IMPORT: {
+ MarkingImport markingImport = (MarkingImport) theEObject;
+ T result = caseMarkingImport(markingImport);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Documentation</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Documentation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentation(Documentation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>URL</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>URL</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseURL(URL object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Link</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Link</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLink(Link object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractConstraint(AbstractConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Meta Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Meta Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMetaConstraint(MetaConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Marking Model</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Marking Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMarkingModel(MarkingModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Marking Import</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Marking Import</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMarkingImport(MarkingImport object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // DefaultSwitch
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultXMLProcessor.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultXMLProcessor.java
new file mode 100644
index 00000000000..5b9fa787cbb
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/default_/util/DefaultXMLProcessor.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.default_.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DefaultXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DefaultXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ DefaultPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the DefaultResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new DefaultResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new DefaultResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // DefaultXMLProcessor
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileBaseFactory.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileBaseFactory.java
new file mode 100644
index 00000000000..ac09c6fc641
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileBaseFactory.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage
+ * @generated
+ */
+public interface ProfileBaseFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ ProfileBaseFactory eINSTANCE = org.eclipse.papyrus.migration.rsa.profilebase.impl.ProfileBaseFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Profile Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Profile Constraint</em>'.
+ * @generated
+ */
+ ProfileConstraint createProfileConstraint();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ProfileBasePackage getProfileBasePackage();
+
+} // ProfileBaseFactory
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileBasePackage.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileBasePackage.java
new file mode 100644
index 00000000000..e54ab4d85c1
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileBasePackage.java
@@ -0,0 +1,215 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.ProfileBaseFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface ProfileBasePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "profilebase";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/profile/profilebase";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "ProfileBase";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ ProfileBasePackage eINSTANCE = org.eclipse.papyrus.migration.rsa.profilebase.impl.ProfileBasePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.profilebase.impl.ProfileConstraintImpl <em>Profile Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.impl.ProfileConstraintImpl
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.impl.ProfileBasePackageImpl#getProfileConstraint()
+ * @generated
+ */
+ int PROFILE_CONSTRAINT = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Constraint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONSTRAINT__BASE_CONSTRAINT = DefaultPackage.ABSTRACT_CONSTRAINT__BASE_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Evaluation Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONSTRAINT__EVALUATION_MODE = DefaultPackage.ABSTRACT_CONSTRAINT__EVALUATION_MODE;
+
+ /**
+ * The feature id for the '<em><b>Severity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONSTRAINT__SEVERITY = DefaultPackage.ABSTRACT_CONSTRAINT__SEVERITY;
+
+ /**
+ * The feature id for the '<em><b>Message Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONSTRAINT__MESSAGE_KEY = DefaultPackage.ABSTRACT_CONSTRAINT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Profile Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONSTRAINT_FEATURE_COUNT = DefaultPackage.ABSTRACT_CONSTRAINT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Profile Constraint</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONSTRAINT_OPERATION_COUNT = DefaultPackage.ABSTRACT_CONSTRAINT_OPERATION_COUNT + 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint <em>Profile Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Profile Constraint</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint
+ * @generated
+ */
+ EClass getProfileConstraint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint#getMessageKey <em>Message Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Message Key</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint#getMessageKey()
+ * @see #getProfileConstraint()
+ * @generated
+ */
+ EAttribute getProfileConstraint_MessageKey();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ProfileBaseFactory getProfileBaseFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.profilebase.impl.ProfileConstraintImpl <em>Profile Constraint</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.impl.ProfileConstraintImpl
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.impl.ProfileBasePackageImpl#getProfileConstraint()
+ * @generated
+ */
+ EClass PROFILE_CONSTRAINT = eINSTANCE.getProfileConstraint();
+
+ /**
+ * The meta object literal for the '<em><b>Message Key</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute PROFILE_CONSTRAINT__MESSAGE_KEY = eINSTANCE.getProfileConstraint_MessageKey();
+
+ }
+
+} // ProfileBasePackage
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileConstraint.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileConstraint.java
new file mode 100644
index 00000000000..e4b679e9636
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/ProfileConstraint.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase;
+
+import org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Profile Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint#getMessageKey <em>Message Key</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage#getProfileConstraint()
+ * @model
+ * @generated
+ */
+public interface ProfileConstraint extends AbstractConstraint {
+ /**
+ * Returns the value of the '<em><b>Message Key</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Key</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Message Key</em>' attribute.
+ * @see #setMessageKey(String)
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage#getProfileConstraint_MessageKey()
+ * @model required="true"
+ * @generated
+ */
+ String getMessageKey();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint#getMessageKey <em>Message Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Message Key</em>' attribute.
+ * @see #getMessageKey()
+ * @generated
+ */
+ void setMessageKey(String value);
+
+} // ProfileConstraint
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileBaseFactoryImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileBaseFactoryImpl.java
new file mode 100644
index 00000000000..6c976e7bb5c
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileBaseFactoryImpl.java
@@ -0,0 +1,112 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileBaseFactory;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ProfileBaseFactoryImpl extends EFactoryImpl implements ProfileBaseFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static ProfileBaseFactory init() {
+ try {
+ ProfileBaseFactory theProfileBaseFactory = (ProfileBaseFactory) EPackage.Registry.INSTANCE.getEFactory(ProfileBasePackage.eNS_URI);
+ if (theProfileBaseFactory != null) {
+ return theProfileBaseFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ProfileBaseFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ProfileBaseFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ProfileBasePackage.PROFILE_CONSTRAINT:
+ return createProfileConstraint();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ProfileConstraint createProfileConstraint() {
+ ProfileConstraintImpl profileConstraint = new ProfileConstraintImpl();
+ return profileConstraint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ProfileBasePackage getProfileBasePackage() {
+ return (ProfileBasePackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ProfileBasePackage getPackage() {
+ return ProfileBasePackage.eINSTANCE;
+ }
+
+} // ProfileBaseFactoryImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileBasePackageImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileBasePackageImpl.java
new file mode 100644
index 00000000000..8ec7b8c6abe
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileBasePackageImpl.java
@@ -0,0 +1,206 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.migration.rsa.default_.DefaultPackage;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileBaseFactory;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ProfileBasePackageImpl extends EPackageImpl implements ProfileBasePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass profileConstraintEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ProfileBasePackageImpl() {
+ super(eNS_URI, ProfileBaseFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link ProfileBasePackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ProfileBasePackage init() {
+ if (isInited) {
+ return (ProfileBasePackage) EPackage.Registry.INSTANCE.getEPackage(ProfileBasePackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ ProfileBasePackageImpl theProfileBasePackage = (ProfileBasePackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ProfileBasePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ProfileBasePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ DefaultPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theProfileBasePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theProfileBasePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theProfileBasePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ProfileBasePackage.eNS_URI, theProfileBasePackage);
+ return theProfileBasePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getProfileConstraint() {
+ return profileConstraintEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getProfileConstraint_MessageKey() {
+ return (EAttribute) profileConstraintEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ProfileBaseFactory getProfileBaseFactory() {
+ return (ProfileBaseFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ profileConstraintEClass = createEClass(PROFILE_CONSTRAINT);
+ createEAttribute(profileConstraintEClass, PROFILE_CONSTRAINT__MESSAGE_KEY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ DefaultPackage theDefaultPackage = (DefaultPackage) EPackage.Registry.INSTANCE.getEPackage(DefaultPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ profileConstraintEClass.getESuperTypes().add(theDefaultPackage.getAbstractConstraint());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(profileConstraintEClass, ProfileConstraint.class, "ProfileConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getProfileConstraint_MessageKey(), ecorePackage.getEString(), "messageKey", null, 1, 1, ProfileConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // ProfileBasePackageImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileConstraintImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileConstraintImpl.java
new file mode 100644
index 00000000000..dd1af3b4bc6
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/impl/ProfileConstraintImpl.java
@@ -0,0 +1,185 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.migration.rsa.default_.impl.AbstractConstraintImpl;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Profile Constraint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.profilebase.impl.ProfileConstraintImpl#getMessageKey <em>Message Key</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProfileConstraintImpl extends AbstractConstraintImpl implements ProfileConstraint {
+ /**
+ * The default value of the '{@link #getMessageKey() <em>Message Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getMessageKey()
+ * @generated
+ * @ordered
+ */
+ protected static final String MESSAGE_KEY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMessageKey() <em>Message Key</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getMessageKey()
+ * @generated
+ * @ordered
+ */
+ protected String messageKey = MESSAGE_KEY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ProfileConstraintImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ProfileBasePackage.Literals.PROFILE_CONSTRAINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getMessageKey() {
+ return messageKey;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setMessageKey(String newMessageKey) {
+ String oldMessageKey = messageKey;
+ messageKey = newMessageKey;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, ProfileBasePackage.PROFILE_CONSTRAINT__MESSAGE_KEY, oldMessageKey, messageKey));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ProfileBasePackage.PROFILE_CONSTRAINT__MESSAGE_KEY:
+ return getMessageKey();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ProfileBasePackage.PROFILE_CONSTRAINT__MESSAGE_KEY:
+ setMessageKey((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ProfileBasePackage.PROFILE_CONSTRAINT__MESSAGE_KEY:
+ setMessageKey(MESSAGE_KEY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ProfileBasePackage.PROFILE_CONSTRAINT__MESSAGE_KEY:
+ return MESSAGE_KEY_EDEFAULT == null ? messageKey != null : !MESSAGE_KEY_EDEFAULT.equals(messageKey);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (messageKey: ");
+ result.append(messageKey);
+ result.append(')');
+ return result.toString();
+ }
+
+} // ProfileConstraintImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseAdapterFactory.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseAdapterFactory.java
new file mode 100644
index 00000000000..112fb69673c
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseAdapterFactory.java
@@ -0,0 +1,158 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage
+ * @generated
+ */
+public class ProfileBaseAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static ProfileBasePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ProfileBaseAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ProfileBasePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ProfileBaseSwitch<Adapter> modelSwitch =
+ new ProfileBaseSwitch<Adapter>() {
+ @Override
+ public Adapter caseProfileConstraint(ProfileConstraint object) {
+ return createProfileConstraintAdapter();
+ }
+
+ @Override
+ public Adapter caseAbstractConstraint(AbstractConstraint object) {
+ return createAbstractConstraintAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target
+ * the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint <em>Profile Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint
+ * @generated
+ */
+ public Adapter createProfileConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint <em>Abstract Constraint</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint
+ * @generated
+ */
+ public Adapter createAbstractConstraintAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // ProfileBaseAdapterFactory
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseResourceFactoryImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseResourceFactoryImpl.java
new file mode 100644
index 00000000000..ef724e62d22
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.util.ProfileBaseResourceImpl
+ * @generated
+ */
+public class ProfileBaseResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ProfileBaseResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new ProfileBaseResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} // ProfileBaseResourceFactoryImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseResourceImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseResourceImpl.java
new file mode 100644
index 00000000000..8e9ed0f1c09
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.util.ProfileBaseResourceFactoryImpl
+ * @generated
+ */
+public class ProfileBaseResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param uri
+ * the URI of the new resource.
+ * @generated
+ */
+ public ProfileBaseResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // ProfileBaseResourceImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseSwitch.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseSwitch.java
new file mode 100644
index 00000000000..619161bd3ad
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseSwitch.java
@@ -0,0 +1,150 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.migration.rsa.default_.AbstractConstraint;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage
+ * @generated
+ */
+public class ProfileBaseSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static ProfileBasePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ProfileBaseSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ProfileBasePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ProfileBasePackage.PROFILE_CONSTRAINT: {
+ ProfileConstraint profileConstraint = (ProfileConstraint) theEObject;
+ T result = caseProfileConstraint(profileConstraint);
+ if (result == null) {
+ result = caseAbstractConstraint(profileConstraint);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Profile Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Profile Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProfileConstraint(ProfileConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Constraint</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Constraint</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractConstraint(AbstractConstraint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // ProfileBaseSwitch
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseXMLProcessor.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseXMLProcessor.java
new file mode 100644
index 00000000000..5a8e6c7b26b
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/profilebase/util/ProfileBaseXMLProcessor.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.profilebase.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileBasePackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ProfileBaseXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ProfileBaseXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ ProfileBasePackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the ProfileBaseResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new ProfileBaseResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new ProfileBaseResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // ProfileBaseXMLProcessor
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/PapyrusUMLNotationFactory.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/PapyrusUMLNotationFactory.java
new file mode 100644
index 00000000000..36bdbf0f704
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/PapyrusUMLNotationFactory.java
@@ -0,0 +1,116 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage
+ * @generated
+ */
+public interface PapyrusUMLNotationFactory extends EFactory {
+
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ PapyrusUMLNotationFactory eINSTANCE = org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>UML Diagram</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>UML Diagram</em>'.
+ * @generated
+ */
+ UMLDiagram createUMLDiagram();
+
+ /**
+ * Returns a new object of class '<em>UML Frame</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>UML Frame</em>'.
+ * @generated
+ */
+ UMLFrame createUMLFrame();
+
+ /**
+ * Returns a new object of class '<em>UML Shape Compartment</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>UML Shape Compartment</em>'.
+ * @generated
+ */
+ UMLShapeCompartment createUMLShapeCompartment();
+
+ /**
+ * Returns a new object of class '<em>UML Shape</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>UML Shape</em>'.
+ * @generated
+ */
+ UMLShape createUMLShape();
+
+ /**
+ * Returns a new object of class '<em>UML Connector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>UML Connector</em>'.
+ * @generated
+ */
+ UMLConnector createUMLConnector();
+
+ /**
+ * Returns a new object of class '<em>UML Component</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>UML Component</em>'.
+ * @generated
+ */
+ UMLComponent createUMLComponent();
+
+ /**
+ * Returns a new object of class '<em>UML Classifier Shape</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>UML Classifier Shape</em>'.
+ * @generated
+ */
+ UMLClassifierShape createUMLClassifierShape();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ PapyrusUMLNotationPackage getPapyrusRSANotationPackage();
+
+} // PapyrusUMLNotationFactory
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/PapyrusUMLNotationPackage.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/PapyrusUMLNotationPackage.java
new file mode 100644
index 00000000000..7ceff6c0b5a
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/PapyrusUMLNotationPackage.java
@@ -0,0 +1,2662 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface PapyrusUMLNotationPackage extends EPackage {
+
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "org.eclipse.papyrus.migration.rsa.umlnotation";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/umlnotation";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "umlNotationExtension";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ PapyrusUMLNotationPackage eINSTANCE = org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLDiagramImpl <em>UML Diagram</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLDiagramImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLDiagram()
+ * @generated
+ */
+ int UML_DIAGRAM = 0;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__EANNOTATIONS = NotationPackage.DIAGRAM__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__VISIBLE = NotationPackage.DIAGRAM__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__TYPE = NotationPackage.DIAGRAM__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__MUTABLE = NotationPackage.DIAGRAM__MUTABLE;
+
+ /**
+ * The feature id for the '<em><b>Source Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__SOURCE_EDGES = NotationPackage.DIAGRAM__SOURCE_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Target Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__TARGET_EDGES = NotationPackage.DIAGRAM__TARGET_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__PERSISTED_CHILDREN = NotationPackage.DIAGRAM__PERSISTED_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Styles</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__STYLES = NotationPackage.DIAGRAM__STYLES;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__ELEMENT = NotationPackage.DIAGRAM__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Diagram</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__DIAGRAM = NotationPackage.DIAGRAM__DIAGRAM;
+
+ /**
+ * The feature id for the '<em><b>Transient Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__TRANSIENT_CHILDREN = NotationPackage.DIAGRAM__TRANSIENT_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__NAME = NotationPackage.DIAGRAM__NAME;
+
+ /**
+ * The feature id for the '<em><b>Measurement Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__MEASUREMENT_UNIT = NotationPackage.DIAGRAM__MEASUREMENT_UNIT;
+
+ /**
+ * The feature id for the '<em><b>Edges</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int DIAGRAM__PERSISTED_EDGES = NotationPackage.DIAGRAM__PERSISTED_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Transient Edges</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__TRANSIENT_EDGES = NotationPackage.DIAGRAM__TRANSIENT_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Show Stereotype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__SHOW_STEREOTYPE = NotationPackage.DIAGRAM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Show List Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__SHOW_LIST_VISIBILITY = NotationPackage.DIAGRAM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Show List Signature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__SHOW_LIST_SIGNATURE = NotationPackage.DIAGRAM_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM__ALIGNMENT = NotationPackage.DIAGRAM_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>UML Diagram</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_DIAGRAM_FEATURE_COUNT = NotationPackage.DIAGRAM_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeImpl <em>UML Shape</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLShape()
+ * @generated
+ */
+ int UML_SHAPE = 3;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__EANNOTATIONS = NotationPackage.SHAPE__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__VISIBLE = NotationPackage.SHAPE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__TYPE = NotationPackage.SHAPE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__MUTABLE = NotationPackage.SHAPE__MUTABLE;
+
+ /**
+ * The feature id for the '<em><b>Source Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__SOURCE_EDGES = NotationPackage.SHAPE__SOURCE_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Target Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__TARGET_EDGES = NotationPackage.SHAPE__TARGET_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__PERSISTED_CHILDREN = NotationPackage.SHAPE__PERSISTED_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Styles</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__STYLES = NotationPackage.SHAPE__STYLES;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__ELEMENT = NotationPackage.SHAPE__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Diagram</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__DIAGRAM = NotationPackage.SHAPE__DIAGRAM;
+
+ /**
+ * The feature id for the '<em><b>Transient Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__TRANSIENT_CHILDREN = NotationPackage.SHAPE__TRANSIENT_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Layout Constraint</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__LAYOUT_CONSTRAINT = NotationPackage.SHAPE__LAYOUT_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Font Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__FONT_COLOR = NotationPackage.SHAPE__FONT_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Font Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__FONT_NAME = NotationPackage.SHAPE__FONT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Font Height</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__FONT_HEIGHT = NotationPackage.SHAPE__FONT_HEIGHT;
+
+ /**
+ * The feature id for the '<em><b>Bold</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__BOLD = NotationPackage.SHAPE__BOLD;
+
+ /**
+ * The feature id for the '<em><b>Italic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__ITALIC = NotationPackage.SHAPE__ITALIC;
+
+ /**
+ * The feature id for the '<em><b>Underline</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__UNDERLINE = NotationPackage.SHAPE__UNDERLINE;
+
+ /**
+ * The feature id for the '<em><b>Strike Through</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__STRIKE_THROUGH = NotationPackage.SHAPE__STRIKE_THROUGH;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__DESCRIPTION = NotationPackage.SHAPE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Fill Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__FILL_COLOR = NotationPackage.SHAPE__FILL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Transparency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__TRANSPARENCY = NotationPackage.SHAPE__TRANSPARENCY;
+
+ /**
+ * The feature id for the '<em><b>Gradient</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__GRADIENT = NotationPackage.SHAPE__GRADIENT;
+
+ /**
+ * The feature id for the '<em><b>Line Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__LINE_COLOR = NotationPackage.SHAPE__LINE_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Line Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__LINE_WIDTH = NotationPackage.SHAPE__LINE_WIDTH;
+
+ /**
+ * The feature id for the '<em><b>Rounded Bendpoints Radius</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__ROUNDED_BENDPOINTS_RADIUS = NotationPackage.SHAPE__ROUNDED_BENDPOINTS_RADIUS;
+
+ /**
+ * The feature id for the '<em><b>Show Stereotype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__SHOW_STEREOTYPE = NotationPackage.SHAPE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Show List Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__SHOW_LIST_VISIBILITY = NotationPackage.SHAPE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Show List Signature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__SHOW_LIST_SIGNATURE = NotationPackage.SHAPE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE__ALIGNMENT = NotationPackage.SHAPE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>UML Shape</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_FEATURE_COUNT = NotationPackage.SHAPE_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLFrameImpl <em>UML Frame</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLFrameImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLFrame()
+ * @generated
+ */
+ int UML_FRAME = 1;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__EANNOTATIONS = UML_SHAPE__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__VISIBLE = UML_SHAPE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__TYPE = UML_SHAPE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__MUTABLE = UML_SHAPE__MUTABLE;
+
+ /**
+ * The feature id for the '<em><b>Source Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__SOURCE_EDGES = UML_SHAPE__SOURCE_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Target Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__TARGET_EDGES = UML_SHAPE__TARGET_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__PERSISTED_CHILDREN = UML_SHAPE__PERSISTED_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Styles</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__STYLES = UML_SHAPE__STYLES;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__ELEMENT = UML_SHAPE__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Diagram</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__DIAGRAM = UML_SHAPE__DIAGRAM;
+
+ /**
+ * The feature id for the '<em><b>Transient Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__TRANSIENT_CHILDREN = UML_SHAPE__TRANSIENT_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Layout Constraint</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__LAYOUT_CONSTRAINT = UML_SHAPE__LAYOUT_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Font Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__FONT_COLOR = UML_SHAPE__FONT_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Font Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__FONT_NAME = UML_SHAPE__FONT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Font Height</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__FONT_HEIGHT = UML_SHAPE__FONT_HEIGHT;
+
+ /**
+ * The feature id for the '<em><b>Bold</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__BOLD = UML_SHAPE__BOLD;
+
+ /**
+ * The feature id for the '<em><b>Italic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__ITALIC = UML_SHAPE__ITALIC;
+
+ /**
+ * The feature id for the '<em><b>Underline</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__UNDERLINE = UML_SHAPE__UNDERLINE;
+
+ /**
+ * The feature id for the '<em><b>Strike Through</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__STRIKE_THROUGH = UML_SHAPE__STRIKE_THROUGH;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__DESCRIPTION = UML_SHAPE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Fill Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__FILL_COLOR = UML_SHAPE__FILL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Transparency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__TRANSPARENCY = UML_SHAPE__TRANSPARENCY;
+
+ /**
+ * The feature id for the '<em><b>Gradient</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__GRADIENT = UML_SHAPE__GRADIENT;
+
+ /**
+ * The feature id for the '<em><b>Line Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__LINE_COLOR = UML_SHAPE__LINE_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Line Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__LINE_WIDTH = UML_SHAPE__LINE_WIDTH;
+
+ /**
+ * The feature id for the '<em><b>Rounded Bendpoints Radius</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__ROUNDED_BENDPOINTS_RADIUS = UML_SHAPE__ROUNDED_BENDPOINTS_RADIUS;
+
+ /**
+ * The feature id for the '<em><b>Show Stereotype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__SHOW_STEREOTYPE = UML_SHAPE__SHOW_STEREOTYPE;
+
+ /**
+ * The feature id for the '<em><b>Show List Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__SHOW_LIST_VISIBILITY = UML_SHAPE__SHOW_LIST_VISIBILITY;
+
+ /**
+ * The feature id for the '<em><b>Show List Signature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__SHOW_LIST_SIGNATURE = UML_SHAPE__SHOW_LIST_SIGNATURE;
+
+ /**
+ * The feature id for the '<em><b>Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME__ALIGNMENT = UML_SHAPE__ALIGNMENT;
+
+ /**
+ * The number of structural features of the '<em>UML Frame</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_FRAME_FEATURE_COUNT = UML_SHAPE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeCompartmentImpl <em>UML Shape Compartment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeCompartmentImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLShapeCompartment()
+ * @generated
+ */
+ int UML_SHAPE_COMPARTMENT = 2;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__EANNOTATIONS = NotationPackage.COMPARTMENT__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__VISIBLE = NotationPackage.COMPARTMENT__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__TYPE = NotationPackage.COMPARTMENT__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__MUTABLE = NotationPackage.COMPARTMENT__MUTABLE;
+
+ /**
+ * The feature id for the '<em><b>Source Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__SOURCE_EDGES = NotationPackage.COMPARTMENT__SOURCE_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Target Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__TARGET_EDGES = NotationPackage.COMPARTMENT__TARGET_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__PERSISTED_CHILDREN = NotationPackage.COMPARTMENT__PERSISTED_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Styles</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__STYLES = NotationPackage.COMPARTMENT__STYLES;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__ELEMENT = NotationPackage.COMPARTMENT__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Diagram</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__DIAGRAM = NotationPackage.COMPARTMENT__DIAGRAM;
+
+ /**
+ * The feature id for the '<em><b>Transient Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__TRANSIENT_CHILDREN = NotationPackage.COMPARTMENT__TRANSIENT_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Layout Constraint</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__LAYOUT_CONSTRAINT = NotationPackage.COMPARTMENT__LAYOUT_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__COLLAPSED = NotationPackage.COMPARTMENT__COLLAPSED;
+
+ /**
+ * The feature id for the '<em><b>Canonical</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__CANONICAL = NotationPackage.COMPARTMENT__CANONICAL;
+
+ /**
+ * The feature id for the '<em><b>Show Title</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__SHOW_TITLE = NotationPackage.COMPARTMENT__SHOW_TITLE;
+
+ /**
+ * The feature id for the '<em><b>Show Stereotype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__SHOW_STEREOTYPE = NotationPackage.COMPARTMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Show List Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__SHOW_LIST_VISIBILITY = NotationPackage.COMPARTMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Show List Signature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__SHOW_LIST_SIGNATURE = NotationPackage.COMPARTMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT__ALIGNMENT = NotationPackage.COMPARTMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>UML Shape Compartment</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_SHAPE_COMPARTMENT_FEATURE_COUNT = NotationPackage.COMPARTMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl <em>UML Connector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLConnector()
+ * @generated
+ */
+ int UML_CONNECTOR = 4;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__EANNOTATIONS = NotationPackage.CONNECTOR__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__VISIBLE = NotationPackage.CONNECTOR__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__TYPE = NotationPackage.CONNECTOR__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__MUTABLE = NotationPackage.CONNECTOR__MUTABLE;
+
+ /**
+ * The feature id for the '<em><b>Source Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__SOURCE_EDGES = NotationPackage.CONNECTOR__SOURCE_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Target Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__TARGET_EDGES = NotationPackage.CONNECTOR__TARGET_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__PERSISTED_CHILDREN = NotationPackage.CONNECTOR__PERSISTED_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Styles</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__STYLES = NotationPackage.CONNECTOR__STYLES;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__ELEMENT = NotationPackage.CONNECTOR__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Diagram</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__DIAGRAM = NotationPackage.CONNECTOR__DIAGRAM;
+
+ /**
+ * The feature id for the '<em><b>Transient Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__TRANSIENT_CHILDREN = NotationPackage.CONNECTOR__TRANSIENT_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__SOURCE = NotationPackage.CONNECTOR__SOURCE;
+
+ /**
+ * The feature id for the '<em><b>Target</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__TARGET = NotationPackage.CONNECTOR__TARGET;
+
+ /**
+ * The feature id for the '<em><b>Bendpoints</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__BENDPOINTS = NotationPackage.CONNECTOR__BENDPOINTS;
+
+ /**
+ * The feature id for the '<em><b>Source Anchor</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__SOURCE_ANCHOR = NotationPackage.CONNECTOR__SOURCE_ANCHOR;
+
+ /**
+ * The feature id for the '<em><b>Target Anchor</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__TARGET_ANCHOR = NotationPackage.CONNECTOR__TARGET_ANCHOR;
+
+ /**
+ * The feature id for the '<em><b>Rounded Bendpoints Radius</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__ROUNDED_BENDPOINTS_RADIUS = NotationPackage.CONNECTOR__ROUNDED_BENDPOINTS_RADIUS;
+
+ /**
+ * The feature id for the '<em><b>Routing</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__ROUTING = NotationPackage.CONNECTOR__ROUTING;
+
+ /**
+ * The feature id for the '<em><b>Smoothness</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__SMOOTHNESS = NotationPackage.CONNECTOR__SMOOTHNESS;
+
+ /**
+ * The feature id for the '<em><b>Avoid Obstructions</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__AVOID_OBSTRUCTIONS = NotationPackage.CONNECTOR__AVOID_OBSTRUCTIONS;
+
+ /**
+ * The feature id for the '<em><b>Closest Distance</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__CLOSEST_DISTANCE = NotationPackage.CONNECTOR__CLOSEST_DISTANCE;
+
+ /**
+ * The feature id for the '<em><b>Jump Link Status</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__JUMP_LINK_STATUS = NotationPackage.CONNECTOR__JUMP_LINK_STATUS;
+
+ /**
+ * The feature id for the '<em><b>Jump Link Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__JUMP_LINK_TYPE = NotationPackage.CONNECTOR__JUMP_LINK_TYPE;
+
+ /**
+ * The feature id for the '<em><b>Jump Links Reverse</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__JUMP_LINKS_REVERSE = NotationPackage.CONNECTOR__JUMP_LINKS_REVERSE;
+
+ /**
+ * The feature id for the '<em><b>Line Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__LINE_COLOR = NotationPackage.CONNECTOR__LINE_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Line Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__LINE_WIDTH = NotationPackage.CONNECTOR__LINE_WIDTH;
+
+ /**
+ * The feature id for the '<em><b>Font Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__FONT_COLOR = NotationPackage.CONNECTOR_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Font Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__FONT_NAME = NotationPackage.CONNECTOR_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Font Height</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__FONT_HEIGHT = NotationPackage.CONNECTOR_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Bold</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__BOLD = NotationPackage.CONNECTOR_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Italic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__ITALIC = NotationPackage.CONNECTOR_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Underline</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__UNDERLINE = NotationPackage.CONNECTOR_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Strike Through</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__STRIKE_THROUGH = NotationPackage.CONNECTOR_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Show Stereotype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__SHOW_STEREOTYPE = NotationPackage.CONNECTOR_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Show List Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__SHOW_LIST_VISIBILITY = NotationPackage.CONNECTOR_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Show List Signature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__SHOW_LIST_SIGNATURE = NotationPackage.CONNECTOR_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR__ALIGNMENT = NotationPackage.CONNECTOR_FEATURE_COUNT + 10;
+
+ /**
+ * The number of structural features of the '<em>UML Connector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CONNECTOR_FEATURE_COUNT = NotationPackage.CONNECTOR_FEATURE_COUNT + 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLViewImpl <em>UML View</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLViewImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLView()
+ * @generated
+ */
+ int UML_VIEW = 5;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__EANNOTATIONS = NotationPackage.VIEW__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__VISIBLE = NotationPackage.VIEW__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__TYPE = NotationPackage.VIEW__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__MUTABLE = NotationPackage.VIEW__MUTABLE;
+
+ /**
+ * The feature id for the '<em><b>Source Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__SOURCE_EDGES = NotationPackage.VIEW__SOURCE_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Target Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__TARGET_EDGES = NotationPackage.VIEW__TARGET_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__PERSISTED_CHILDREN = NotationPackage.VIEW__PERSISTED_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Styles</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__STYLES = NotationPackage.VIEW__STYLES;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__ELEMENT = NotationPackage.VIEW__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Diagram</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__DIAGRAM = NotationPackage.VIEW__DIAGRAM;
+
+ /**
+ * The feature id for the '<em><b>Transient Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__TRANSIENT_CHILDREN = NotationPackage.VIEW__TRANSIENT_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Show Stereotype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__SHOW_STEREOTYPE = NotationPackage.VIEW_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Show List Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__SHOW_LIST_VISIBILITY = NotationPackage.VIEW_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Show List Signature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__SHOW_LIST_SIGNATURE = NotationPackage.VIEW_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW__ALIGNMENT = NotationPackage.VIEW_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>UML View</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_VIEW_FEATURE_COUNT = NotationPackage.VIEW_FEATURE_COUNT + 4;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLComponentImpl <em>UML Component</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLComponentImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLComponent()
+ * @generated
+ */
+ int UML_COMPONENT = 6;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__EANNOTATIONS = UML_SHAPE__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__VISIBLE = UML_SHAPE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__TYPE = UML_SHAPE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__MUTABLE = UML_SHAPE__MUTABLE;
+
+ /**
+ * The feature id for the '<em><b>Source Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__SOURCE_EDGES = UML_SHAPE__SOURCE_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Target Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__TARGET_EDGES = UML_SHAPE__TARGET_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__CHILDREN = UML_SHAPE__PERSISTED_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Styles</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__STYLES = UML_SHAPE__STYLES;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__ELEMENT = UML_SHAPE__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Diagram</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__DIAGRAM = UML_SHAPE__DIAGRAM;
+
+ /**
+ * The feature id for the '<em><b>Transient Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__TRANSIENT_CHILDREN = UML_SHAPE__TRANSIENT_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Layout Constraint</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__LAYOUT_CONSTRAINT = UML_SHAPE__LAYOUT_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Font Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__FONT_COLOR = UML_SHAPE__FONT_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Font Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__FONT_NAME = UML_SHAPE__FONT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Font Height</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__FONT_HEIGHT = UML_SHAPE__FONT_HEIGHT;
+
+ /**
+ * The feature id for the '<em><b>Bold</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__BOLD = UML_SHAPE__BOLD;
+
+ /**
+ * The feature id for the '<em><b>Italic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__ITALIC = UML_SHAPE__ITALIC;
+
+ /**
+ * The feature id for the '<em><b>Underline</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__UNDERLINE = UML_SHAPE__UNDERLINE;
+
+ /**
+ * The feature id for the '<em><b>Strike Through</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__STRIKE_THROUGH = UML_SHAPE__STRIKE_THROUGH;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__DESCRIPTION = UML_SHAPE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Fill Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__FILL_COLOR = UML_SHAPE__FILL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Transparency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__TRANSPARENCY = UML_SHAPE__TRANSPARENCY;
+
+ /**
+ * The feature id for the '<em><b>Gradient</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__GRADIENT = UML_SHAPE__GRADIENT;
+
+ /**
+ * The feature id for the '<em><b>Line Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__LINE_COLOR = UML_SHAPE__LINE_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Line Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__LINE_WIDTH = UML_SHAPE__LINE_WIDTH;
+
+ /**
+ * The feature id for the '<em><b>Rounded Bendpoints Radius</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__ROUNDED_BENDPOINTS_RADIUS = UML_SHAPE__ROUNDED_BENDPOINTS_RADIUS;
+
+ /**
+ * The feature id for the '<em><b>Show Stereotype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__SHOW_STEREOTYPE = UML_SHAPE__SHOW_STEREOTYPE;
+
+ /**
+ * The feature id for the '<em><b>Show List Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__SHOW_LIST_VISIBILITY = UML_SHAPE__SHOW_LIST_VISIBILITY;
+
+ /**
+ * The feature id for the '<em><b>Show List Signature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__SHOW_LIST_SIGNATURE = UML_SHAPE__SHOW_LIST_SIGNATURE;
+
+ /**
+ * The feature id for the '<em><b>Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT__ALIGNMENT = UML_SHAPE__ALIGNMENT;
+
+ /**
+ * The number of structural features of the '<em>UML Component</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_COMPONENT_FEATURE_COUNT = UML_SHAPE_FEATURE_COUNT + 0;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLClassifierShapeImpl <em>UML Classifier Shape</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLClassifierShapeImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLClassifierShape()
+ * @generated
+ */
+ int UML_CLASSIFIER_SHAPE = 7;
+
+ /**
+ * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__EANNOTATIONS = UML_SHAPE__EANNOTATIONS;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__VISIBLE = UML_SHAPE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__TYPE = UML_SHAPE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__MUTABLE = UML_SHAPE__MUTABLE;
+
+ /**
+ * The feature id for the '<em><b>Source Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__SOURCE_EDGES = UML_SHAPE__SOURCE_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Target Edges</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__TARGET_EDGES = UML_SHAPE__TARGET_EDGES;
+
+ /**
+ * The feature id for the '<em><b>Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__CHILDREN = UML_SHAPE__PERSISTED_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Styles</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__STYLES = UML_SHAPE__STYLES;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__ELEMENT = UML_SHAPE__ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Diagram</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__DIAGRAM = UML_SHAPE__DIAGRAM;
+
+ /**
+ * The feature id for the '<em><b>Transient Children</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__TRANSIENT_CHILDREN = UML_SHAPE__TRANSIENT_CHILDREN;
+
+ /**
+ * The feature id for the '<em><b>Layout Constraint</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__LAYOUT_CONSTRAINT = UML_SHAPE__LAYOUT_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Font Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__FONT_COLOR = UML_SHAPE__FONT_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Font Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__FONT_NAME = UML_SHAPE__FONT_NAME;
+
+ /**
+ * The feature id for the '<em><b>Font Height</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__FONT_HEIGHT = UML_SHAPE__FONT_HEIGHT;
+
+ /**
+ * The feature id for the '<em><b>Bold</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__BOLD = UML_SHAPE__BOLD;
+
+ /**
+ * The feature id for the '<em><b>Italic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__ITALIC = UML_SHAPE__ITALIC;
+
+ /**
+ * The feature id for the '<em><b>Underline</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__UNDERLINE = UML_SHAPE__UNDERLINE;
+
+ /**
+ * The feature id for the '<em><b>Strike Through</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__STRIKE_THROUGH = UML_SHAPE__STRIKE_THROUGH;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__DESCRIPTION = UML_SHAPE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Fill Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__FILL_COLOR = UML_SHAPE__FILL_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Transparency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__TRANSPARENCY = UML_SHAPE__TRANSPARENCY;
+
+ /**
+ * The feature id for the '<em><b>Gradient</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__GRADIENT = UML_SHAPE__GRADIENT;
+
+ /**
+ * The feature id for the '<em><b>Line Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__LINE_COLOR = UML_SHAPE__LINE_COLOR;
+
+ /**
+ * The feature id for the '<em><b>Line Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__LINE_WIDTH = UML_SHAPE__LINE_WIDTH;
+
+ /**
+ * The feature id for the '<em><b>Rounded Bendpoints Radius</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__ROUNDED_BENDPOINTS_RADIUS = UML_SHAPE__ROUNDED_BENDPOINTS_RADIUS;
+
+ /**
+ * The feature id for the '<em><b>Show Stereotype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__SHOW_STEREOTYPE = UML_SHAPE__SHOW_STEREOTYPE;
+
+ /**
+ * The feature id for the '<em><b>Show List Visibility</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__SHOW_LIST_VISIBILITY = UML_SHAPE__SHOW_LIST_VISIBILITY;
+
+ /**
+ * The feature id for the '<em><b>Show List Signature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__SHOW_LIST_SIGNATURE = UML_SHAPE__SHOW_LIST_SIGNATURE;
+
+ /**
+ * The feature id for the '<em><b>Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__ALIGNMENT = UML_SHAPE__ALIGNMENT;
+
+ /**
+ * The feature id for the '<em><b>Use Classifier Shape</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE__USE_CLASSIFIER_SHAPE = UML_SHAPE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>UML Classifier Shape</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int UML_CLASSIFIER_SHAPE_FEATURE_COUNT = UML_SHAPE_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLDiagram <em>UML Diagram</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>UML Diagram</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLDiagram
+ * @generated
+ */
+ EClass getUMLDiagram();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLFrame <em>UML Frame</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>UML Frame</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLFrame
+ * @generated
+ */
+ EClass getUMLFrame();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLShapeCompartment <em>UML Shape Compartment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>UML Shape Compartment</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLShapeCompartment
+ * @generated
+ */
+ EClass getUMLShapeCompartment();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLShape <em>UML Shape</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>UML Shape</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLShape
+ * @generated
+ */
+ EClass getUMLShape();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLConnector <em>UML Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>UML Connector</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLConnector
+ * @generated
+ */
+ EClass getUMLConnector();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView <em>UML View</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>UML View</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLView
+ * @generated
+ */
+ EClass getUMLView();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getShowStereotype <em>Show Stereotype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Show Stereotype</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getShowStereotype()
+ * @see #getUMLView()
+ * @generated
+ */
+ EAttribute getUMLView_ShowStereotype();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getShowListVisibility <em>Show List Visibility</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Show List Visibility</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getShowListVisibility()
+ * @see #getUMLView()
+ * @generated
+ */
+ EAttribute getUMLView_ShowListVisibility();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#isShowListSignature <em>Show List Signature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Show List Signature</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#isShowListSignature()
+ * @see #getUMLView()
+ * @generated
+ */
+ EAttribute getUMLView_ShowListSignature();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getAlignment <em>Alignment</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Alignment</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getAlignment()
+ * @see #getUMLView()
+ * @generated
+ */
+ EAttribute getUMLView_Alignment();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLComponent <em>UML Component</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>UML Component</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLComponent
+ * @generated
+ */
+ EClass getUMLComponent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape <em>UML Classifier Shape</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>UML Classifier Shape</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape
+ * @generated
+ */
+ EClass getUMLClassifierShape();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape#isUseClassifierShape <em>Use Classifier Shape</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Use Classifier Shape</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape#isUseClassifierShape()
+ * @see #getUMLClassifierShape()
+ * @generated
+ */
+ EAttribute getUMLClassifierShape_UseClassifierShape();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ PapyrusUMLNotationFactory getPapyrusRSANotationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLDiagramImpl <em>UML Diagram</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLDiagramImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLDiagram()
+ * @generated
+ */
+ EClass UML_DIAGRAM = eINSTANCE.getUMLDiagram();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLFrameImpl <em>UML Frame</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLFrameImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLFrame()
+ * @generated
+ */
+ EClass UML_FRAME = eINSTANCE.getUMLFrame();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeCompartmentImpl <em>UML Shape Compartment</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeCompartmentImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLShapeCompartment()
+ * @generated
+ */
+ EClass UML_SHAPE_COMPARTMENT = eINSTANCE.getUMLShapeCompartment();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeImpl <em>UML Shape</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLShape()
+ * @generated
+ */
+ EClass UML_SHAPE = eINSTANCE.getUMLShape();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl <em>UML Connector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLConnector()
+ * @generated
+ */
+ EClass UML_CONNECTOR = eINSTANCE.getUMLConnector();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLViewImpl <em>UML View</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLViewImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLView()
+ * @generated
+ */
+ EClass UML_VIEW = eINSTANCE.getUMLView();
+
+ /**
+ * The meta object literal for the '<em><b>Show Stereotype</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute UML_VIEW__SHOW_STEREOTYPE = eINSTANCE.getUMLView_ShowStereotype();
+
+ /**
+ * The meta object literal for the '<em><b>Show List Visibility</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute UML_VIEW__SHOW_LIST_VISIBILITY = eINSTANCE.getUMLView_ShowListVisibility();
+
+ /**
+ * The meta object literal for the '<em><b>Show List Signature</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute UML_VIEW__SHOW_LIST_SIGNATURE = eINSTANCE.getUMLView_ShowListSignature();
+
+ /**
+ * The meta object literal for the '<em><b>Alignment</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute UML_VIEW__ALIGNMENT = eINSTANCE.getUMLView_Alignment();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLComponentImpl <em>UML Component</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLComponentImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLComponent()
+ * @generated
+ */
+ EClass UML_COMPONENT = eINSTANCE.getUMLComponent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLClassifierShapeImpl <em>UML Classifier Shape</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLClassifierShapeImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.impl.PapyrusUMLNotationPackageImpl#getUMLClassifierShape()
+ * @generated
+ */
+ EClass UML_CLASSIFIER_SHAPE = eINSTANCE.getUMLClassifierShape();
+
+ /**
+ * The meta object literal for the '<em><b>Use Classifier Shape</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute UML_CLASSIFIER_SHAPE__USE_CLASSIFIER_SHAPE = eINSTANCE.getUMLClassifierShape_UseClassifierShape();
+
+ }
+
+} // PapyrusUMLNotationPackage
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLClassifierShape.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLClassifierShape.java
new file mode 100644
index 00000000000..3a1b6e94505
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLClassifierShape.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UML Classifier Shape</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape#isUseClassifierShape <em>Use Classifier Shape</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLClassifierShape()
+ * @model
+ * @generated
+ */
+public interface UMLClassifierShape extends UMLShape {
+ /**
+ * Returns the value of the '<em><b>Use Classifier Shape</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Use Classifier Shape</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Use Classifier Shape</em>' attribute.
+ * @see #setUseClassifierShape(boolean)
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLClassifierShape_UseClassifierShape()
+ * @model
+ * @generated
+ */
+ boolean isUseClassifierShape();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape#isUseClassifierShape <em>Use Classifier Shape</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Use Classifier Shape</em>' attribute.
+ * @see #isUseClassifierShape()
+ * @generated
+ */
+ void setUseClassifierShape(boolean value);
+
+} // UMLClassifierShape
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLComponent.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLComponent.java
new file mode 100644
index 00000000000..b840ce1e24e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLComponent.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UML Component</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLComponent()
+ * @model
+ * @generated
+ */
+public interface UMLComponent extends UMLShape {
+} // UMLComponent
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLConnector.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLConnector.java
new file mode 100644
index 00000000000..cea2694fe07
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLConnector.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation;
+
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UML Connector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLConnector()
+ * @model
+ * @generated
+ */
+public interface UMLConnector extends Connector, FontStyle, UMLView {
+} // UMLConnector
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLDiagram.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLDiagram.java
new file mode 100644
index 00000000000..24f78227331
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLDiagram.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UML Diagram</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLDiagram()
+ * @model
+ * @generated
+ */
+public interface UMLDiagram extends Diagram, UMLView {
+} // UMLDiagram
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLFrame.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLFrame.java
new file mode 100644
index 00000000000..d02b439e0bc
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLFrame.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UML Frame</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLFrame()
+ * @model
+ * @generated
+ */
+public interface UMLFrame extends UMLShape {
+} // UMLFrame
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLShape.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLShape.java
new file mode 100644
index 00000000000..b5aa8bb6ee3
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLShape.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation;
+
+import org.eclipse.gmf.runtime.notation.Shape;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UML Shape</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLShape()
+ * @model
+ * @generated
+ */
+public interface UMLShape extends Shape, UMLView {
+} // UMLShape
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLShapeCompartment.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLShapeCompartment.java
new file mode 100644
index 00000000000..cdc28486303
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLShapeCompartment.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation;
+
+import org.eclipse.gmf.runtime.notation.Compartment;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UML Shape Compartment</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLShapeCompartment()
+ * @model
+ * @generated
+ */
+public interface UMLShapeCompartment extends Compartment, UMLView {
+} // UMLShapeCompartment
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLView.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLView.java
new file mode 100644
index 00000000000..c0e56db7498
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/UMLView.java
@@ -0,0 +1,151 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.notation.View;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>UML View</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getShowStereotype <em>Show Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getShowListVisibility <em>Show List Visibility</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#isShowListSignature <em>Show List Signature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getAlignment <em>Alignment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLView()
+ * @model abstract="true"
+ * @generated
+ */
+public interface UMLView extends EObject, View {
+ /**
+ * Returns the value of the '<em><b>Show Stereotype</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Show Stereotype</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Show Stereotype</em>' attribute.
+ * @see #setShowStereotype(String)
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLView_ShowStereotype()
+ * @model
+ * @generated
+ */
+ String getShowStereotype();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getShowStereotype <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Show Stereotype</em>' attribute.
+ * @see #getShowStereotype()
+ * @generated
+ */
+ void setShowStereotype(String value);
+
+ /**
+ * Returns the value of the '<em><b>Show List Visibility</b></em>' attribute.
+ * The default value is <code>"None"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Show List Visibility</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Show List Visibility</em>' attribute.
+ * @see #setShowListVisibility(String)
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLView_ShowListVisibility()
+ * @model default="None"
+ * @generated
+ */
+ String getShowListVisibility();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getShowListVisibility <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Show List Visibility</em>' attribute.
+ * @see #getShowListVisibility()
+ * @generated
+ */
+ void setShowListVisibility(String value);
+
+ /**
+ * Returns the value of the '<em><b>Show List Signature</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Show List Signature</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Show List Signature</em>' attribute.
+ * @see #setShowListSignature(boolean)
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLView_ShowListSignature()
+ * @model default="true"
+ * @generated
+ */
+ boolean isShowListSignature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#isShowListSignature <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Show List Signature</em>' attribute.
+ * @see #isShowListSignature()
+ * @generated
+ */
+ void setShowListSignature(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Alignment</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Alignment</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Alignment</em>' attribute.
+ * @see #setAlignment(String)
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#getUMLView_Alignment()
+ * @model
+ * @generated
+ */
+ String getAlignment();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView#getAlignment <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Alignment</em>' attribute.
+ * @see #getAlignment()
+ * @generated
+ */
+ void setAlignment(String value);
+
+} // UMLView
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/PapyrusUMLNotationFactoryImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/PapyrusUMLNotationFactoryImpl.java
new file mode 100644
index 00000000000..464000cd80a
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/PapyrusUMLNotationFactoryImpl.java
@@ -0,0 +1,202 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationFactory;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLComponent;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLConnector;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLDiagram;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLFrame;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLShape;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLShapeCompartment;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PapyrusUMLNotationFactoryImpl extends EFactoryImpl implements PapyrusUMLNotationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static PapyrusUMLNotationFactory init() {
+ try {
+ PapyrusUMLNotationFactory thePapyrusRSANotationFactory = (PapyrusUMLNotationFactory) EPackage.Registry.INSTANCE.getEFactory(PapyrusUMLNotationPackage.eNS_URI);
+ if (thePapyrusRSANotationFactory != null) {
+ return thePapyrusRSANotationFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new PapyrusUMLNotationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PapyrusUMLNotationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case PapyrusUMLNotationPackage.UML_DIAGRAM:
+ return createUMLDiagram();
+ case PapyrusUMLNotationPackage.UML_FRAME:
+ return createUMLFrame();
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT:
+ return createUMLShapeCompartment();
+ case PapyrusUMLNotationPackage.UML_SHAPE:
+ return createUMLShape();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR:
+ return createUMLConnector();
+ case PapyrusUMLNotationPackage.UML_COMPONENT:
+ return createUMLComponent();
+ case PapyrusUMLNotationPackage.UML_CLASSIFIER_SHAPE:
+ return createUMLClassifierShape();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public UMLDiagram createUMLDiagram() {
+ UMLDiagramImpl umlDiagram = new UMLDiagramImpl();
+ return umlDiagram;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public UMLFrame createUMLFrame() {
+ UMLFrameImpl umlFrame = new UMLFrameImpl();
+ return umlFrame;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public UMLShapeCompartment createUMLShapeCompartment() {
+ UMLShapeCompartmentImpl umlShapeCompartment = new UMLShapeCompartmentImpl();
+ return umlShapeCompartment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public UMLShape createUMLShape() {
+ UMLShapeImpl umlShape = new UMLShapeImpl();
+ return umlShape;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public UMLConnector createUMLConnector() {
+ UMLConnectorImpl umlConnector = new UMLConnectorImpl();
+ return umlConnector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public UMLComponent createUMLComponent() {
+ UMLComponentImpl umlComponent = new UMLComponentImpl();
+ return umlComponent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public UMLClassifierShape createUMLClassifierShape() {
+ UMLClassifierShapeImpl umlClassifierShape = new UMLClassifierShapeImpl();
+ return umlClassifierShape;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public PapyrusUMLNotationPackage getPapyrusRSANotationPackage() {
+ return (PapyrusUMLNotationPackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static PapyrusUMLNotationPackage getPackage() {
+ return PapyrusUMLNotationPackage.eINSTANCE;
+ }
+
+} // PapyrusUMLNotationFactoryImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/PapyrusUMLNotationPackageImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/PapyrusUMLNotationPackageImpl.java
new file mode 100644
index 00000000000..24707078c65
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/PapyrusUMLNotationPackageImpl.java
@@ -0,0 +1,446 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.impl.NotationPackageImpl;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationFactory;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLComponent;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLConnector;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLDiagram;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLFrame;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLShape;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLShapeCompartment;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PapyrusUMLNotationPackageImpl extends EPackageImpl implements PapyrusUMLNotationPackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass umlDiagramEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass umlFrameEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass umlShapeCompartmentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass umlShapeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass umlConnectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass umlViewEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass umlComponentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass umlClassifierShapeEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+ * package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private PapyrusUMLNotationPackageImpl() {
+ super(eNS_URI, PapyrusUMLNotationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link PapyrusUMLNotationPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static PapyrusUMLNotationPackage init() {
+ if (isInited) {
+ return (PapyrusUMLNotationPackage) EPackage.Registry.INSTANCE.getEPackage(PapyrusUMLNotationPackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ PapyrusUMLNotationPackageImpl thePapyrusRSANotationPackage = (PapyrusUMLNotationPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof PapyrusUMLNotationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
+ : new PapyrusUMLNotationPackageImpl());
+
+ isInited = true;
+
+ // Obtain or create and register interdependencies
+ NotationPackageImpl theNotationPackage = (NotationPackageImpl) (EPackage.Registry.INSTANCE.getEPackage(NotationPackage.eNS_URI) instanceof NotationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NotationPackage.eNS_URI)
+ : NotationPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ thePapyrusRSANotationPackage.createPackageContents();
+ theNotationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ thePapyrusRSANotationPackage.initializePackageContents();
+ theNotationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ thePapyrusRSANotationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(PapyrusUMLNotationPackage.eNS_URI, thePapyrusRSANotationPackage);
+ return thePapyrusRSANotationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getUMLDiagram() {
+ return umlDiagramEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getUMLFrame() {
+ return umlFrameEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getUMLShapeCompartment() {
+ return umlShapeCompartmentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getUMLShape() {
+ return umlShapeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getUMLConnector() {
+ return umlConnectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getUMLView() {
+ return umlViewEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getUMLView_ShowStereotype() {
+ return (EAttribute) umlViewEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getUMLView_ShowListVisibility() {
+ return (EAttribute) umlViewEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getUMLView_ShowListSignature() {
+ return (EAttribute) umlViewEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getUMLView_Alignment() {
+ return (EAttribute) umlViewEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getUMLComponent() {
+ return umlComponentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getUMLClassifierShape() {
+ return umlClassifierShapeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getUMLClassifierShape_UseClassifierShape() {
+ return (EAttribute) umlClassifierShapeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public PapyrusUMLNotationFactory getPapyrusRSANotationFactory() {
+ return (PapyrusUMLNotationFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ umlDiagramEClass = createEClass(UML_DIAGRAM);
+
+ umlFrameEClass = createEClass(UML_FRAME);
+
+ umlShapeCompartmentEClass = createEClass(UML_SHAPE_COMPARTMENT);
+
+ umlShapeEClass = createEClass(UML_SHAPE);
+
+ umlConnectorEClass = createEClass(UML_CONNECTOR);
+
+ umlViewEClass = createEClass(UML_VIEW);
+ createEAttribute(umlViewEClass, UML_VIEW__SHOW_STEREOTYPE);
+ createEAttribute(umlViewEClass, UML_VIEW__SHOW_LIST_VISIBILITY);
+ createEAttribute(umlViewEClass, UML_VIEW__SHOW_LIST_SIGNATURE);
+ createEAttribute(umlViewEClass, UML_VIEW__ALIGNMENT);
+
+ umlComponentEClass = createEClass(UML_COMPONENT);
+
+ umlClassifierShapeEClass = createEClass(UML_CLASSIFIER_SHAPE);
+ createEAttribute(umlClassifierShapeEClass, UML_CLASSIFIER_SHAPE__USE_CLASSIFIER_SHAPE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ NotationPackage theNotationPackage = (NotationPackage) EPackage.Registry.INSTANCE.getEPackage(NotationPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ umlDiagramEClass.getESuperTypes().add(theNotationPackage.getDiagram());
+ umlDiagramEClass.getESuperTypes().add(this.getUMLView());
+ umlFrameEClass.getESuperTypes().add(this.getUMLShape());
+ umlShapeCompartmentEClass.getESuperTypes().add(theNotationPackage.getCompartment());
+ umlShapeCompartmentEClass.getESuperTypes().add(this.getUMLView());
+ umlShapeEClass.getESuperTypes().add(theNotationPackage.getShape());
+ umlShapeEClass.getESuperTypes().add(this.getUMLView());
+ umlConnectorEClass.getESuperTypes().add(theNotationPackage.getConnector());
+ umlConnectorEClass.getESuperTypes().add(theNotationPackage.getFontStyle());
+ umlConnectorEClass.getESuperTypes().add(this.getUMLView());
+ umlViewEClass.getESuperTypes().add(theNotationPackage.getView());
+ umlComponentEClass.getESuperTypes().add(this.getUMLShape());
+ umlClassifierShapeEClass.getESuperTypes().add(this.getUMLShape());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(umlDiagramEClass, UMLDiagram.class, "UMLDiagram", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(umlFrameEClass, UMLFrame.class, "UMLFrame", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(umlShapeCompartmentEClass, UMLShapeCompartment.class, "UMLShapeCompartment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(umlShapeEClass, UMLShape.class, "UMLShape", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(umlConnectorEClass, UMLConnector.class, "UMLConnector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(umlViewEClass, UMLView.class, "UMLView", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getUMLView_ShowStereotype(), ecorePackage.getEString(), "showStereotype", null, 0, 1, UMLView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getUMLView_ShowListVisibility(), ecorePackage.getEString(), "showListVisibility", "None", 0, 1, UMLView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getUMLView_ShowListSignature(), ecorePackage.getEBoolean(), "showListSignature", "true", 0, 1, UMLView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getUMLView_Alignment(), ecorePackage.getEString(), "alignment", null, 0, 1, UMLView.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(umlComponentEClass, UMLComponent.class, "UMLComponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(umlClassifierShapeEClass, UMLClassifierShape.class, "UMLClassifierShape", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getUMLClassifierShape_UseClassifierShape(), ecorePackage.getEBoolean(), "useClassifierShape", null, 0, 1, UMLClassifierShape.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // PapyrusUMLNotationPackageImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLClassifierShapeImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLClassifierShapeImpl.java
new file mode 100644
index 00000000000..4e6ba7e634c
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLClassifierShapeImpl.java
@@ -0,0 +1,185 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UML Classifier Shape</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLClassifierShapeImpl#isUseClassifierShape <em>Use Classifier Shape</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UMLClassifierShapeImpl extends UMLShapeImpl implements UMLClassifierShape {
+
+ /**
+ * The default value of the '{@link #isUseClassifierShape() <em>Use Classifier Shape</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isUseClassifierShape()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean USE_CLASSIFIER_SHAPE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isUseClassifierShape() <em>Use Classifier Shape</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isUseClassifierShape()
+ * @generated
+ * @ordered
+ */
+ protected boolean useClassifierShape = USE_CLASSIFIER_SHAPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UMLClassifierShapeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PapyrusUMLNotationPackage.Literals.UML_CLASSIFIER_SHAPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isUseClassifierShape() {
+ return useClassifierShape;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setUseClassifierShape(boolean newUseClassifierShape) {
+ boolean oldUseClassifierShape = useClassifierShape;
+ useClassifierShape = newUseClassifierShape;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CLASSIFIER_SHAPE__USE_CLASSIFIER_SHAPE, oldUseClassifierShape, useClassifierShape));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_CLASSIFIER_SHAPE__USE_CLASSIFIER_SHAPE:
+ return isUseClassifierShape();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_CLASSIFIER_SHAPE__USE_CLASSIFIER_SHAPE:
+ setUseClassifierShape((Boolean) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_CLASSIFIER_SHAPE__USE_CLASSIFIER_SHAPE:
+ setUseClassifierShape(USE_CLASSIFIER_SHAPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_CLASSIFIER_SHAPE__USE_CLASSIFIER_SHAPE:
+ return useClassifierShape != USE_CLASSIFIER_SHAPE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (useClassifierShape: ");
+ result.append(useClassifierShape);
+ result.append(')');
+ return result.toString();
+ }
+
+} // UMLClassifierShapeImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLComponentImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLComponentImpl.java
new file mode 100644
index 00000000000..899b4f1496a
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLComponentImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLComponent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UML Component</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class UMLComponentImpl extends UMLShapeImpl implements UMLComponent {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UMLComponentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PapyrusUMLNotationPackage.Literals.UML_COMPONENT;
+ }
+
+} // UMLComponentImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLConnectorImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLConnectorImpl.java
new file mode 100644
index 00000000000..3696aaa4774
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLConnectorImpl.java
@@ -0,0 +1,889 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.impl.ConnectorImpl;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLConnector;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UML Connector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#getFontColor <em>Font Color</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#getFontName <em>Font Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#getFontHeight <em>Font Height</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#isBold <em>Bold</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#isItalic <em>Italic</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#isUnderline <em>Underline</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#isStrikeThrough <em>Strike Through</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#getShowStereotype <em>Show Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#getShowListVisibility <em>Show List Visibility</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#isShowListSignature <em>Show List Signature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLConnectorImpl#getAlignment <em>Alignment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UMLConnectorImpl extends ConnectorImpl implements UMLConnector {
+
+ /**
+ * The default value of the '{@link #getFontColor() <em>Font Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFontColor()
+ * @generated
+ * @ordered
+ */
+ protected static final int FONT_COLOR_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getFontColor() <em>Font Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFontColor()
+ * @generated
+ * @ordered
+ */
+ protected int fontColor = FONT_COLOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFontName() <em>Font Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFontName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FONT_NAME_EDEFAULT = "Tahoma";
+
+ /**
+ * The cached value of the '{@link #getFontName() <em>Font Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFontName()
+ * @generated
+ * @ordered
+ */
+ protected String fontName = FONT_NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFontHeight() <em>Font Height</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFontHeight()
+ * @generated
+ * @ordered
+ */
+ protected static final int FONT_HEIGHT_EDEFAULT = 9;
+
+ /**
+ * The cached value of the '{@link #getFontHeight() <em>Font Height</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFontHeight()
+ * @generated
+ * @ordered
+ */
+ protected int fontHeight = FONT_HEIGHT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isBold() <em>Bold</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isBold()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean BOLD_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isBold() <em>Bold</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isBold()
+ * @generated
+ * @ordered
+ */
+ protected boolean bold = BOLD_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isItalic() <em>Italic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isItalic()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean ITALIC_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isItalic() <em>Italic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isItalic()
+ * @generated
+ * @ordered
+ */
+ protected boolean italic = ITALIC_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isUnderline() <em>Underline</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isUnderline()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean UNDERLINE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isUnderline() <em>Underline</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isUnderline()
+ * @generated
+ * @ordered
+ */
+ protected boolean underline = UNDERLINE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isStrikeThrough() <em>Strike Through</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isStrikeThrough()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean STRIKE_THROUGH_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isStrikeThrough() <em>Strike Through</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isStrikeThrough()
+ * @generated
+ * @ordered
+ */
+ protected boolean strikeThrough = STRIKE_THROUGH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShowStereotype() <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowStereotype()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHOW_STEREOTYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getShowStereotype() <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowStereotype()
+ * @generated
+ * @ordered
+ */
+ protected String showStereotype = SHOW_STEREOTYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShowListVisibility() <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowListVisibility()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHOW_LIST_VISIBILITY_EDEFAULT = "None";
+
+ /**
+ * The cached value of the '{@link #getShowListVisibility() <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowListVisibility()
+ * @generated
+ * @ordered
+ */
+ protected String showListVisibility = SHOW_LIST_VISIBILITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isShowListSignature() <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowListSignature()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_LIST_SIGNATURE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isShowListSignature() <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowListSignature()
+ * @generated
+ * @ordered
+ */
+ protected boolean showListSignature = SHOW_LIST_SIGNATURE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIGNMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected String alignment = ALIGNMENT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UMLConnectorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PapyrusUMLNotationPackage.Literals.UML_CONNECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getFontColor() {
+ return fontColor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFontColor(int newFontColor) {
+ int oldFontColor = fontColor;
+ fontColor = newFontColor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_COLOR, oldFontColor, fontColor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getFontName() {
+ return fontName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFontName(String newFontName) {
+ String oldFontName = fontName;
+ fontName = newFontName;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_NAME, oldFontName, fontName));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getFontHeight() {
+ return fontHeight;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFontHeight(int newFontHeight) {
+ int oldFontHeight = fontHeight;
+ fontHeight = newFontHeight;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_HEIGHT, oldFontHeight, fontHeight));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isBold() {
+ return bold;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBold(boolean newBold) {
+ boolean oldBold = bold;
+ bold = newBold;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__BOLD, oldBold, bold));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isItalic() {
+ return italic;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setItalic(boolean newItalic) {
+ boolean oldItalic = italic;
+ italic = newItalic;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__ITALIC, oldItalic, italic));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isUnderline() {
+ return underline;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setUnderline(boolean newUnderline) {
+ boolean oldUnderline = underline;
+ underline = newUnderline;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__UNDERLINE, oldUnderline, underline));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isStrikeThrough() {
+ return strikeThrough;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setStrikeThrough(boolean newStrikeThrough) {
+ boolean oldStrikeThrough = strikeThrough;
+ strikeThrough = newStrikeThrough;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__STRIKE_THROUGH, oldStrikeThrough, strikeThrough));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getShowStereotype() {
+ return showStereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowStereotype(String newShowStereotype) {
+ String oldShowStereotype = showStereotype;
+ showStereotype = newShowStereotype;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_STEREOTYPE, oldShowStereotype, showStereotype));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getShowListVisibility() {
+ return showListVisibility;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowListVisibility(String newShowListVisibility) {
+ String oldShowListVisibility = showListVisibility;
+ showListVisibility = newShowListVisibility;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_VISIBILITY, oldShowListVisibility, showListVisibility));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isShowListSignature() {
+ return showListSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowListSignature(boolean newShowListSignature) {
+ boolean oldShowListSignature = showListSignature;
+ showListSignature = newShowListSignature;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_SIGNATURE, oldShowListSignature, showListSignature));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getAlignment() {
+ return alignment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setAlignment(String newAlignment) {
+ String oldAlignment = alignment;
+ alignment = newAlignment;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_CONNECTOR__ALIGNMENT, oldAlignment, alignment));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_COLOR:
+ return getFontColor();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_NAME:
+ return getFontName();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_HEIGHT:
+ return getFontHeight();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__BOLD:
+ return isBold();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__ITALIC:
+ return isItalic();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__UNDERLINE:
+ return isUnderline();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__STRIKE_THROUGH:
+ return isStrikeThrough();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_STEREOTYPE:
+ return getShowStereotype();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_VISIBILITY:
+ return getShowListVisibility();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_SIGNATURE:
+ return isShowListSignature();
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__ALIGNMENT:
+ return getAlignment();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_COLOR:
+ setFontColor((Integer) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_NAME:
+ setFontName((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_HEIGHT:
+ setFontHeight((Integer) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__BOLD:
+ setBold((Boolean) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__ITALIC:
+ setItalic((Boolean) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__UNDERLINE:
+ setUnderline((Boolean) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__STRIKE_THROUGH:
+ setStrikeThrough((Boolean) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_STEREOTYPE:
+ setShowStereotype((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_VISIBILITY:
+ setShowListVisibility((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_SIGNATURE:
+ setShowListSignature((Boolean) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__ALIGNMENT:
+ setAlignment((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_COLOR:
+ setFontColor(FONT_COLOR_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_NAME:
+ setFontName(FONT_NAME_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_HEIGHT:
+ setFontHeight(FONT_HEIGHT_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__BOLD:
+ setBold(BOLD_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__ITALIC:
+ setItalic(ITALIC_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__UNDERLINE:
+ setUnderline(UNDERLINE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__STRIKE_THROUGH:
+ setStrikeThrough(STRIKE_THROUGH_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_STEREOTYPE:
+ setShowStereotype(SHOW_STEREOTYPE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_VISIBILITY:
+ setShowListVisibility(SHOW_LIST_VISIBILITY_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_SIGNATURE:
+ setShowListSignature(SHOW_LIST_SIGNATURE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__ALIGNMENT:
+ setAlignment(ALIGNMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_COLOR:
+ return fontColor != FONT_COLOR_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_NAME:
+ return FONT_NAME_EDEFAULT == null ? fontName != null : !FONT_NAME_EDEFAULT.equals(fontName);
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_HEIGHT:
+ return fontHeight != FONT_HEIGHT_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__BOLD:
+ return bold != BOLD_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__ITALIC:
+ return italic != ITALIC_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__UNDERLINE:
+ return underline != UNDERLINE_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__STRIKE_THROUGH:
+ return strikeThrough != STRIKE_THROUGH_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_STEREOTYPE:
+ return SHOW_STEREOTYPE_EDEFAULT == null ? showStereotype != null : !SHOW_STEREOTYPE_EDEFAULT.equals(showStereotype);
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_VISIBILITY:
+ return SHOW_LIST_VISIBILITY_EDEFAULT == null ? showListVisibility != null : !SHOW_LIST_VISIBILITY_EDEFAULT.equals(showListVisibility);
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_SIGNATURE:
+ return showListSignature != SHOW_LIST_SIGNATURE_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__ALIGNMENT:
+ return ALIGNMENT_EDEFAULT == null ? alignment != null : !ALIGNMENT_EDEFAULT.equals(alignment);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) {
+ if (baseClass == FontStyle.class) {
+ switch (derivedFeatureID) {
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_COLOR:
+ return NotationPackage.FONT_STYLE__FONT_COLOR;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_NAME:
+ return NotationPackage.FONT_STYLE__FONT_NAME;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_HEIGHT:
+ return NotationPackage.FONT_STYLE__FONT_HEIGHT;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__BOLD:
+ return NotationPackage.FONT_STYLE__BOLD;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__ITALIC:
+ return NotationPackage.FONT_STYLE__ITALIC;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__UNDERLINE:
+ return NotationPackage.FONT_STYLE__UNDERLINE;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__STRIKE_THROUGH:
+ return NotationPackage.FONT_STYLE__STRIKE_THROUGH;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == UMLView.class) {
+ switch (derivedFeatureID) {
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_STEREOTYPE:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_VISIBILITY:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_SIGNATURE:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE;
+ case PapyrusUMLNotationPackage.UML_CONNECTOR__ALIGNMENT:
+ return PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) {
+ if (baseClass == FontStyle.class) {
+ switch (baseFeatureID) {
+ case NotationPackage.FONT_STYLE__FONT_COLOR:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_COLOR;
+ case NotationPackage.FONT_STYLE__FONT_NAME:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_NAME;
+ case NotationPackage.FONT_STYLE__FONT_HEIGHT:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__FONT_HEIGHT;
+ case NotationPackage.FONT_STYLE__BOLD:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__BOLD;
+ case NotationPackage.FONT_STYLE__ITALIC:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__ITALIC;
+ case NotationPackage.FONT_STYLE__UNDERLINE:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__UNDERLINE;
+ case NotationPackage.FONT_STYLE__STRIKE_THROUGH:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__STRIKE_THROUGH;
+ default:
+ return -1;
+ }
+ }
+ if (baseClass == UMLView.class) {
+ switch (baseFeatureID) {
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_STEREOTYPE;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_VISIBILITY;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__SHOW_LIST_SIGNATURE;
+ case PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT:
+ return PapyrusUMLNotationPackage.UML_CONNECTOR__ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (fontColor: ");
+ result.append(fontColor);
+ result.append(", fontName: ");
+ result.append(fontName);
+ result.append(", fontHeight: ");
+ result.append(fontHeight);
+ result.append(", bold: ");
+ result.append(bold);
+ result.append(", italic: ");
+ result.append(italic);
+ result.append(", underline: ");
+ result.append(underline);
+ result.append(", strikeThrough: ");
+ result.append(strikeThrough);
+ result.append(", showStereotype: ");
+ result.append(showStereotype);
+ result.append(", showListVisibility: ");
+ result.append(showListVisibility);
+ result.append(", showListSignature: ");
+ result.append(showListSignature);
+ result.append(", alignment: ");
+ result.append(alignment);
+ result.append(')');
+ return result.toString();
+ }
+
+} // UMLConnectorImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLDiagramImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLDiagramImpl.java
new file mode 100644
index 00000000000..77769cb2258
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLDiagramImpl.java
@@ -0,0 +1,420 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.gmf.runtime.notation.impl.DiagramImpl;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLDiagram;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UML Diagram</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLDiagramImpl#getShowStereotype <em>Show Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLDiagramImpl#getShowListVisibility <em>Show List Visibility</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLDiagramImpl#isShowListSignature <em>Show List Signature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLDiagramImpl#getAlignment <em>Alignment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UMLDiagramImpl extends DiagramImpl implements UMLDiagram {
+
+ /**
+ * The default value of the '{@link #getShowStereotype() <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowStereotype()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHOW_STEREOTYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getShowStereotype() <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowStereotype()
+ * @generated
+ * @ordered
+ */
+ protected String showStereotype = SHOW_STEREOTYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShowListVisibility() <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowListVisibility()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHOW_LIST_VISIBILITY_EDEFAULT = "None";
+
+ /**
+ * The cached value of the '{@link #getShowListVisibility() <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowListVisibility()
+ * @generated
+ * @ordered
+ */
+ protected String showListVisibility = SHOW_LIST_VISIBILITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isShowListSignature() <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowListSignature()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_LIST_SIGNATURE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isShowListSignature() <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowListSignature()
+ * @generated
+ * @ordered
+ */
+ protected boolean showListSignature = SHOW_LIST_SIGNATURE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIGNMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected String alignment = ALIGNMENT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UMLDiagramImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PapyrusUMLNotationPackage.Literals.UML_DIAGRAM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getShowStereotype() {
+ return showStereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowStereotype(String newShowStereotype) {
+ String oldShowStereotype = showStereotype;
+ showStereotype = newShowStereotype;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_STEREOTYPE, oldShowStereotype, showStereotype));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getShowListVisibility() {
+ return showListVisibility;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowListVisibility(String newShowListVisibility) {
+ String oldShowListVisibility = showListVisibility;
+ showListVisibility = newShowListVisibility;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_VISIBILITY, oldShowListVisibility, showListVisibility));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isShowListSignature() {
+ return showListSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowListSignature(boolean newShowListSignature) {
+ boolean oldShowListSignature = showListSignature;
+ showListSignature = newShowListSignature;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_SIGNATURE, oldShowListSignature, showListSignature));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getAlignment() {
+ return alignment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setAlignment(String newAlignment) {
+ String oldAlignment = alignment;
+ alignment = newAlignment;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_DIAGRAM__ALIGNMENT, oldAlignment, alignment));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_STEREOTYPE:
+ return getShowStereotype();
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_VISIBILITY:
+ return getShowListVisibility();
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_SIGNATURE:
+ return isShowListSignature();
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__ALIGNMENT:
+ return getAlignment();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_STEREOTYPE:
+ setShowStereotype((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_VISIBILITY:
+ setShowListVisibility((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_SIGNATURE:
+ setShowListSignature((Boolean) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__ALIGNMENT:
+ setAlignment((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_STEREOTYPE:
+ setShowStereotype(SHOW_STEREOTYPE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_VISIBILITY:
+ setShowListVisibility(SHOW_LIST_VISIBILITY_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_SIGNATURE:
+ setShowListSignature(SHOW_LIST_SIGNATURE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__ALIGNMENT:
+ setAlignment(ALIGNMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_STEREOTYPE:
+ return SHOW_STEREOTYPE_EDEFAULT == null ? showStereotype != null : !SHOW_STEREOTYPE_EDEFAULT.equals(showStereotype);
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_VISIBILITY:
+ return SHOW_LIST_VISIBILITY_EDEFAULT == null ? showListVisibility != null : !SHOW_LIST_VISIBILITY_EDEFAULT.equals(showListVisibility);
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_SIGNATURE:
+ return showListSignature != SHOW_LIST_SIGNATURE_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__ALIGNMENT:
+ return ALIGNMENT_EDEFAULT == null ? alignment != null : !ALIGNMENT_EDEFAULT.equals(alignment);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == UMLView.class) {
+ switch (derivedFeatureID) {
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_STEREOTYPE:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE;
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_VISIBILITY:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY;
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_SIGNATURE:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE;
+ case PapyrusUMLNotationPackage.UML_DIAGRAM__ALIGNMENT:
+ return PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == UMLView.class) {
+ switch (baseFeatureID) {
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE:
+ return PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_STEREOTYPE;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY:
+ return PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_VISIBILITY;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE:
+ return PapyrusUMLNotationPackage.UML_DIAGRAM__SHOW_LIST_SIGNATURE;
+ case PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT:
+ return PapyrusUMLNotationPackage.UML_DIAGRAM__ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (showStereotype: ");
+ result.append(showStereotype);
+ result.append(", showListVisibility: ");
+ result.append(showListVisibility);
+ result.append(", showListSignature: ");
+ result.append(showListSignature);
+ result.append(", alignment: ");
+ result.append(alignment);
+ result.append(')');
+ return result.toString();
+ }
+
+} // UMLDiagramImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLFrameImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLFrameImpl.java
new file mode 100644
index 00000000000..e9e21b4cc21
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLFrameImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLFrame;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UML Frame</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class UMLFrameImpl extends UMLShapeImpl implements UMLFrame {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UMLFrameImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PapyrusUMLNotationPackage.Literals.UML_FRAME;
+ }
+
+} // UMLFrameImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLShapeCompartmentImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLShapeCompartmentImpl.java
new file mode 100644
index 00000000000..260a85342b5
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLShapeCompartmentImpl.java
@@ -0,0 +1,420 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.gmf.runtime.notation.impl.CompartmentImpl;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLShapeCompartment;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UML Shape Compartment</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeCompartmentImpl#getShowStereotype <em>Show Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeCompartmentImpl#getShowListVisibility <em>Show List Visibility</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeCompartmentImpl#isShowListSignature <em>Show List Signature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeCompartmentImpl#getAlignment <em>Alignment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UMLShapeCompartmentImpl extends CompartmentImpl implements UMLShapeCompartment {
+
+ /**
+ * The default value of the '{@link #getShowStereotype() <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowStereotype()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHOW_STEREOTYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getShowStereotype() <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowStereotype()
+ * @generated
+ * @ordered
+ */
+ protected String showStereotype = SHOW_STEREOTYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShowListVisibility() <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowListVisibility()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHOW_LIST_VISIBILITY_EDEFAULT = "None";
+
+ /**
+ * The cached value of the '{@link #getShowListVisibility() <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowListVisibility()
+ * @generated
+ * @ordered
+ */
+ protected String showListVisibility = SHOW_LIST_VISIBILITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isShowListSignature() <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowListSignature()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_LIST_SIGNATURE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isShowListSignature() <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowListSignature()
+ * @generated
+ * @ordered
+ */
+ protected boolean showListSignature = SHOW_LIST_SIGNATURE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIGNMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected String alignment = ALIGNMENT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UMLShapeCompartmentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PapyrusUMLNotationPackage.Literals.UML_SHAPE_COMPARTMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getShowStereotype() {
+ return showStereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowStereotype(String newShowStereotype) {
+ String oldShowStereotype = showStereotype;
+ showStereotype = newShowStereotype;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_STEREOTYPE, oldShowStereotype, showStereotype));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getShowListVisibility() {
+ return showListVisibility;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowListVisibility(String newShowListVisibility) {
+ String oldShowListVisibility = showListVisibility;
+ showListVisibility = newShowListVisibility;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_VISIBILITY, oldShowListVisibility, showListVisibility));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isShowListSignature() {
+ return showListSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowListSignature(boolean newShowListSignature) {
+ boolean oldShowListSignature = showListSignature;
+ showListSignature = newShowListSignature;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_SIGNATURE, oldShowListSignature, showListSignature));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getAlignment() {
+ return alignment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setAlignment(String newAlignment) {
+ String oldAlignment = alignment;
+ alignment = newAlignment;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__ALIGNMENT, oldAlignment, alignment));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_STEREOTYPE:
+ return getShowStereotype();
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_VISIBILITY:
+ return getShowListVisibility();
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_SIGNATURE:
+ return isShowListSignature();
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__ALIGNMENT:
+ return getAlignment();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_STEREOTYPE:
+ setShowStereotype((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_VISIBILITY:
+ setShowListVisibility((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_SIGNATURE:
+ setShowListSignature((Boolean) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__ALIGNMENT:
+ setAlignment((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_STEREOTYPE:
+ setShowStereotype(SHOW_STEREOTYPE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_VISIBILITY:
+ setShowListVisibility(SHOW_LIST_VISIBILITY_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_SIGNATURE:
+ setShowListSignature(SHOW_LIST_SIGNATURE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__ALIGNMENT:
+ setAlignment(ALIGNMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_STEREOTYPE:
+ return SHOW_STEREOTYPE_EDEFAULT == null ? showStereotype != null : !SHOW_STEREOTYPE_EDEFAULT.equals(showStereotype);
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_VISIBILITY:
+ return SHOW_LIST_VISIBILITY_EDEFAULT == null ? showListVisibility != null : !SHOW_LIST_VISIBILITY_EDEFAULT.equals(showListVisibility);
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_SIGNATURE:
+ return showListSignature != SHOW_LIST_SIGNATURE_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__ALIGNMENT:
+ return ALIGNMENT_EDEFAULT == null ? alignment != null : !ALIGNMENT_EDEFAULT.equals(alignment);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) {
+ if (baseClass == UMLView.class) {
+ switch (derivedFeatureID) {
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_STEREOTYPE:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE;
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_VISIBILITY:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY;
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_SIGNATURE:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE;
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__ALIGNMENT:
+ return PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) {
+ if (baseClass == UMLView.class) {
+ switch (baseFeatureID) {
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE:
+ return PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_STEREOTYPE;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY:
+ return PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_VISIBILITY;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE:
+ return PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__SHOW_LIST_SIGNATURE;
+ case PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT:
+ return PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT__ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (showStereotype: ");
+ result.append(showStereotype);
+ result.append(", showListVisibility: ");
+ result.append(showListVisibility);
+ result.append(", showListSignature: ");
+ result.append(showListSignature);
+ result.append(", alignment: ");
+ result.append(alignment);
+ result.append(')');
+ return result.toString();
+ }
+
+} // UMLShapeCompartmentImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLShapeImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLShapeImpl.java
new file mode 100644
index 00000000000..5767752c627
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLShapeImpl.java
@@ -0,0 +1,420 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.gmf.runtime.notation.impl.ShapeImpl;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLShape;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UML Shape</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeImpl#getShowStereotype <em>Show Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeImpl#getShowListVisibility <em>Show List Visibility</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeImpl#isShowListSignature <em>Show List Signature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLShapeImpl#getAlignment <em>Alignment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UMLShapeImpl extends ShapeImpl implements UMLShape {
+
+ /**
+ * The default value of the '{@link #getShowStereotype() <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowStereotype()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHOW_STEREOTYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getShowStereotype() <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowStereotype()
+ * @generated
+ * @ordered
+ */
+ protected String showStereotype = SHOW_STEREOTYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShowListVisibility() <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowListVisibility()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHOW_LIST_VISIBILITY_EDEFAULT = "None";
+
+ /**
+ * The cached value of the '{@link #getShowListVisibility() <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowListVisibility()
+ * @generated
+ * @ordered
+ */
+ protected String showListVisibility = SHOW_LIST_VISIBILITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isShowListSignature() <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowListSignature()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_LIST_SIGNATURE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isShowListSignature() <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowListSignature()
+ * @generated
+ * @ordered
+ */
+ protected boolean showListSignature = SHOW_LIST_SIGNATURE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIGNMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected String alignment = ALIGNMENT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UMLShapeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PapyrusUMLNotationPackage.Literals.UML_SHAPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getShowStereotype() {
+ return showStereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowStereotype(String newShowStereotype) {
+ String oldShowStereotype = showStereotype;
+ showStereotype = newShowStereotype;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_SHAPE__SHOW_STEREOTYPE, oldShowStereotype, showStereotype));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getShowListVisibility() {
+ return showListVisibility;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowListVisibility(String newShowListVisibility) {
+ String oldShowListVisibility = showListVisibility;
+ showListVisibility = newShowListVisibility;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_VISIBILITY, oldShowListVisibility, showListVisibility));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isShowListSignature() {
+ return showListSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowListSignature(boolean newShowListSignature) {
+ boolean oldShowListSignature = showListSignature;
+ showListSignature = newShowListSignature;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_SIGNATURE, oldShowListSignature, showListSignature));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getAlignment() {
+ return alignment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setAlignment(String newAlignment) {
+ String oldAlignment = alignment;
+ alignment = newAlignment;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_SHAPE__ALIGNMENT, oldAlignment, alignment));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_STEREOTYPE:
+ return getShowStereotype();
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_VISIBILITY:
+ return getShowListVisibility();
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_SIGNATURE:
+ return isShowListSignature();
+ case PapyrusUMLNotationPackage.UML_SHAPE__ALIGNMENT:
+ return getAlignment();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_STEREOTYPE:
+ setShowStereotype((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_VISIBILITY:
+ setShowListVisibility((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_SIGNATURE:
+ setShowListSignature((Boolean) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE__ALIGNMENT:
+ setAlignment((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_STEREOTYPE:
+ setShowStereotype(SHOW_STEREOTYPE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_VISIBILITY:
+ setShowListVisibility(SHOW_LIST_VISIBILITY_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_SIGNATURE:
+ setShowListSignature(SHOW_LIST_SIGNATURE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_SHAPE__ALIGNMENT:
+ setAlignment(ALIGNMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_STEREOTYPE:
+ return SHOW_STEREOTYPE_EDEFAULT == null ? showStereotype != null : !SHOW_STEREOTYPE_EDEFAULT.equals(showStereotype);
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_VISIBILITY:
+ return SHOW_LIST_VISIBILITY_EDEFAULT == null ? showListVisibility != null : !SHOW_LIST_VISIBILITY_EDEFAULT.equals(showListVisibility);
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_SIGNATURE:
+ return showListSignature != SHOW_LIST_SIGNATURE_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_SHAPE__ALIGNMENT:
+ return ALIGNMENT_EDEFAULT == null ? alignment != null : !ALIGNMENT_EDEFAULT.equals(alignment);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) {
+ if (baseClass == UMLView.class) {
+ switch (derivedFeatureID) {
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_STEREOTYPE:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE;
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_VISIBILITY:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY;
+ case PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_SIGNATURE:
+ return PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE;
+ case PapyrusUMLNotationPackage.UML_SHAPE__ALIGNMENT:
+ return PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) {
+ if (baseClass == UMLView.class) {
+ switch (baseFeatureID) {
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE:
+ return PapyrusUMLNotationPackage.UML_SHAPE__SHOW_STEREOTYPE;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY:
+ return PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_VISIBILITY;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE:
+ return PapyrusUMLNotationPackage.UML_SHAPE__SHOW_LIST_SIGNATURE;
+ case PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT:
+ return PapyrusUMLNotationPackage.UML_SHAPE__ALIGNMENT;
+ default:
+ return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (showStereotype: ");
+ result.append(showStereotype);
+ result.append(", showListVisibility: ");
+ result.append(showListVisibility);
+ result.append(", showListSignature: ");
+ result.append(showListSignature);
+ result.append(", alignment: ");
+ result.append(alignment);
+ result.append(')');
+ return result.toString();
+ }
+
+} // UMLShapeImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLViewImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLViewImpl.java
new file mode 100644
index 00000000000..83490c0ff07
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/impl/UMLViewImpl.java
@@ -0,0 +1,369 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.gmf.runtime.notation.impl.ViewImpl;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLView;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>UML View</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLViewImpl#getShowStereotype <em>Show Stereotype</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLViewImpl#getShowListVisibility <em>Show List Visibility</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLViewImpl#isShowListSignature <em>Show List Signature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlnotation.impl.UMLViewImpl#getAlignment <em>Alignment</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class UMLViewImpl extends ViewImpl implements UMLView {
+
+ /**
+ * The default value of the '{@link #getShowStereotype() <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowStereotype()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHOW_STEREOTYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getShowStereotype() <em>Show Stereotype</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowStereotype()
+ * @generated
+ * @ordered
+ */
+ protected String showStereotype = SHOW_STEREOTYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShowListVisibility() <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowListVisibility()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHOW_LIST_VISIBILITY_EDEFAULT = "None";
+
+ /**
+ * The cached value of the '{@link #getShowListVisibility() <em>Show List Visibility</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getShowListVisibility()
+ * @generated
+ * @ordered
+ */
+ protected String showListVisibility = SHOW_LIST_VISIBILITY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isShowListSignature() <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowListSignature()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean SHOW_LIST_SIGNATURE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isShowListSignature() <em>Show List Signature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isShowListSignature()
+ * @generated
+ * @ordered
+ */
+ protected boolean showListSignature = SHOW_LIST_SIGNATURE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected static final String ALIGNMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAlignment() <em>Alignment</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getAlignment()
+ * @generated
+ * @ordered
+ */
+ protected String alignment = ALIGNMENT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UMLViewImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PapyrusUMLNotationPackage.Literals.UML_VIEW;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getShowStereotype() {
+ return showStereotype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowStereotype(String newShowStereotype) {
+ String oldShowStereotype = showStereotype;
+ showStereotype = newShowStereotype;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE, oldShowStereotype, showStereotype));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getShowListVisibility() {
+ return showListVisibility;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowListVisibility(String newShowListVisibility) {
+ String oldShowListVisibility = showListVisibility;
+ showListVisibility = newShowListVisibility;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY, oldShowListVisibility, showListVisibility));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isShowListSignature() {
+ return showListSignature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setShowListSignature(boolean newShowListSignature) {
+ boolean oldShowListSignature = showListSignature;
+ showListSignature = newShowListSignature;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE, oldShowListSignature, showListSignature));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getAlignment() {
+ return alignment;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setAlignment(String newAlignment) {
+ String oldAlignment = alignment;
+ alignment = newAlignment;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT, oldAlignment, alignment));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE:
+ return getShowStereotype();
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY:
+ return getShowListVisibility();
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE:
+ return isShowListSignature();
+ case PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT:
+ return getAlignment();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE:
+ setShowStereotype((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY:
+ setShowListVisibility((String) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE:
+ setShowListSignature((Boolean) newValue);
+ return;
+ case PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT:
+ setAlignment((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE:
+ setShowStereotype(SHOW_STEREOTYPE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY:
+ setShowListVisibility(SHOW_LIST_VISIBILITY_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE:
+ setShowListSignature(SHOW_LIST_SIGNATURE_EDEFAULT);
+ return;
+ case PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT:
+ setAlignment(ALIGNMENT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_STEREOTYPE:
+ return SHOW_STEREOTYPE_EDEFAULT == null ? showStereotype != null : !SHOW_STEREOTYPE_EDEFAULT.equals(showStereotype);
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_VISIBILITY:
+ return SHOW_LIST_VISIBILITY_EDEFAULT == null ? showListVisibility != null : !SHOW_LIST_VISIBILITY_EDEFAULT.equals(showListVisibility);
+ case PapyrusUMLNotationPackage.UML_VIEW__SHOW_LIST_SIGNATURE:
+ return showListSignature != SHOW_LIST_SIGNATURE_EDEFAULT;
+ case PapyrusUMLNotationPackage.UML_VIEW__ALIGNMENT:
+ return ALIGNMENT_EDEFAULT == null ? alignment != null : !ALIGNMENT_EDEFAULT.equals(alignment);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (showStereotype: ");
+ result.append(showStereotype);
+ result.append(", showListVisibility: ");
+ result.append(showListVisibility);
+ result.append(", showListSignature: ");
+ result.append(showListSignature);
+ result.append(", alignment: ");
+ result.append(alignment);
+ result.append(')');
+ return result.toString();
+ }
+
+} // UMLViewImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/util/PapyrusRSANotationAdapterFactory.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/util/PapyrusRSANotationAdapterFactory.java
new file mode 100644
index 00000000000..56aaa34c33b
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/util/PapyrusRSANotationAdapterFactory.java
@@ -0,0 +1,767 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.notation.BasicCompartment;
+import org.eclipse.gmf.runtime.notation.BasicDecorationNode;
+import org.eclipse.gmf.runtime.notation.CanonicalStyle;
+import org.eclipse.gmf.runtime.notation.Compartment;
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.ConnectorStyle;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.DescriptionStyle;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.DrawerStyle;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.FillStyle;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.LineStyle;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.RoundedCornersStyle;
+import org.eclipse.gmf.runtime.notation.RoutingStyle;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.ShapeStyle;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLComponent;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLConnector;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLDiagram;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLFrame;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLShape;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLShapeCompartment;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLView;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage
+ * @generated
+ */
+public class PapyrusRSANotationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static PapyrusUMLNotationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PapyrusRSANotationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = PapyrusUMLNotationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected PapyrusRSANotationSwitch<Adapter> modelSwitch =
+ new PapyrusRSANotationSwitch<Adapter>() {
+ @Override
+ public Adapter caseUMLDiagram(UMLDiagram object) {
+ return createUMLDiagramAdapter();
+ }
+
+ @Override
+ public Adapter caseUMLFrame(UMLFrame object) {
+ return createUMLFrameAdapter();
+ }
+
+ @Override
+ public Adapter caseUMLShapeCompartment(UMLShapeCompartment object) {
+ return createUMLShapeCompartmentAdapter();
+ }
+
+ @Override
+ public Adapter caseUMLShape(UMLShape object) {
+ return createUMLShapeAdapter();
+ }
+
+ @Override
+ public Adapter caseUMLConnector(UMLConnector object) {
+ return createUMLConnectorAdapter();
+ }
+
+ @Override
+ public Adapter caseUMLView(UMLView object) {
+ return createUMLViewAdapter();
+ }
+
+ @Override
+ public Adapter caseUMLComponent(UMLComponent object) {
+ return createUMLComponentAdapter();
+ }
+
+ @Override
+ public Adapter caseUMLClassifierShape(UMLClassifierShape object) {
+ return createUMLClassifierShapeAdapter();
+ }
+
+ @Override
+ public Adapter caseEModelElement(EModelElement object) {
+ return createEModelElementAdapter();
+ }
+
+ @Override
+ public Adapter caseView(View object) {
+ return createViewAdapter();
+ }
+
+ @Override
+ public Adapter caseDiagram(Diagram object) {
+ return createDiagramAdapter();
+ }
+
+ @Override
+ public Adapter caseNode(Node object) {
+ return createNodeAdapter();
+ }
+
+ @Override
+ public Adapter caseStyle(Style object) {
+ return createStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseFontStyle(FontStyle object) {
+ return createFontStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseDescriptionStyle(DescriptionStyle object) {
+ return createDescriptionStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseFillStyle(FillStyle object) {
+ return createFillStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseLineStyle(LineStyle object) {
+ return createLineStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseRoundedCornersStyle(RoundedCornersStyle object) {
+ return createRoundedCornersStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseShapeStyle(ShapeStyle object) {
+ return createShapeStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseShape(Shape object) {
+ return createShapeAdapter();
+ }
+
+ @Override
+ public Adapter caseBasicDecorationNode(BasicDecorationNode object) {
+ return createBasicDecorationNodeAdapter();
+ }
+
+ @Override
+ public Adapter caseDecorationNode(DecorationNode object) {
+ return createDecorationNodeAdapter();
+ }
+
+ @Override
+ public Adapter caseDrawerStyle(DrawerStyle object) {
+ return createDrawerStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseBasicCompartment(BasicCompartment object) {
+ return createBasicCompartmentAdapter();
+ }
+
+ @Override
+ public Adapter caseCanonicalStyle(CanonicalStyle object) {
+ return createCanonicalStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseTitleStyle(TitleStyle object) {
+ return createTitleStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseCompartment(Compartment object) {
+ return createCompartmentAdapter();
+ }
+
+ @Override
+ public Adapter caseEdge(Edge object) {
+ return createEdgeAdapter();
+ }
+
+ @Override
+ public Adapter caseRoutingStyle(RoutingStyle object) {
+ return createRoutingStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseConnectorStyle(ConnectorStyle object) {
+ return createConnectorStyleAdapter();
+ }
+
+ @Override
+ public Adapter caseConnector(Connector object) {
+ return createConnectorAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target
+ * the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLDiagram <em>UML Diagram</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLDiagram
+ * @generated
+ */
+ public Adapter createUMLDiagramAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLFrame <em>UML Frame</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLFrame
+ * @generated
+ */
+ public Adapter createUMLFrameAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLShapeCompartment <em>UML Shape Compartment</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLShapeCompartment
+ * @generated
+ */
+ public Adapter createUMLShapeCompartmentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLShape <em>UML Shape</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLShape
+ * @generated
+ */
+ public Adapter createUMLShapeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLConnector <em>UML Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLConnector
+ * @generated
+ */
+ public Adapter createUMLConnectorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLView <em>UML View</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLView
+ * @generated
+ */
+ public Adapter createUMLViewAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLComponent <em>UML Component</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLComponent
+ * @generated
+ */
+ public Adapter createUMLComponentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape <em>UML Classifier Shape</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape
+ * @generated
+ */
+ public Adapter createUMLClassifierShapeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.ecore.EModelElement <em>EModel Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.ecore.EModelElement
+ * @generated
+ */
+ public Adapter createEModelElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.View <em>View</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.View
+ * @generated
+ */
+ public Adapter createViewAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.Diagram <em>Diagram</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.Diagram
+ * @generated
+ */
+ public Adapter createDiagramAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.Node <em>Node</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.Node
+ * @generated
+ */
+ public Adapter createNodeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.Style <em>Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.Style
+ * @generated
+ */
+ public Adapter createStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.FontStyle <em>Font Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.FontStyle
+ * @generated
+ */
+ public Adapter createFontStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.DescriptionStyle <em>Description Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.DescriptionStyle
+ * @generated
+ */
+ public Adapter createDescriptionStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.FillStyle <em>Fill Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.FillStyle
+ * @generated
+ */
+ public Adapter createFillStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.LineStyle <em>Line Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.LineStyle
+ * @generated
+ */
+ public Adapter createLineStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.RoundedCornersStyle <em>Rounded Corners Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.RoundedCornersStyle
+ * @generated
+ */
+ public Adapter createRoundedCornersStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.ShapeStyle <em>Shape Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.ShapeStyle
+ * @generated
+ */
+ public Adapter createShapeStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.Shape <em>Shape</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.Shape
+ * @generated
+ */
+ public Adapter createShapeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.BasicDecorationNode <em>Basic Decoration Node</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.BasicDecorationNode
+ * @generated
+ */
+ public Adapter createBasicDecorationNodeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.DecorationNode <em>Decoration Node</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.DecorationNode
+ * @generated
+ */
+ public Adapter createDecorationNodeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.DrawerStyle <em>Drawer Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.DrawerStyle
+ * @generated
+ */
+ public Adapter createDrawerStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.BasicCompartment <em>Basic Compartment</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.BasicCompartment
+ * @generated
+ */
+ public Adapter createBasicCompartmentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.CanonicalStyle <em>Canonical Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.CanonicalStyle
+ * @generated
+ */
+ public Adapter createCanonicalStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.TitleStyle <em>Title Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.TitleStyle
+ * @generated
+ */
+ public Adapter createTitleStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.Compartment <em>Compartment</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.Compartment
+ * @generated
+ */
+ public Adapter createCompartmentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.Edge <em>Edge</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.Edge
+ * @generated
+ */
+ public Adapter createEdgeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.RoutingStyle <em>Routing Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.RoutingStyle
+ * @generated
+ */
+ public Adapter createRoutingStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.ConnectorStyle <em>Connector Style</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.ConnectorStyle
+ * @generated
+ */
+ public Adapter createConnectorStyleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.gmf.runtime.notation.Connector <em>Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.gmf.runtime.notation.Connector
+ * @generated
+ */
+ public Adapter createConnectorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // PapyrusRSANotationAdapterFactory
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/util/PapyrusRSANotationSwitch.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/util/PapyrusRSANotationSwitch.java
new file mode 100644
index 00000000000..f276289fca4
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlnotation/util/PapyrusRSANotationSwitch.java
@@ -0,0 +1,965 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlnotation.util;
+
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.gmf.runtime.notation.BasicCompartment;
+import org.eclipse.gmf.runtime.notation.BasicDecorationNode;
+import org.eclipse.gmf.runtime.notation.CanonicalStyle;
+import org.eclipse.gmf.runtime.notation.Compartment;
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.ConnectorStyle;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.DescriptionStyle;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.DrawerStyle;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.FillStyle;
+import org.eclipse.gmf.runtime.notation.FontStyle;
+import org.eclipse.gmf.runtime.notation.LineStyle;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.RoundedCornersStyle;
+import org.eclipse.gmf.runtime.notation.RoutingStyle;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.ShapeStyle;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.gmf.runtime.notation.TitleStyle;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLClassifierShape;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLComponent;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLConnector;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLDiagram;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLFrame;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLShape;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLShapeCompartment;
+import org.eclipse.papyrus.migration.rsa.umlnotation.UMLView;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlnotation.PapyrusUMLNotationPackage
+ * @generated
+ */
+public class PapyrusRSANotationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static PapyrusUMLNotationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PapyrusRSANotationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = PapyrusUMLNotationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case PapyrusUMLNotationPackage.UML_DIAGRAM: {
+ UMLDiagram umlDiagram = (UMLDiagram) theEObject;
+ T result = caseUMLDiagram(umlDiagram);
+ if (result == null) {
+ result = caseDiagram(umlDiagram);
+ }
+ if (result == null) {
+ result = caseUMLView(umlDiagram);
+ }
+ if (result == null) {
+ result = caseView(umlDiagram);
+ }
+ if (result == null) {
+ result = caseEModelElement(umlDiagram);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PapyrusUMLNotationPackage.UML_FRAME: {
+ UMLFrame umlFrame = (UMLFrame) theEObject;
+ T result = caseUMLFrame(umlFrame);
+ if (result == null) {
+ result = caseUMLShape(umlFrame);
+ }
+ if (result == null) {
+ result = caseShape(umlFrame);
+ }
+ if (result == null) {
+ result = caseUMLView(umlFrame);
+ }
+ if (result == null) {
+ result = caseNode(umlFrame);
+ }
+ if (result == null) {
+ result = caseShapeStyle(umlFrame);
+ }
+ if (result == null) {
+ result = caseView(umlFrame);
+ }
+ if (result == null) {
+ result = caseFontStyle(umlFrame);
+ }
+ if (result == null) {
+ result = caseDescriptionStyle(umlFrame);
+ }
+ if (result == null) {
+ result = caseFillStyle(umlFrame);
+ }
+ if (result == null) {
+ result = caseLineStyle(umlFrame);
+ }
+ if (result == null) {
+ result = caseRoundedCornersStyle(umlFrame);
+ }
+ if (result == null) {
+ result = caseEModelElement(umlFrame);
+ }
+ if (result == null) {
+ result = caseStyle(umlFrame);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PapyrusUMLNotationPackage.UML_SHAPE_COMPARTMENT: {
+ UMLShapeCompartment umlShapeCompartment = (UMLShapeCompartment) theEObject;
+ T result = caseUMLShapeCompartment(umlShapeCompartment);
+ if (result == null) {
+ result = caseCompartment(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseUMLView(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseBasicCompartment(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseCanonicalStyle(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseTitleStyle(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseDecorationNode(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseDrawerStyle(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseBasicDecorationNode(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseStyle(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseNode(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseView(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = caseEModelElement(umlShapeCompartment);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PapyrusUMLNotationPackage.UML_SHAPE: {
+ UMLShape umlShape = (UMLShape) theEObject;
+ T result = caseUMLShape(umlShape);
+ if (result == null) {
+ result = caseShape(umlShape);
+ }
+ if (result == null) {
+ result = caseUMLView(umlShape);
+ }
+ if (result == null) {
+ result = caseNode(umlShape);
+ }
+ if (result == null) {
+ result = caseShapeStyle(umlShape);
+ }
+ if (result == null) {
+ result = caseView(umlShape);
+ }
+ if (result == null) {
+ result = caseFontStyle(umlShape);
+ }
+ if (result == null) {
+ result = caseDescriptionStyle(umlShape);
+ }
+ if (result == null) {
+ result = caseFillStyle(umlShape);
+ }
+ if (result == null) {
+ result = caseLineStyle(umlShape);
+ }
+ if (result == null) {
+ result = caseRoundedCornersStyle(umlShape);
+ }
+ if (result == null) {
+ result = caseEModelElement(umlShape);
+ }
+ if (result == null) {
+ result = caseStyle(umlShape);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PapyrusUMLNotationPackage.UML_CONNECTOR: {
+ UMLConnector umlConnector = (UMLConnector) theEObject;
+ T result = caseUMLConnector(umlConnector);
+ if (result == null) {
+ result = caseConnector(umlConnector);
+ }
+ if (result == null) {
+ result = caseFontStyle(umlConnector);
+ }
+ if (result == null) {
+ result = caseUMLView(umlConnector);
+ }
+ if (result == null) {
+ result = caseEdge(umlConnector);
+ }
+ if (result == null) {
+ result = caseConnectorStyle(umlConnector);
+ }
+ if (result == null) {
+ result = caseView(umlConnector);
+ }
+ if (result == null) {
+ result = caseRoutingStyle(umlConnector);
+ }
+ if (result == null) {
+ result = caseLineStyle(umlConnector);
+ }
+ if (result == null) {
+ result = caseEModelElement(umlConnector);
+ }
+ if (result == null) {
+ result = caseRoundedCornersStyle(umlConnector);
+ }
+ if (result == null) {
+ result = caseStyle(umlConnector);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PapyrusUMLNotationPackage.UML_VIEW: {
+ UMLView umlView = (UMLView) theEObject;
+ T result = caseUMLView(umlView);
+ if (result == null) {
+ result = caseView(umlView);
+ }
+ if (result == null) {
+ result = caseEModelElement(umlView);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PapyrusUMLNotationPackage.UML_COMPONENT: {
+ UMLComponent umlComponent = (UMLComponent) theEObject;
+ T result = caseUMLComponent(umlComponent);
+ if (result == null) {
+ result = caseUMLShape(umlComponent);
+ }
+ if (result == null) {
+ result = caseShape(umlComponent);
+ }
+ if (result == null) {
+ result = caseUMLView(umlComponent);
+ }
+ if (result == null) {
+ result = caseNode(umlComponent);
+ }
+ if (result == null) {
+ result = caseShapeStyle(umlComponent);
+ }
+ if (result == null) {
+ result = caseView(umlComponent);
+ }
+ if (result == null) {
+ result = caseFontStyle(umlComponent);
+ }
+ if (result == null) {
+ result = caseDescriptionStyle(umlComponent);
+ }
+ if (result == null) {
+ result = caseFillStyle(umlComponent);
+ }
+ if (result == null) {
+ result = caseLineStyle(umlComponent);
+ }
+ if (result == null) {
+ result = caseRoundedCornersStyle(umlComponent);
+ }
+ if (result == null) {
+ result = caseEModelElement(umlComponent);
+ }
+ if (result == null) {
+ result = caseStyle(umlComponent);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case PapyrusUMLNotationPackage.UML_CLASSIFIER_SHAPE: {
+ UMLClassifierShape umlClassifierShape = (UMLClassifierShape) theEObject;
+ T result = caseUMLClassifierShape(umlClassifierShape);
+ if (result == null) {
+ result = caseUMLShape(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseShape(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseUMLView(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseNode(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseShapeStyle(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseView(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseFontStyle(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseDescriptionStyle(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseFillStyle(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseLineStyle(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseRoundedCornersStyle(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseEModelElement(umlClassifierShape);
+ }
+ if (result == null) {
+ result = caseStyle(umlClassifierShape);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>UML Diagram</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>UML Diagram</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUMLDiagram(UMLDiagram object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>UML Frame</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>UML Frame</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUMLFrame(UMLFrame object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>UML Shape Compartment</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>UML Shape Compartment</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUMLShapeCompartment(UMLShapeCompartment object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>UML Shape</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>UML Shape</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUMLShape(UMLShape object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>UML Connector</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>UML Connector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUMLConnector(UMLConnector object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>UML View</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>UML View</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUMLView(UMLView object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>UML Component</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>UML Component</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUMLComponent(UMLComponent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>UML Classifier Shape</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>UML Classifier Shape</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUMLClassifierShape(UMLClassifierShape object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EModel Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EModel Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEModelElement(EModelElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>View</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>View</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseView(View object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Diagram</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Diagram</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiagram(Diagram object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Node</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Node</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNode(Node object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStyle(Style object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Font Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Font Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFontStyle(FontStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Description Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Description Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDescriptionStyle(DescriptionStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Fill Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Fill Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFillStyle(FillStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Line Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Line Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLineStyle(LineStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rounded Corners Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rounded Corners Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRoundedCornersStyle(RoundedCornersStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Shape Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Shape Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseShapeStyle(ShapeStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Shape</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Shape</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseShape(Shape object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Basic Decoration Node</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Basic Decoration Node</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBasicDecorationNode(BasicDecorationNode object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Decoration Node</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Decoration Node</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDecorationNode(DecorationNode object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Drawer Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Drawer Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDrawerStyle(DrawerStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Basic Compartment</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Basic Compartment</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBasicCompartment(BasicCompartment object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Canonical Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Canonical Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCanonicalStyle(CanonicalStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Title Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Title Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTitleStyle(TitleStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Compartment</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Compartment</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCompartment(Compartment object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Edge</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Edge</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEdge(Edge object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Routing Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Routing Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRoutingStyle(RoutingStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Connector Style</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Connector Style</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConnectorStyle(ConnectorStyle object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Connector</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Connector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConnector(Connector object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // PapyrusRSANotationSwitch
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/AbstractEvent.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/AbstractEvent.java
new file mode 100644
index 00000000000..88bbba54aae
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/AbstractEvent.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getAbstractEvent()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AbstractEvent extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Call Event</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Call Event</em>' reference.
+ * @see #setBase_CallEvent(CallEvent)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getAbstractEvent_Base_CallEvent()
+ * @model required="true"
+ * @generated
+ */
+ CallEvent getBase_CallEvent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent#getBase_CallEvent <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Call Event</em>' reference.
+ * @see #getBase_CallEvent()
+ * @generated
+ */
+ void setBase_CallEvent(CallEvent value);
+
+} // AbstractEvent
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Capsule.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Capsule.java
new file mode 100644
index 00000000000..1d16593f36e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Capsule.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Capsule</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.Capsule#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getCapsule()
+ * @model
+ * @generated
+ */
+public interface Capsule extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Class</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Class</em>' reference.
+ * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getCapsule_Base_Class()
+ * @model required="true"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.Capsule#getBase_Class <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Class</em>' reference.
+ * @see #getBase_Class()
+ * @generated
+ */
+ void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+} // Capsule
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/CapsulePart.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/CapsulePart.java
new file mode 100644
index 00000000000..63d816eb44e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/CapsulePart.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Capsule Part</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getCapsulePart()
+ * @model
+ * @generated
+ */
+public interface CapsulePart extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Property</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Property</em>' reference.
+ * @see #setBase_Property(Property)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getCapsulePart_Base_Property()
+ * @model required="true"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart#getBase_Property <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Property</em>' reference.
+ * @see #getBase_Property()
+ * @generated
+ */
+ void setBase_Property(Property value);
+
+} // CapsulePart
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Coregion.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Coregion.java
new file mode 100644
index 00000000000..2421f349187
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Coregion.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Coregion</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getCoregion()
+ * @model
+ * @generated
+ */
+public interface Coregion extends EObject {
+} // Coregion
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/HistoryKind.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/HistoryKind.java
new file mode 100644
index 00000000000..913d64acc47
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/HistoryKind.java
@@ -0,0 +1,238 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>History Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getHistoryKind()
+ * @model
+ * @generated
+ */
+public enum HistoryKind implements Enumerator {
+ /**
+ * The '<em><b>Deep</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #DEEP_VALUE
+ * @generated
+ * @ordered
+ */
+ DEEP(0, "Deep", "Deep"),
+
+ /**
+ * The '<em><b>Shallow</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #SHALLOW_VALUE
+ * @generated
+ * @ordered
+ */
+ SHALLOW(1, "Shallow", "Shallow");
+
+ /**
+ * The '<em><b>Deep</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Deep</b></em>' literal object isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #DEEP
+ * @model name="Deep"
+ * @generated
+ * @ordered
+ */
+ public static final int DEEP_VALUE = 0;
+
+ /**
+ * The '<em><b>Shallow</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Shallow</b></em>' literal object isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #SHALLOW
+ * @model name="Shallow"
+ * @generated
+ * @ordered
+ */
+ public static final int SHALLOW_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>History Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final HistoryKind[] VALUES_ARRAY =
+ new HistoryKind[] {
+ DEEP,
+ SHALLOW,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>History Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<HistoryKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>History Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static HistoryKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ HistoryKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>History Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static HistoryKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ HistoryKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>History Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static HistoryKind get(int value) {
+ switch (value) {
+ case DEEP_VALUE:
+ return DEEP;
+ case SHALLOW_VALUE:
+ return SHALLOW;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private HistoryKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // HistoryKind
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/InEvent.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/InEvent.java
new file mode 100644
index 00000000000..698ef28df1c
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/InEvent.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>In Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getInEvent()
+ * @model
+ * @generated
+ */
+public interface InEvent extends AbstractEvent {
+} // InEvent
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/OutEvent.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/OutEvent.java
new file mode 100644
index 00000000000..e04265ad272
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/OutEvent.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Out Event</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getOutEvent()
+ * @model
+ * @generated
+ */
+public interface OutEvent extends AbstractEvent {
+} // OutEvent
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/PortRegistrationType.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/PortRegistrationType.java
new file mode 100644
index 00000000000..89f87d6f0cd
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/PortRegistrationType.java
@@ -0,0 +1,259 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Port Registration Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getPortRegistrationType()
+ * @model
+ * @generated
+ */
+public enum PortRegistrationType implements Enumerator {
+ /**
+ * The '<em><b>Automatic</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #AUTOMATIC_VALUE
+ * @generated
+ * @ordered
+ */
+ AUTOMATIC(0, "Automatic", "Automatic"),
+ /**
+ * The '<em><b>Application</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #APPLICATION_VALUE
+ * @generated
+ * @ordered
+ */
+ APPLICATION(1, "Application", "Application"),
+ /**
+ * The '<em><b>Automatic (locked)</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #AUTOMATIC_LOCKED_VALUE
+ * @generated
+ * @ordered
+ */
+ AUTOMATIC_LOCKED(2, "Automatic (locked)", "Automatic (locked)");
+
+ /**
+ * The '<em><b>Automatic</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Automatic</b></em>' literal object isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #AUTOMATIC
+ * @model name="Automatic"
+ * @generated
+ * @ordered
+ */
+ public static final int AUTOMATIC_VALUE = 0;
+
+ /**
+ * The '<em><b>Application</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Application</b></em>' literal object isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #APPLICATION
+ * @model name="Application"
+ * @generated
+ * @ordered
+ */
+ public static final int APPLICATION_VALUE = 1;
+
+ /**
+ * The '<em><b>Automatic (locked)</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Automatic (locked)</b></em>' literal object isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @see #AUTOMATIC_LOCKED
+ * @model name="Automatic (locked)"
+ * @generated
+ * @ordered
+ */
+ public static final int AUTOMATIC_LOCKED_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Port Registration Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static final PortRegistrationType[] VALUES_ARRAY = new PortRegistrationType[] { AUTOMATIC, APPLICATION, AUTOMATIC_LOCKED, };
+
+ /**
+ * A public read-only list of all the '<em><b>Port Registration Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static final List<PortRegistrationType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Port Registration Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static PortRegistrationType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PortRegistrationType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Port Registration Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static PortRegistrationType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PortRegistrationType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Port Registration Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static PortRegistrationType get(int value) {
+ switch (value) {
+ case AUTOMATIC_VALUE:
+ return AUTOMATIC;
+ case APPLICATION_VALUE:
+ return APPLICATION;
+ case AUTOMATIC_LOCKED_VALUE:
+ return AUTOMATIC_LOCKED;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private PortRegistrationType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+} // PortRegistrationType
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Protocol.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Protocol.java
new file mode 100644
index 00000000000..309b385ccf1
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Protocol.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Collaboration;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Protocol</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.Protocol#getBase_Collaboration <em>Base Collaboration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getProtocol()
+ * @model
+ * @generated
+ */
+public interface Protocol extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Collaboration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Collaboration</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Collaboration</em>' reference.
+ * @see #setBase_Collaboration(Collaboration)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getProtocol_Base_Collaboration()
+ * @model required="true"
+ * @generated
+ */
+ Collaboration getBase_Collaboration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.Protocol#getBase_Collaboration <em>Base Collaboration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Collaboration</em>' reference.
+ * @see #getBase_Collaboration()
+ * @generated
+ */
+ void setBase_Collaboration(Collaboration value);
+
+} // Protocol
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/ProtocolContainer.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/ProtocolContainer.java
new file mode 100644
index 00000000000..25cb87597a4
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/ProtocolContainer.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Protocol Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getProtocolContainer()
+ * @model
+ * @generated
+ */
+public interface ProtocolContainer extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Package</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Package</em>' reference.
+ * @see #setBase_Package(org.eclipse.uml2.uml.Package)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getProtocolContainer_Base_Package()
+ * @model required="true"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Package getBase_Package();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer#getBase_Package <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Package</em>' reference.
+ * @see #getBase_Package()
+ * @generated
+ */
+ void setBase_Package(org.eclipse.uml2.uml.Package value);
+
+} // ProtocolContainer
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTConnector.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTConnector.java
new file mode 100644
index 00000000000..c0d2a048d07
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTConnector.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Connector;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>RT Connector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTConnector#getBase_Connector <em>Base Connector</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTConnector()
+ * @model
+ * @generated
+ */
+public interface RTConnector extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Connector</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Connector</em>' reference.
+ * @see #setBase_Connector(Connector)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTConnector_Base_Connector()
+ * @model required="true"
+ * @generated
+ */
+ Connector getBase_Connector();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTConnector#getBase_Connector <em>Base Connector</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Connector</em>' reference.
+ * @see #getBase_Connector()
+ * @generated
+ */
+ void setBase_Connector(Connector value);
+
+} // RTConnector
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTHistorystate.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTHistorystate.java
new file mode 100644
index 00000000000..b879660e19a
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTHistorystate.java
@@ -0,0 +1,95 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Pseudostate;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>RT Historystate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate#getBase_Pseudostate <em>Base Pseudostate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate#getHistoryKind <em>History Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTHistorystate()
+ * @model
+ * @generated
+ */
+public interface RTHistorystate extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Pseudostate</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Pseudostate</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Pseudostate</em>' reference.
+ * @see #setBase_Pseudostate(Pseudostate)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTHistorystate_Base_Pseudostate()
+ * @model required="true"
+ * @generated
+ */
+ Pseudostate getBase_Pseudostate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate#getBase_Pseudostate <em>Base Pseudostate</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Pseudostate</em>' reference.
+ * @see #getBase_Pseudostate()
+ * @generated
+ */
+ void setBase_Pseudostate(Pseudostate value);
+
+ /**
+ * Returns the value of the '<em><b>History Kind</b></em>' attribute.
+ * The default value is <code>"Deep"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>History Kind</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>History Kind</em>' attribute.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind
+ * @see #setHistoryKind(HistoryKind)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTHistorystate_HistoryKind()
+ * @model default="Deep"
+ * @generated
+ */
+ HistoryKind getHistoryKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate#getHistoryKind <em>History Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>History Kind</em>' attribute.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind
+ * @see #getHistoryKind()
+ * @generated
+ */
+ void setHistoryKind(HistoryKind value);
+
+} // RTHistorystate
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTPort.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTPort.java
new file mode 100644
index 00000000000..f34fc9086fd
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTPort.java
@@ -0,0 +1,241 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>RT Port</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsConjugate <em>Is Conjugate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsNotification <em>Is Notification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsPublish <em>Is Publish</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsWired <em>Is Wired</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getRegistration <em>Registration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getRegistrationOverride <em>Registration Override</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTPort()
+ * @model
+ * @generated
+ */
+public interface RTPort extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Port</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Port</em>' reference.
+ * @see #setBase_Port(Port)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTPort_Base_Port()
+ * @model required="true"
+ * @generated
+ */
+ Port getBase_Port();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getBase_Port <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Port</em>' reference.
+ * @see #getBase_Port()
+ * @generated
+ */
+ void setBase_Port(Port value);
+
+ /**
+ * Returns the value of the '<em><b>Is Conjugate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Conjugate</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is Conjugate</em>' attribute.
+ * @see #setIsConjugate(boolean)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTPort_IsConjugate()
+ * @model
+ * @generated
+ */
+ boolean isIsConjugate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsConjugate <em>Is Conjugate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Conjugate</em>' attribute.
+ * @see #isIsConjugate()
+ * @generated
+ */
+ void setIsConjugate(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Notification</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Notification</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is Notification</em>' attribute.
+ * @see #setIsNotification(boolean)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTPort_IsNotification()
+ * @model
+ * @generated
+ */
+ boolean isIsNotification();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsNotification <em>Is Notification</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Notification</em>' attribute.
+ * @see #isIsNotification()
+ * @generated
+ */
+ void setIsNotification(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Publish</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Publish</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is Publish</em>' attribute.
+ * @see #setIsPublish(boolean)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTPort_IsPublish()
+ * @model
+ * @generated
+ */
+ boolean isIsPublish();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsPublish <em>Is Publish</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Publish</em>' attribute.
+ * @see #isIsPublish()
+ * @generated
+ */
+ void setIsPublish(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Wired</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Wired</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Is Wired</em>' attribute.
+ * @see #setIsWired(boolean)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTPort_IsWired()
+ * @model default="true"
+ * @generated
+ */
+ boolean isIsWired();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsWired <em>Is Wired</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Is Wired</em>' attribute.
+ * @see #isIsWired()
+ * @generated
+ */
+ void setIsWired(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Registration</b></em>' attribute.
+ * The default value is <code>"Automatic"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Registration</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Registration</em>' attribute.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType
+ * @see #setRegistration(PortRegistrationType)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTPort_Registration()
+ * @model default="Automatic"
+ * @generated
+ */
+ PortRegistrationType getRegistration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getRegistration <em>Registration</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Registration</em>' attribute.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType
+ * @see #getRegistration()
+ * @generated
+ */
+ void setRegistration(PortRegistrationType value);
+
+ /**
+ * Returns the value of the '<em><b>Registration Override</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Registration Override</em>' attribute isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Registration Override</em>' attribute.
+ * @see #setRegistrationOverride(String)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTPort_RegistrationOverride()
+ * @model
+ * @generated
+ */
+ String getRegistrationOverride();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getRegistrationOverride <em>Registration Override</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Registration Override</em>' attribute.
+ * @see #getRegistrationOverride()
+ * @generated
+ */
+ void setRegistrationOverride(String value);
+
+} // RTPort
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTRedefinableElement.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTRedefinableElement.java
new file mode 100644
index 00000000000..f36d0e70cf1
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/RTRedefinableElement.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.RedefinableElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>RT Redefinable Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement#getBase_RedefinableElement <em>Base Redefinable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTRedefinableElement()
+ * @model
+ * @generated
+ */
+public interface RTRedefinableElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Redefinable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Redefinable Element</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Redefinable Element</em>' reference.
+ * @see #setBase_RedefinableElement(RedefinableElement)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getRTRedefinableElement_Base_RedefinableElement()
+ * @model required="true"
+ * @generated
+ */
+ RedefinableElement getBase_RedefinableElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement#getBase_RedefinableElement <em>Base Redefinable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Redefinable Element</em>' reference.
+ * @see #getBase_RedefinableElement()
+ * @generated
+ */
+ void setBase_RedefinableElement(RedefinableElement value);
+
+} // RTRedefinableElement
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Trigger.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Trigger.java
new file mode 100644
index 00000000000..e2b7eac8ee4
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/Trigger.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Trigger</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.Trigger#getBase_Operation <em>Base Operation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getTrigger()
+ * @model
+ * @generated
+ */
+public interface Trigger extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Operation</em>' reference isn't clear, there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Base Operation</em>' reference.
+ * @see #setBase_Operation(Operation)
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#getTrigger_Base_Operation()
+ * @model required="true"
+ * @generated
+ */
+ Operation getBase_Operation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.migration.rsa.umlrt.Trigger#getBase_Operation <em>Base Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Base Operation</em>' reference.
+ * @see #getBase_Operation()
+ * @generated
+ */
+ void setBase_Operation(Operation value);
+
+} // Trigger
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/UMLRealTimeFactory.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/UMLRealTimeFactory.java
new file mode 100644
index 00000000000..e5f2006dd83
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/UMLRealTimeFactory.java
@@ -0,0 +1,165 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage
+ * @generated
+ */
+public interface UMLRealTimeFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ UMLRealTimeFactory eINSTANCE = org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimeFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Capsule</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Capsule</em>'.
+ * @generated
+ */
+ Capsule createCapsule();
+
+ /**
+ * Returns a new object of class '<em>Capsule Part</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Capsule Part</em>'.
+ * @generated
+ */
+ CapsulePart createCapsulePart();
+
+ /**
+ * Returns a new object of class '<em>Coregion</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Coregion</em>'.
+ * @generated
+ */
+ Coregion createCoregion();
+
+ /**
+ * Returns a new object of class '<em>In Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>In Event</em>'.
+ * @generated
+ */
+ InEvent createInEvent();
+
+ /**
+ * Returns a new object of class '<em>Out Event</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Out Event</em>'.
+ * @generated
+ */
+ OutEvent createOutEvent();
+
+ /**
+ * Returns a new object of class '<em>Protocol</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Protocol</em>'.
+ * @generated
+ */
+ Protocol createProtocol();
+
+ /**
+ * Returns a new object of class '<em>Protocol Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Protocol Container</em>'.
+ * @generated
+ */
+ ProtocolContainer createProtocolContainer();
+
+ /**
+ * Returns a new object of class '<em>RT Connector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>RT Connector</em>'.
+ * @generated
+ */
+ RTConnector createRTConnector();
+
+ /**
+ * Returns a new object of class '<em>RT Historystate</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>RT Historystate</em>'.
+ * @generated
+ */
+ RTHistorystate createRTHistorystate();
+
+ /**
+ * Returns a new object of class '<em>RT Port</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>RT Port</em>'.
+ * @generated
+ */
+ RTPort createRTPort();
+
+ /**
+ * Returns a new object of class '<em>RT Redefinable Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>RT Redefinable Element</em>'.
+ * @generated
+ */
+ RTRedefinableElement createRTRedefinableElement();
+
+ /**
+ * Returns a new object of class '<em>Trigger</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Trigger</em>'.
+ * @generated
+ */
+ Trigger createTrigger();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ UMLRealTimePackage getUMLRealTimePackage();
+
+} // UMLRealTimeFactory
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/UMLRealTimePackage.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/UMLRealTimePackage.java
new file mode 100644
index 00000000000..345f87b5cd9
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/UMLRealTimePackage.java
@@ -0,0 +1,1404 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimeFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface UMLRealTimePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "umlrt";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/profile/umlrt";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "UMLRealTime";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ UMLRealTimePackage eINSTANCE = org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.AbstractEventImpl <em>Abstract Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.AbstractEventImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getAbstractEvent()
+ * @generated
+ */
+ int ABSTRACT_EVENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_EVENT__BASE_CALL_EVENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Abstract Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_EVENT_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Abstract Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_EVENT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.CapsuleImpl <em>Capsule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.CapsuleImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getCapsule()
+ * @generated
+ */
+ int CAPSULE = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAPSULE__BASE_CLASS = 0;
+
+ /**
+ * The number of structural features of the '<em>Capsule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAPSULE_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Capsule</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAPSULE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.CapsulePartImpl <em>Capsule Part</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.CapsulePartImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getCapsulePart()
+ * @generated
+ */
+ int CAPSULE_PART = 2;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAPSULE_PART__BASE_PROPERTY = 0;
+
+ /**
+ * The number of structural features of the '<em>Capsule Part</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAPSULE_PART_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Capsule Part</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int CAPSULE_PART_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.CoregionImpl <em>Coregion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.CoregionImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getCoregion()
+ * @generated
+ */
+ int COREGION = 3;
+
+ /**
+ * The number of structural features of the '<em>Coregion</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COREGION_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Coregion</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COREGION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.InEventImpl <em>In Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.InEventImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getInEvent()
+ * @generated
+ */
+ int IN_EVENT = 4;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_EVENT__BASE_CALL_EVENT = ABSTRACT_EVENT__BASE_CALL_EVENT;
+
+ /**
+ * The number of structural features of the '<em>In Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_EVENT_FEATURE_COUNT = ABSTRACT_EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>In Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int IN_EVENT_OPERATION_COUNT = ABSTRACT_EVENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.OutEventImpl <em>Out Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.OutEventImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getOutEvent()
+ * @generated
+ */
+ int OUT_EVENT = 5;
+
+ /**
+ * The feature id for the '<em><b>Base Call Event</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUT_EVENT__BASE_CALL_EVENT = ABSTRACT_EVENT__BASE_CALL_EVENT;
+
+ /**
+ * The number of structural features of the '<em>Out Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUT_EVENT_FEATURE_COUNT = ABSTRACT_EVENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Out Event</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int OUT_EVENT_OPERATION_COUNT = ABSTRACT_EVENT_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.ProtocolImpl <em>Protocol</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.ProtocolImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getProtocol()
+ * @generated
+ */
+ int PROTOCOL = 6;
+
+ /**
+ * The feature id for the '<em><b>Base Collaboration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROTOCOL__BASE_COLLABORATION = 0;
+
+ /**
+ * The number of structural features of the '<em>Protocol</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROTOCOL_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Protocol</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROTOCOL_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.ProtocolContainerImpl <em>Protocol Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.ProtocolContainerImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getProtocolContainer()
+ * @generated
+ */
+ int PROTOCOL_CONTAINER = 7;
+
+ /**
+ * The feature id for the '<em><b>Base Package</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROTOCOL_CONTAINER__BASE_PACKAGE = 0;
+
+ /**
+ * The number of structural features of the '<em>Protocol Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROTOCOL_CONTAINER_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Protocol Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PROTOCOL_CONTAINER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTConnectorImpl <em>RT Connector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.RTConnectorImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getRTConnector()
+ * @generated
+ */
+ int RT_CONNECTOR = 8;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_CONNECTOR__BASE_CONNECTOR = 0;
+
+ /**
+ * The number of structural features of the '<em>RT Connector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_CONNECTOR_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>RT Connector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_CONNECTOR_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTHistorystateImpl <em>RT Historystate</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.RTHistorystateImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getRTHistorystate()
+ * @generated
+ */
+ int RT_HISTORYSTATE = 9;
+
+ /**
+ * The feature id for the '<em><b>Base Pseudostate</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_HISTORYSTATE__BASE_PSEUDOSTATE = 0;
+
+ /**
+ * The feature id for the '<em><b>History Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_HISTORYSTATE__HISTORY_KIND = 1;
+
+ /**
+ * The number of structural features of the '<em>RT Historystate</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_HISTORYSTATE_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>RT Historystate</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_HISTORYSTATE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl <em>RT Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getRTPort()
+ * @generated
+ */
+ int RT_PORT = 10;
+
+ /**
+ * The feature id for the '<em><b>Base Port</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_PORT__BASE_PORT = 0;
+
+ /**
+ * The feature id for the '<em><b>Is Conjugate</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_PORT__IS_CONJUGATE = 1;
+
+ /**
+ * The feature id for the '<em><b>Is Notification</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_PORT__IS_NOTIFICATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Is Publish</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_PORT__IS_PUBLISH = 3;
+
+ /**
+ * The feature id for the '<em><b>Is Wired</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_PORT__IS_WIRED = 4;
+
+ /**
+ * The feature id for the '<em><b>Registration</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_PORT__REGISTRATION = 5;
+
+ /**
+ * The feature id for the '<em><b>Registration Override</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_PORT__REGISTRATION_OVERRIDE = 6;
+
+ /**
+ * The number of structural features of the '<em>RT Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_PORT_FEATURE_COUNT = 7;
+
+ /**
+ * The number of operations of the '<em>RT Port</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_PORT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTRedefinableElementImpl <em>RT Redefinable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.RTRedefinableElementImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getRTRedefinableElement()
+ * @generated
+ */
+ int RT_REDEFINABLE_ELEMENT = 11;
+
+ /**
+ * The feature id for the '<em><b>Base Redefinable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>RT Redefinable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_REDEFINABLE_ELEMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>RT Redefinable Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int RT_REDEFINABLE_ELEMENT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.TriggerImpl <em>Trigger</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.TriggerImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getTrigger()
+ * @generated
+ */
+ int TRIGGER = 12;
+
+ /**
+ * The feature id for the '<em><b>Base Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TRIGGER__BASE_OPERATION = 0;
+
+ /**
+ * The number of structural features of the '<em>Trigger</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TRIGGER_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Trigger</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int TRIGGER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType <em>Port Registration Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getPortRegistrationType()
+ * @generated
+ */
+ int PORT_REGISTRATION_TYPE = 13;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind <em>History Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getHistoryKind()
+ * @generated
+ */
+ int HISTORY_KIND = 14;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent <em>Abstract Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Abstract Event</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent
+ * @generated
+ */
+ EClass getAbstractEvent();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent#getBase_CallEvent <em>Base Call Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Call Event</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent#getBase_CallEvent()
+ * @see #getAbstractEvent()
+ * @generated
+ */
+ EReference getAbstractEvent_Base_CallEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.Capsule <em>Capsule</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Capsule</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Capsule
+ * @generated
+ */
+ EClass getCapsule();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.umlrt.Capsule#getBase_Class <em>Base Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Class</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Capsule#getBase_Class()
+ * @see #getCapsule()
+ * @generated
+ */
+ EReference getCapsule_Base_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart <em>Capsule Part</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Capsule Part</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart
+ * @generated
+ */
+ EClass getCapsulePart();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart#getBase_Property <em>Base Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Property</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart#getBase_Property()
+ * @see #getCapsulePart()
+ * @generated
+ */
+ EReference getCapsulePart_Base_Property();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.Coregion <em>Coregion</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Coregion</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Coregion
+ * @generated
+ */
+ EClass getCoregion();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.InEvent <em>In Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>In Event</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.InEvent
+ * @generated
+ */
+ EClass getInEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.OutEvent <em>Out Event</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Out Event</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.OutEvent
+ * @generated
+ */
+ EClass getOutEvent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.Protocol <em>Protocol</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Protocol</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Protocol
+ * @generated
+ */
+ EClass getProtocol();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.umlrt.Protocol#getBase_Collaboration <em>Base Collaboration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Collaboration</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Protocol#getBase_Collaboration()
+ * @see #getProtocol()
+ * @generated
+ */
+ EReference getProtocol_Base_Collaboration();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer <em>Protocol Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Protocol Container</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer
+ * @generated
+ */
+ EClass getProtocolContainer();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer#getBase_Package <em>Base Package</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Package</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer#getBase_Package()
+ * @see #getProtocolContainer()
+ * @generated
+ */
+ EReference getProtocolContainer_Base_Package();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTConnector <em>RT Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>RT Connector</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTConnector
+ * @generated
+ */
+ EClass getRTConnector();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTConnector#getBase_Connector <em>Base Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Connector</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTConnector#getBase_Connector()
+ * @see #getRTConnector()
+ * @generated
+ */
+ EReference getRTConnector_Base_Connector();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate <em>RT Historystate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>RT Historystate</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate
+ * @generated
+ */
+ EClass getRTHistorystate();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate#getBase_Pseudostate <em>Base Pseudostate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Pseudostate</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate#getBase_Pseudostate()
+ * @see #getRTHistorystate()
+ * @generated
+ */
+ EReference getRTHistorystate_Base_Pseudostate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate#getHistoryKind <em>History Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>History Kind</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate#getHistoryKind()
+ * @see #getRTHistorystate()
+ * @generated
+ */
+ EAttribute getRTHistorystate_HistoryKind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort <em>RT Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>RT Port</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTPort
+ * @generated
+ */
+ EClass getRTPort();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getBase_Port <em>Base Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Port</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getBase_Port()
+ * @see #getRTPort()
+ * @generated
+ */
+ EReference getRTPort_Base_Port();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsConjugate <em>Is Conjugate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Conjugate</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsConjugate()
+ * @see #getRTPort()
+ * @generated
+ */
+ EAttribute getRTPort_IsConjugate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsNotification <em>Is Notification</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Notification</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsNotification()
+ * @see #getRTPort()
+ * @generated
+ */
+ EAttribute getRTPort_IsNotification();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsPublish <em>Is Publish</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Publish</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsPublish()
+ * @see #getRTPort()
+ * @generated
+ */
+ EAttribute getRTPort_IsPublish();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsWired <em>Is Wired</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Is Wired</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTPort#isIsWired()
+ * @see #getRTPort()
+ * @generated
+ */
+ EAttribute getRTPort_IsWired();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getRegistration <em>Registration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Registration</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getRegistration()
+ * @see #getRTPort()
+ * @generated
+ */
+ EAttribute getRTPort_Registration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getRegistrationOverride <em>Registration Override</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Registration Override</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTPort#getRegistrationOverride()
+ * @see #getRTPort()
+ * @generated
+ */
+ EAttribute getRTPort_RegistrationOverride();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement <em>RT Redefinable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>RT Redefinable Element</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement
+ * @generated
+ */
+ EClass getRTRedefinableElement();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement#getBase_RedefinableElement <em>Base Redefinable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Redefinable Element</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement#getBase_RedefinableElement()
+ * @see #getRTRedefinableElement()
+ * @generated
+ */
+ EReference getRTRedefinableElement_Base_RedefinableElement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.migration.rsa.umlrt.Trigger <em>Trigger</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Trigger</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Trigger
+ * @generated
+ */
+ EClass getTrigger();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.migration.rsa.umlrt.Trigger#getBase_Operation <em>Base Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the reference '<em>Base Operation</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Trigger#getBase_Operation()
+ * @see #getTrigger()
+ * @generated
+ */
+ EReference getTrigger_Base_Operation();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType <em>Port Registration Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>Port Registration Type</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType
+ * @generated
+ */
+ EEnum getPortRegistrationType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind <em>History Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for enum '<em>History Kind</em>'.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind
+ * @generated
+ */
+ EEnum getHistoryKind();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ UMLRealTimeFactory getUMLRealTimeFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.AbstractEventImpl <em>Abstract Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.AbstractEventImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getAbstractEvent()
+ * @generated
+ */
+ EClass ABSTRACT_EVENT = eINSTANCE.getAbstractEvent();
+
+ /**
+ * The meta object literal for the '<em><b>Base Call Event</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference ABSTRACT_EVENT__BASE_CALL_EVENT = eINSTANCE.getAbstractEvent_Base_CallEvent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.CapsuleImpl <em>Capsule</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.CapsuleImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getCapsule()
+ * @generated
+ */
+ EClass CAPSULE = eINSTANCE.getCapsule();
+
+ /**
+ * The meta object literal for the '<em><b>Base Class</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CAPSULE__BASE_CLASS = eINSTANCE.getCapsule_Base_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.CapsulePartImpl <em>Capsule Part</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.CapsulePartImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getCapsulePart()
+ * @generated
+ */
+ EClass CAPSULE_PART = eINSTANCE.getCapsulePart();
+
+ /**
+ * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference CAPSULE_PART__BASE_PROPERTY = eINSTANCE.getCapsulePart_Base_Property();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.CoregionImpl <em>Coregion</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.CoregionImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getCoregion()
+ * @generated
+ */
+ EClass COREGION = eINSTANCE.getCoregion();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.InEventImpl <em>In Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.InEventImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getInEvent()
+ * @generated
+ */
+ EClass IN_EVENT = eINSTANCE.getInEvent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.OutEventImpl <em>Out Event</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.OutEventImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getOutEvent()
+ * @generated
+ */
+ EClass OUT_EVENT = eINSTANCE.getOutEvent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.ProtocolImpl <em>Protocol</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.ProtocolImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getProtocol()
+ * @generated
+ */
+ EClass PROTOCOL = eINSTANCE.getProtocol();
+
+ /**
+ * The meta object literal for the '<em><b>Base Collaboration</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PROTOCOL__BASE_COLLABORATION = eINSTANCE.getProtocol_Base_Collaboration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.ProtocolContainerImpl <em>Protocol Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.ProtocolContainerImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getProtocolContainer()
+ * @generated
+ */
+ EClass PROTOCOL_CONTAINER = eINSTANCE.getProtocolContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Base Package</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference PROTOCOL_CONTAINER__BASE_PACKAGE = eINSTANCE.getProtocolContainer_Base_Package();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTConnectorImpl <em>RT Connector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.RTConnectorImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getRTConnector()
+ * @generated
+ */
+ EClass RT_CONNECTOR = eINSTANCE.getRTConnector();
+
+ /**
+ * The meta object literal for the '<em><b>Base Connector</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RT_CONNECTOR__BASE_CONNECTOR = eINSTANCE.getRTConnector_Base_Connector();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTHistorystateImpl <em>RT Historystate</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.RTHistorystateImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getRTHistorystate()
+ * @generated
+ */
+ EClass RT_HISTORYSTATE = eINSTANCE.getRTHistorystate();
+
+ /**
+ * The meta object literal for the '<em><b>Base Pseudostate</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RT_HISTORYSTATE__BASE_PSEUDOSTATE = eINSTANCE.getRTHistorystate_Base_Pseudostate();
+
+ /**
+ * The meta object literal for the '<em><b>History Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute RT_HISTORYSTATE__HISTORY_KIND = eINSTANCE.getRTHistorystate_HistoryKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl <em>RT Port</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getRTPort()
+ * @generated
+ */
+ EClass RT_PORT = eINSTANCE.getRTPort();
+
+ /**
+ * The meta object literal for the '<em><b>Base Port</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RT_PORT__BASE_PORT = eINSTANCE.getRTPort_Base_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Is Conjugate</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute RT_PORT__IS_CONJUGATE = eINSTANCE.getRTPort_IsConjugate();
+
+ /**
+ * The meta object literal for the '<em><b>Is Notification</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute RT_PORT__IS_NOTIFICATION = eINSTANCE.getRTPort_IsNotification();
+
+ /**
+ * The meta object literal for the '<em><b>Is Publish</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute RT_PORT__IS_PUBLISH = eINSTANCE.getRTPort_IsPublish();
+
+ /**
+ * The meta object literal for the '<em><b>Is Wired</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute RT_PORT__IS_WIRED = eINSTANCE.getRTPort_IsWired();
+
+ /**
+ * The meta object literal for the '<em><b>Registration</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute RT_PORT__REGISTRATION = eINSTANCE.getRTPort_Registration();
+
+ /**
+ * The meta object literal for the '<em><b>Registration Override</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute RT_PORT__REGISTRATION_OVERRIDE = eINSTANCE.getRTPort_RegistrationOverride();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTRedefinableElementImpl <em>RT Redefinable Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.RTRedefinableElementImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getRTRedefinableElement()
+ * @generated
+ */
+ EClass RT_REDEFINABLE_ELEMENT = eINSTANCE.getRTRedefinableElement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Redefinable Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference RT_REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT = eINSTANCE.getRTRedefinableElement_Base_RedefinableElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.TriggerImpl <em>Trigger</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.TriggerImpl
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getTrigger()
+ * @generated
+ */
+ EClass TRIGGER = eINSTANCE.getTrigger();
+
+ /**
+ * The meta object literal for the '<em><b>Base Operation</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference TRIGGER__BASE_OPERATION = eINSTANCE.getTrigger_Base_Operation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType <em>Port Registration Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getPortRegistrationType()
+ * @generated
+ */
+ EEnum PORT_REGISTRATION_TYPE = eINSTANCE.getPortRegistrationType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind <em>History Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.impl.UMLRealTimePackageImpl#getHistoryKind()
+ * @generated
+ */
+ EEnum HISTORY_KIND = eINSTANCE.getHistoryKind();
+
+ }
+
+} // UMLRealTimePackage
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/AbstractEventImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/AbstractEventImpl.java
new file mode 100644
index 00000000000..2a8832ff1f4
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/AbstractEventImpl.java
@@ -0,0 +1,179 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+import org.eclipse.uml2.uml.CallEvent;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.AbstractEventImpl#getBase_CallEvent <em>Base Call Event</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AbstractEventImpl extends MinimalEObjectImpl.Container implements AbstractEvent {
+ /**
+ * The cached value of the '{@link #getBase_CallEvent() <em>Base Call Event</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_CallEvent()
+ * @generated
+ * @ordered
+ */
+ protected CallEvent base_CallEvent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AbstractEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.ABSTRACT_EVENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public CallEvent getBase_CallEvent() {
+ if (base_CallEvent != null && base_CallEvent.eIsProxy()) {
+ InternalEObject oldBase_CallEvent = (InternalEObject) base_CallEvent;
+ base_CallEvent = (CallEvent) eResolveProxy(oldBase_CallEvent);
+ if (base_CallEvent != oldBase_CallEvent) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRealTimePackage.ABSTRACT_EVENT__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+ }
+ }
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CallEvent basicGetBase_CallEvent() {
+ return base_CallEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_CallEvent(CallEvent newBase_CallEvent) {
+ CallEvent oldBase_CallEvent = base_CallEvent;
+ base_CallEvent = newBase_CallEvent;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.ABSTRACT_EVENT__BASE_CALL_EVENT, oldBase_CallEvent, base_CallEvent));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLRealTimePackage.ABSTRACT_EVENT__BASE_CALL_EVENT:
+ if (resolve) {
+ return getBase_CallEvent();
+ }
+ return basicGetBase_CallEvent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLRealTimePackage.ABSTRACT_EVENT__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.ABSTRACT_EVENT__BASE_CALL_EVENT:
+ setBase_CallEvent((CallEvent) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.ABSTRACT_EVENT__BASE_CALL_EVENT:
+ return base_CallEvent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // AbstractEventImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CapsuleImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CapsuleImpl.java
new file mode 100644
index 00000000000..a7fa5a83917
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CapsuleImpl.java
@@ -0,0 +1,178 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.Capsule;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Capsule</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.CapsuleImpl#getBase_Class <em>Base Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CapsuleImpl extends MinimalEObjectImpl.Container implements Capsule {
+ /**
+ * The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Class()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Class base_Class;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CapsuleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.CAPSULE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public org.eclipse.uml2.uml.Class getBase_Class() {
+ if (base_Class != null && base_Class.eIsProxy()) {
+ InternalEObject oldBase_Class = (InternalEObject) base_Class;
+ base_Class = (org.eclipse.uml2.uml.Class) eResolveProxy(oldBase_Class);
+ if (base_Class != oldBase_Class) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRealTimePackage.CAPSULE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+ }
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Class basicGetBase_Class() {
+ return base_Class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
+ org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
+ base_Class = newBase_Class;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.CAPSULE__BASE_CLASS, oldBase_Class, base_Class));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLRealTimePackage.CAPSULE__BASE_CLASS:
+ if (resolve) {
+ return getBase_Class();
+ }
+ return basicGetBase_Class();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLRealTimePackage.CAPSULE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.CAPSULE__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.CAPSULE__BASE_CLASS:
+ return base_Class != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // CapsuleImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CapsulePartImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CapsulePartImpl.java
new file mode 100644
index 00000000000..a6270547cb1
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CapsulePartImpl.java
@@ -0,0 +1,179 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Capsule Part</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.CapsulePartImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CapsulePartImpl extends MinimalEObjectImpl.Container implements CapsulePart {
+ /**
+ * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CapsulePartImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.CAPSULE_PART;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Property getBase_Property() {
+ if (base_Property != null && base_Property.eIsProxy()) {
+ InternalEObject oldBase_Property = (InternalEObject) base_Property;
+ base_Property = (Property) eResolveProxy(oldBase_Property);
+ if (base_Property != oldBase_Property) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRealTimePackage.CAPSULE_PART__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Property(Property newBase_Property) {
+ Property oldBase_Property = base_Property;
+ base_Property = newBase_Property;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.CAPSULE_PART__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLRealTimePackage.CAPSULE_PART__BASE_PROPERTY:
+ if (resolve) {
+ return getBase_Property();
+ }
+ return basicGetBase_Property();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLRealTimePackage.CAPSULE_PART__BASE_PROPERTY:
+ setBase_Property((Property) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.CAPSULE_PART__BASE_PROPERTY:
+ setBase_Property((Property) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.CAPSULE_PART__BASE_PROPERTY:
+ return base_Property != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // CapsulePartImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CoregionImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CoregionImpl.java
new file mode 100644
index 00000000000..1b8641e8503
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/CoregionImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.Coregion;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Coregion</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CoregionImpl extends MinimalEObjectImpl.Container implements Coregion {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CoregionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.COREGION;
+ }
+
+} // CoregionImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/InEventImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/InEventImpl.java
new file mode 100644
index 00000000000..2b22da2defe
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/InEventImpl.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.migration.rsa.umlrt.InEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>In Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class InEventImpl extends AbstractEventImpl implements InEvent {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected InEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.IN_EVENT;
+ }
+
+} // InEventImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/OutEventImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/OutEventImpl.java
new file mode 100644
index 00000000000..fab1fcd5e08
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/OutEventImpl.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.migration.rsa.umlrt.OutEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Out Event</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class OutEventImpl extends AbstractEventImpl implements OutEvent {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected OutEventImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.OUT_EVENT;
+ }
+
+} // OutEventImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/ProtocolContainerImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/ProtocolContainerImpl.java
new file mode 100644
index 00000000000..7722e54cf7b
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/ProtocolContainerImpl.java
@@ -0,0 +1,178 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Protocol Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.ProtocolContainerImpl#getBase_Package <em>Base Package</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProtocolContainerImpl extends MinimalEObjectImpl.Container implements ProtocolContainer {
+ /**
+ * The cached value of the '{@link #getBase_Package() <em>Base Package</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Package()
+ * @generated
+ * @ordered
+ */
+ protected org.eclipse.uml2.uml.Package base_Package;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ProtocolContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.PROTOCOL_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public org.eclipse.uml2.uml.Package getBase_Package() {
+ if (base_Package != null && base_Package.eIsProxy()) {
+ InternalEObject oldBase_Package = (InternalEObject) base_Package;
+ base_Package = (org.eclipse.uml2.uml.Package) eResolveProxy(oldBase_Package);
+ if (base_Package != oldBase_Package) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRealTimePackage.PROTOCOL_CONTAINER__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+ }
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public org.eclipse.uml2.uml.Package basicGetBase_Package() {
+ return base_Package;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Package(org.eclipse.uml2.uml.Package newBase_Package) {
+ org.eclipse.uml2.uml.Package oldBase_Package = base_Package;
+ base_Package = newBase_Package;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.PROTOCOL_CONTAINER__BASE_PACKAGE, oldBase_Package, base_Package));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLRealTimePackage.PROTOCOL_CONTAINER__BASE_PACKAGE:
+ if (resolve) {
+ return getBase_Package();
+ }
+ return basicGetBase_Package();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLRealTimePackage.PROTOCOL_CONTAINER__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.PROTOCOL_CONTAINER__BASE_PACKAGE:
+ setBase_Package((org.eclipse.uml2.uml.Package) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.PROTOCOL_CONTAINER__BASE_PACKAGE:
+ return base_Package != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ProtocolContainerImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/ProtocolImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/ProtocolImpl.java
new file mode 100644
index 00000000000..579398a436f
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/ProtocolImpl.java
@@ -0,0 +1,179 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.Protocol;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+import org.eclipse.uml2.uml.Collaboration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Protocol</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.ProtocolImpl#getBase_Collaboration <em>Base Collaboration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProtocolImpl extends MinimalEObjectImpl.Container implements Protocol {
+ /**
+ * The cached value of the '{@link #getBase_Collaboration() <em>Base Collaboration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Collaboration()
+ * @generated
+ * @ordered
+ */
+ protected Collaboration base_Collaboration;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ProtocolImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.PROTOCOL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collaboration getBase_Collaboration() {
+ if (base_Collaboration != null && base_Collaboration.eIsProxy()) {
+ InternalEObject oldBase_Collaboration = (InternalEObject) base_Collaboration;
+ base_Collaboration = (Collaboration) eResolveProxy(oldBase_Collaboration);
+ if (base_Collaboration != oldBase_Collaboration) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRealTimePackage.PROTOCOL__BASE_COLLABORATION, oldBase_Collaboration, base_Collaboration));
+ }
+ }
+ }
+ return base_Collaboration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Collaboration basicGetBase_Collaboration() {
+ return base_Collaboration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Collaboration(Collaboration newBase_Collaboration) {
+ Collaboration oldBase_Collaboration = base_Collaboration;
+ base_Collaboration = newBase_Collaboration;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.PROTOCOL__BASE_COLLABORATION, oldBase_Collaboration, base_Collaboration));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLRealTimePackage.PROTOCOL__BASE_COLLABORATION:
+ if (resolve) {
+ return getBase_Collaboration();
+ }
+ return basicGetBase_Collaboration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLRealTimePackage.PROTOCOL__BASE_COLLABORATION:
+ setBase_Collaboration((Collaboration) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.PROTOCOL__BASE_COLLABORATION:
+ setBase_Collaboration((Collaboration) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.PROTOCOL__BASE_COLLABORATION:
+ return base_Collaboration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // ProtocolImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTConnectorImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTConnectorImpl.java
new file mode 100644
index 00000000000..9577bb84bcd
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTConnectorImpl.java
@@ -0,0 +1,179 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTConnector;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+import org.eclipse.uml2.uml.Connector;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>RT Connector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTConnectorImpl#getBase_Connector <em>Base Connector</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RTConnectorImpl extends MinimalEObjectImpl.Container implements RTConnector {
+ /**
+ * The cached value of the '{@link #getBase_Connector() <em>Base Connector</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Connector()
+ * @generated
+ * @ordered
+ */
+ protected Connector base_Connector;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RTConnectorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.RT_CONNECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Connector getBase_Connector() {
+ if (base_Connector != null && base_Connector.eIsProxy()) {
+ InternalEObject oldBase_Connector = (InternalEObject) base_Connector;
+ base_Connector = (Connector) eResolveProxy(oldBase_Connector);
+ if (base_Connector != oldBase_Connector) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRealTimePackage.RT_CONNECTOR__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+ }
+ }
+ }
+ return base_Connector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Connector basicGetBase_Connector() {
+ return base_Connector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Connector(Connector newBase_Connector) {
+ Connector oldBase_Connector = base_Connector;
+ base_Connector = newBase_Connector;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_CONNECTOR__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_CONNECTOR__BASE_CONNECTOR:
+ if (resolve) {
+ return getBase_Connector();
+ }
+ return basicGetBase_Connector();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_CONNECTOR__BASE_CONNECTOR:
+ setBase_Connector((Connector) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_CONNECTOR__BASE_CONNECTOR:
+ setBase_Connector((Connector) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_CONNECTOR__BASE_CONNECTOR:
+ return base_Connector != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RTConnectorImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTHistorystateImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTHistorystateImpl.java
new file mode 100644
index 00000000000..ea144aa1bf3
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTHistorystateImpl.java
@@ -0,0 +1,258 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+import org.eclipse.uml2.uml.Pseudostate;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>RT Historystate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTHistorystateImpl#getBase_Pseudostate <em>Base Pseudostate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTHistorystateImpl#getHistoryKind <em>History Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RTHistorystateImpl extends MinimalEObjectImpl.Container implements RTHistorystate {
+ /**
+ * The cached value of the '{@link #getBase_Pseudostate() <em>Base Pseudostate</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Pseudostate()
+ * @generated
+ * @ordered
+ */
+ protected Pseudostate base_Pseudostate;
+
+ /**
+ * The default value of the '{@link #getHistoryKind() <em>History Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getHistoryKind()
+ * @generated
+ * @ordered
+ */
+ protected static final HistoryKind HISTORY_KIND_EDEFAULT = HistoryKind.DEEP;
+
+ /**
+ * The cached value of the '{@link #getHistoryKind() <em>History Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getHistoryKind()
+ * @generated
+ * @ordered
+ */
+ protected HistoryKind historyKind = HISTORY_KIND_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RTHistorystateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.RT_HISTORYSTATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Pseudostate getBase_Pseudostate() {
+ if (base_Pseudostate != null && base_Pseudostate.eIsProxy()) {
+ InternalEObject oldBase_Pseudostate = (InternalEObject) base_Pseudostate;
+ base_Pseudostate = (Pseudostate) eResolveProxy(oldBase_Pseudostate);
+ if (base_Pseudostate != oldBase_Pseudostate) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRealTimePackage.RT_HISTORYSTATE__BASE_PSEUDOSTATE, oldBase_Pseudostate, base_Pseudostate));
+ }
+ }
+ }
+ return base_Pseudostate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Pseudostate basicGetBase_Pseudostate() {
+ return base_Pseudostate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Pseudostate(Pseudostate newBase_Pseudostate) {
+ Pseudostate oldBase_Pseudostate = base_Pseudostate;
+ base_Pseudostate = newBase_Pseudostate;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_HISTORYSTATE__BASE_PSEUDOSTATE, oldBase_Pseudostate, base_Pseudostate));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public HistoryKind getHistoryKind() {
+ return historyKind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setHistoryKind(HistoryKind newHistoryKind) {
+ HistoryKind oldHistoryKind = historyKind;
+ historyKind = newHistoryKind == null ? HISTORY_KIND_EDEFAULT : newHistoryKind;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_HISTORYSTATE__HISTORY_KIND, oldHistoryKind, historyKind));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_HISTORYSTATE__BASE_PSEUDOSTATE:
+ if (resolve) {
+ return getBase_Pseudostate();
+ }
+ return basicGetBase_Pseudostate();
+ case UMLRealTimePackage.RT_HISTORYSTATE__HISTORY_KIND:
+ return getHistoryKind();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_HISTORYSTATE__BASE_PSEUDOSTATE:
+ setBase_Pseudostate((Pseudostate) newValue);
+ return;
+ case UMLRealTimePackage.RT_HISTORYSTATE__HISTORY_KIND:
+ setHistoryKind((HistoryKind) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_HISTORYSTATE__BASE_PSEUDOSTATE:
+ setBase_Pseudostate((Pseudostate) null);
+ return;
+ case UMLRealTimePackage.RT_HISTORYSTATE__HISTORY_KIND:
+ setHistoryKind(HISTORY_KIND_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_HISTORYSTATE__BASE_PSEUDOSTATE:
+ return base_Pseudostate != null;
+ case UMLRealTimePackage.RT_HISTORYSTATE__HISTORY_KIND:
+ return historyKind != HISTORY_KIND_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (historyKind: ");
+ result.append(historyKind);
+ result.append(')');
+ return result.toString();
+ }
+
+} // RTHistorystateImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTPortImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTPortImpl.java
new file mode 100644
index 00000000000..bca785b086e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTPortImpl.java
@@ -0,0 +1,563 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTPort;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+import org.eclipse.uml2.uml.Port;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>RT Port</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl#getBase_Port <em>Base Port</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl#isIsConjugate <em>Is Conjugate</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl#isIsNotification <em>Is Notification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl#isIsPublish <em>Is Publish</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl#isIsWired <em>Is Wired</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl#getRegistration <em>Registration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTPortImpl#getRegistrationOverride <em>Registration Override</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RTPortImpl extends MinimalEObjectImpl.Container implements RTPort {
+ /**
+ * The cached value of the '{@link #getBase_Port() <em>Base Port</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Port()
+ * @generated
+ * @ordered
+ */
+ protected Port base_Port;
+
+ /**
+ * The default value of the '{@link #isIsConjugate() <em>Is Conjugate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isIsConjugate()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_CONJUGATE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsConjugate() <em>Is Conjugate</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isIsConjugate()
+ * @generated
+ * @ordered
+ */
+ protected boolean isConjugate = IS_CONJUGATE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsNotification() <em>Is Notification</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isIsNotification()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_NOTIFICATION_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsNotification() <em>Is Notification</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isIsNotification()
+ * @generated
+ * @ordered
+ */
+ protected boolean isNotification = IS_NOTIFICATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsPublish() <em>Is Publish</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isIsPublish()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_PUBLISH_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsPublish() <em>Is Publish</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isIsPublish()
+ * @generated
+ * @ordered
+ */
+ protected boolean isPublish = IS_PUBLISH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsWired() <em>Is Wired</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isIsWired()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_WIRED_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isIsWired() <em>Is Wired</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #isIsWired()
+ * @generated
+ * @ordered
+ */
+ protected boolean isWired = IS_WIRED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRegistration() <em>Registration</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getRegistration()
+ * @generated
+ * @ordered
+ */
+ protected static final PortRegistrationType REGISTRATION_EDEFAULT = PortRegistrationType.AUTOMATIC;
+
+ /**
+ * The cached value of the '{@link #getRegistration() <em>Registration</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getRegistration()
+ * @generated
+ * @ordered
+ */
+ protected PortRegistrationType registration = REGISTRATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRegistrationOverride() <em>Registration Override</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getRegistrationOverride()
+ * @generated
+ * @ordered
+ */
+ protected static final String REGISTRATION_OVERRIDE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRegistrationOverride() <em>Registration Override</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getRegistrationOverride()
+ * @generated
+ * @ordered
+ */
+ protected String registrationOverride = REGISTRATION_OVERRIDE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RTPortImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.RT_PORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Port getBase_Port() {
+ if (base_Port != null && base_Port.eIsProxy()) {
+ InternalEObject oldBase_Port = (InternalEObject) base_Port;
+ base_Port = (Port) eResolveProxy(oldBase_Port);
+ if (base_Port != oldBase_Port) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRealTimePackage.RT_PORT__BASE_PORT, oldBase_Port, base_Port));
+ }
+ }
+ }
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Port basicGetBase_Port() {
+ return base_Port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Port(Port newBase_Port) {
+ Port oldBase_Port = base_Port;
+ base_Port = newBase_Port;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_PORT__BASE_PORT, oldBase_Port, base_Port));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isIsConjugate() {
+ return isConjugate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIsConjugate(boolean newIsConjugate) {
+ boolean oldIsConjugate = isConjugate;
+ isConjugate = newIsConjugate;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_PORT__IS_CONJUGATE, oldIsConjugate, isConjugate));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isIsNotification() {
+ return isNotification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIsNotification(boolean newIsNotification) {
+ boolean oldIsNotification = isNotification;
+ isNotification = newIsNotification;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_PORT__IS_NOTIFICATION, oldIsNotification, isNotification));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isIsPublish() {
+ return isPublish;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIsPublish(boolean newIsPublish) {
+ boolean oldIsPublish = isPublish;
+ isPublish = newIsPublish;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_PORT__IS_PUBLISH, oldIsPublish, isPublish));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isIsWired() {
+ return isWired;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setIsWired(boolean newIsWired) {
+ boolean oldIsWired = isWired;
+ isWired = newIsWired;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_PORT__IS_WIRED, oldIsWired, isWired));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public PortRegistrationType getRegistration() {
+ return registration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setRegistration(PortRegistrationType newRegistration) {
+ PortRegistrationType oldRegistration = registration;
+ registration = newRegistration == null ? REGISTRATION_EDEFAULT : newRegistration;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_PORT__REGISTRATION, oldRegistration, registration));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getRegistrationOverride() {
+ return registrationOverride;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setRegistrationOverride(String newRegistrationOverride) {
+ String oldRegistrationOverride = registrationOverride;
+ registrationOverride = newRegistrationOverride;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_PORT__REGISTRATION_OVERRIDE, oldRegistrationOverride, registrationOverride));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_PORT__BASE_PORT:
+ if (resolve) {
+ return getBase_Port();
+ }
+ return basicGetBase_Port();
+ case UMLRealTimePackage.RT_PORT__IS_CONJUGATE:
+ return isIsConjugate();
+ case UMLRealTimePackage.RT_PORT__IS_NOTIFICATION:
+ return isIsNotification();
+ case UMLRealTimePackage.RT_PORT__IS_PUBLISH:
+ return isIsPublish();
+ case UMLRealTimePackage.RT_PORT__IS_WIRED:
+ return isIsWired();
+ case UMLRealTimePackage.RT_PORT__REGISTRATION:
+ return getRegistration();
+ case UMLRealTimePackage.RT_PORT__REGISTRATION_OVERRIDE:
+ return getRegistrationOverride();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_PORT__BASE_PORT:
+ setBase_Port((Port) newValue);
+ return;
+ case UMLRealTimePackage.RT_PORT__IS_CONJUGATE:
+ setIsConjugate((Boolean) newValue);
+ return;
+ case UMLRealTimePackage.RT_PORT__IS_NOTIFICATION:
+ setIsNotification((Boolean) newValue);
+ return;
+ case UMLRealTimePackage.RT_PORT__IS_PUBLISH:
+ setIsPublish((Boolean) newValue);
+ return;
+ case UMLRealTimePackage.RT_PORT__IS_WIRED:
+ setIsWired((Boolean) newValue);
+ return;
+ case UMLRealTimePackage.RT_PORT__REGISTRATION:
+ setRegistration((PortRegistrationType) newValue);
+ return;
+ case UMLRealTimePackage.RT_PORT__REGISTRATION_OVERRIDE:
+ setRegistrationOverride((String) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_PORT__BASE_PORT:
+ setBase_Port((Port) null);
+ return;
+ case UMLRealTimePackage.RT_PORT__IS_CONJUGATE:
+ setIsConjugate(IS_CONJUGATE_EDEFAULT);
+ return;
+ case UMLRealTimePackage.RT_PORT__IS_NOTIFICATION:
+ setIsNotification(IS_NOTIFICATION_EDEFAULT);
+ return;
+ case UMLRealTimePackage.RT_PORT__IS_PUBLISH:
+ setIsPublish(IS_PUBLISH_EDEFAULT);
+ return;
+ case UMLRealTimePackage.RT_PORT__IS_WIRED:
+ setIsWired(IS_WIRED_EDEFAULT);
+ return;
+ case UMLRealTimePackage.RT_PORT__REGISTRATION:
+ setRegistration(REGISTRATION_EDEFAULT);
+ return;
+ case UMLRealTimePackage.RT_PORT__REGISTRATION_OVERRIDE:
+ setRegistrationOverride(REGISTRATION_OVERRIDE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_PORT__BASE_PORT:
+ return base_Port != null;
+ case UMLRealTimePackage.RT_PORT__IS_CONJUGATE:
+ return isConjugate != IS_CONJUGATE_EDEFAULT;
+ case UMLRealTimePackage.RT_PORT__IS_NOTIFICATION:
+ return isNotification != IS_NOTIFICATION_EDEFAULT;
+ case UMLRealTimePackage.RT_PORT__IS_PUBLISH:
+ return isPublish != IS_PUBLISH_EDEFAULT;
+ case UMLRealTimePackage.RT_PORT__IS_WIRED:
+ return isWired != IS_WIRED_EDEFAULT;
+ case UMLRealTimePackage.RT_PORT__REGISTRATION:
+ return registration != REGISTRATION_EDEFAULT;
+ case UMLRealTimePackage.RT_PORT__REGISTRATION_OVERRIDE:
+ return REGISTRATION_OVERRIDE_EDEFAULT == null ? registrationOverride != null : !REGISTRATION_OVERRIDE_EDEFAULT.equals(registrationOverride);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isConjugate: ");
+ result.append(isConjugate);
+ result.append(", isNotification: ");
+ result.append(isNotification);
+ result.append(", isPublish: ");
+ result.append(isPublish);
+ result.append(", isWired: ");
+ result.append(isWired);
+ result.append(", registration: ");
+ result.append(registration);
+ result.append(", registrationOverride: ");
+ result.append(registrationOverride);
+ result.append(')');
+ return result.toString();
+ }
+
+} // RTPortImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTRedefinableElementImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTRedefinableElementImpl.java
new file mode 100644
index 00000000000..b674fa8c8d6
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/RTRedefinableElementImpl.java
@@ -0,0 +1,179 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+import org.eclipse.uml2.uml.RedefinableElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>RT Redefinable Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.RTRedefinableElementImpl#getBase_RedefinableElement <em>Base Redefinable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RTRedefinableElementImpl extends MinimalEObjectImpl.Container implements RTRedefinableElement {
+ /**
+ * The cached value of the '{@link #getBase_RedefinableElement() <em>Base Redefinable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_RedefinableElement()
+ * @generated
+ * @ordered
+ */
+ protected RedefinableElement base_RedefinableElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected RTRedefinableElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.RT_REDEFINABLE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public RedefinableElement getBase_RedefinableElement() {
+ if (base_RedefinableElement != null && base_RedefinableElement.eIsProxy()) {
+ InternalEObject oldBase_RedefinableElement = (InternalEObject) base_RedefinableElement;
+ base_RedefinableElement = (RedefinableElement) eResolveProxy(oldBase_RedefinableElement);
+ if (base_RedefinableElement != oldBase_RedefinableElement) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRealTimePackage.RT_REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT, oldBase_RedefinableElement, base_RedefinableElement));
+ }
+ }
+ }
+ return base_RedefinableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public RedefinableElement basicGetBase_RedefinableElement() {
+ return base_RedefinableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_RedefinableElement(RedefinableElement newBase_RedefinableElement) {
+ RedefinableElement oldBase_RedefinableElement = base_RedefinableElement;
+ base_RedefinableElement = newBase_RedefinableElement;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.RT_REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT, oldBase_RedefinableElement, base_RedefinableElement));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT:
+ if (resolve) {
+ return getBase_RedefinableElement();
+ }
+ return basicGetBase_RedefinableElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT:
+ setBase_RedefinableElement((RedefinableElement) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT:
+ setBase_RedefinableElement((RedefinableElement) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.RT_REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT:
+ return base_RedefinableElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // RTRedefinableElementImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/TriggerImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/TriggerImpl.java
new file mode 100644
index 00000000000..7fea13e4fba
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/TriggerImpl.java
@@ -0,0 +1,179 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.Trigger;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Trigger</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.migration.rsa.umlrt.impl.TriggerImpl#getBase_Operation <em>Base Operation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TriggerImpl extends MinimalEObjectImpl.Container implements Trigger {
+ /**
+ * The cached value of the '{@link #getBase_Operation() <em>Base Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getBase_Operation()
+ * @generated
+ * @ordered
+ */
+ protected Operation base_Operation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TriggerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLRealTimePackage.Literals.TRIGGER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Operation getBase_Operation() {
+ if (base_Operation != null && base_Operation.eIsProxy()) {
+ InternalEObject oldBase_Operation = (InternalEObject) base_Operation;
+ base_Operation = (Operation) eResolveProxy(oldBase_Operation);
+ if (base_Operation != oldBase_Operation) {
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLRealTimePackage.TRIGGER__BASE_OPERATION, oldBase_Operation, base_Operation));
+ }
+ }
+ }
+ return base_Operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Operation basicGetBase_Operation() {
+ return base_Operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setBase_Operation(Operation newBase_Operation) {
+ Operation oldBase_Operation = base_Operation;
+ base_Operation = newBase_Operation;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLRealTimePackage.TRIGGER__BASE_OPERATION, oldBase_Operation, base_Operation));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLRealTimePackage.TRIGGER__BASE_OPERATION:
+ if (resolve) {
+ return getBase_Operation();
+ }
+ return basicGetBase_Operation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLRealTimePackage.TRIGGER__BASE_OPERATION:
+ setBase_Operation((Operation) newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.TRIGGER__BASE_OPERATION:
+ setBase_Operation((Operation) null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLRealTimePackage.TRIGGER__BASE_OPERATION:
+ return base_Operation != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} // TriggerImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/UMLRealTimeFactoryImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/UMLRealTimeFactoryImpl.java
new file mode 100644
index 00000000000..48b9483e746
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/UMLRealTimeFactoryImpl.java
@@ -0,0 +1,364 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.migration.rsa.umlrt.Capsule;
+import org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart;
+import org.eclipse.papyrus.migration.rsa.umlrt.Coregion;
+import org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind;
+import org.eclipse.papyrus.migration.rsa.umlrt.InEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.OutEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType;
+import org.eclipse.papyrus.migration.rsa.umlrt.Protocol;
+import org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTConnector;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTPort;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement;
+import org.eclipse.papyrus.migration.rsa.umlrt.Trigger;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimeFactory;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class UMLRealTimeFactoryImpl extends EFactoryImpl implements UMLRealTimeFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static UMLRealTimeFactory init() {
+ try {
+ UMLRealTimeFactory theUMLRealTimeFactory = (UMLRealTimeFactory) EPackage.Registry.INSTANCE.getEFactory(UMLRealTimePackage.eNS_URI);
+ if (theUMLRealTimeFactory != null) {
+ return theUMLRealTimeFactory;
+ }
+ } catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new UMLRealTimeFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UMLRealTimeFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case UMLRealTimePackage.CAPSULE:
+ return createCapsule();
+ case UMLRealTimePackage.CAPSULE_PART:
+ return createCapsulePart();
+ case UMLRealTimePackage.COREGION:
+ return createCoregion();
+ case UMLRealTimePackage.IN_EVENT:
+ return createInEvent();
+ case UMLRealTimePackage.OUT_EVENT:
+ return createOutEvent();
+ case UMLRealTimePackage.PROTOCOL:
+ return createProtocol();
+ case UMLRealTimePackage.PROTOCOL_CONTAINER:
+ return createProtocolContainer();
+ case UMLRealTimePackage.RT_CONNECTOR:
+ return createRTConnector();
+ case UMLRealTimePackage.RT_HISTORYSTATE:
+ return createRTHistorystate();
+ case UMLRealTimePackage.RT_PORT:
+ return createRTPort();
+ case UMLRealTimePackage.RT_REDEFINABLE_ELEMENT:
+ return createRTRedefinableElement();
+ case UMLRealTimePackage.TRIGGER:
+ return createTrigger();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case UMLRealTimePackage.PORT_REGISTRATION_TYPE:
+ return createPortRegistrationTypeFromString(eDataType, initialValue);
+ case UMLRealTimePackage.HISTORY_KIND:
+ return createHistoryKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case UMLRealTimePackage.PORT_REGISTRATION_TYPE:
+ return convertPortRegistrationTypeToString(eDataType, instanceValue);
+ case UMLRealTimePackage.HISTORY_KIND:
+ return convertHistoryKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Capsule createCapsule() {
+ CapsuleImpl capsule = new CapsuleImpl();
+ return capsule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public CapsulePart createCapsulePart() {
+ CapsulePartImpl capsulePart = new CapsulePartImpl();
+ return capsulePart;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Coregion createCoregion() {
+ CoregionImpl coregion = new CoregionImpl();
+ return coregion;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public InEvent createInEvent() {
+ InEventImpl inEvent = new InEventImpl();
+ return inEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public OutEvent createOutEvent() {
+ OutEventImpl outEvent = new OutEventImpl();
+ return outEvent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Protocol createProtocol() {
+ ProtocolImpl protocol = new ProtocolImpl();
+ return protocol;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ProtocolContainer createProtocolContainer() {
+ ProtocolContainerImpl protocolContainer = new ProtocolContainerImpl();
+ return protocolContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public RTConnector createRTConnector() {
+ RTConnectorImpl rtConnector = new RTConnectorImpl();
+ return rtConnector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public RTHistorystate createRTHistorystate() {
+ RTHistorystateImpl rtHistorystate = new RTHistorystateImpl();
+ return rtHistorystate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public RTPort createRTPort() {
+ RTPortImpl rtPort = new RTPortImpl();
+ return rtPort;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public RTRedefinableElement createRTRedefinableElement() {
+ RTRedefinableElementImpl rtRedefinableElement = new RTRedefinableElementImpl();
+ return rtRedefinableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Trigger createTrigger() {
+ TriggerImpl trigger = new TriggerImpl();
+ return trigger;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PortRegistrationType createPortRegistrationTypeFromString(EDataType eDataType, String initialValue) {
+ PortRegistrationType result = PortRegistrationType.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertPortRegistrationTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public HistoryKind createHistoryKindFromString(EDataType eDataType, String initialValue) {
+ HistoryKind result = HistoryKind.get(initialValue);
+ if (result == null) {
+ throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ }
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String convertHistoryKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public UMLRealTimePackage getUMLRealTimePackage() {
+ return (UMLRealTimePackage) getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static UMLRealTimePackage getPackage() {
+ return UMLRealTimePackage.eINSTANCE;
+ }
+
+} // UMLRealTimeFactoryImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/UMLRealTimePackageImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/UMLRealTimePackageImpl.java
new file mode 100644
index 00000000000..a9eee4f9dbe
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/impl/UMLRealTimePackageImpl.java
@@ -0,0 +1,770 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+import org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.Capsule;
+import org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart;
+import org.eclipse.papyrus.migration.rsa.umlrt.Coregion;
+import org.eclipse.papyrus.migration.rsa.umlrt.HistoryKind;
+import org.eclipse.papyrus.migration.rsa.umlrt.InEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.OutEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.PortRegistrationType;
+import org.eclipse.papyrus.migration.rsa.umlrt.Protocol;
+import org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTConnector;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTPort;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement;
+import org.eclipse.papyrus.migration.rsa.umlrt.Trigger;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimeFactory;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class UMLRealTimePackageImpl extends EPackageImpl implements UMLRealTimePackage {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass abstractEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass capsuleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass capsulePartEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass coregionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass inEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass outEventEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass protocolEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass protocolContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass rtConnectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass rtHistorystateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass rtPortEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass rtRedefinableElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass triggerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum portRegistrationTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EEnum historyKindEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the
+ * package
+ * package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private UMLRealTimePackageImpl() {
+ super(eNS_URI, UMLRealTimeFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>
+ * This method is used to initialize {@link UMLRealTimePackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static UMLRealTimePackage init() {
+ if (isInited) {
+ return (UMLRealTimePackage) EPackage.Registry.INSTANCE.getEPackage(UMLRealTimePackage.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ UMLRealTimePackageImpl theUMLRealTimePackage = (UMLRealTimePackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof UMLRealTimePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new UMLRealTimePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theUMLRealTimePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theUMLRealTimePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theUMLRealTimePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(UMLRealTimePackage.eNS_URI, theUMLRealTimePackage);
+ return theUMLRealTimePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getAbstractEvent() {
+ return abstractEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getAbstractEvent_Base_CallEvent() {
+ return (EReference) abstractEventEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getCapsule() {
+ return capsuleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getCapsule_Base_Class() {
+ return (EReference) capsuleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getCapsulePart() {
+ return capsulePartEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getCapsulePart_Base_Property() {
+ return (EReference) capsulePartEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getCoregion() {
+ return coregionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getInEvent() {
+ return inEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getOutEvent() {
+ return outEventEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getProtocol() {
+ return protocolEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getProtocol_Base_Collaboration() {
+ return (EReference) protocolEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getProtocolContainer() {
+ return protocolContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getProtocolContainer_Base_Package() {
+ return (EReference) protocolContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getRTConnector() {
+ return rtConnectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getRTConnector_Base_Connector() {
+ return (EReference) rtConnectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getRTHistorystate() {
+ return rtHistorystateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getRTHistorystate_Base_Pseudostate() {
+ return (EReference) rtHistorystateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getRTHistorystate_HistoryKind() {
+ return (EAttribute) rtHistorystateEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getRTPort() {
+ return rtPortEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getRTPort_Base_Port() {
+ return (EReference) rtPortEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getRTPort_IsConjugate() {
+ return (EAttribute) rtPortEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getRTPort_IsNotification() {
+ return (EAttribute) rtPortEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getRTPort_IsPublish() {
+ return (EAttribute) rtPortEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getRTPort_IsWired() {
+ return (EAttribute) rtPortEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getRTPort_Registration() {
+ return (EAttribute) rtPortEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getRTPort_RegistrationOverride() {
+ return (EAttribute) rtPortEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getRTRedefinableElement() {
+ return rtRedefinableElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getRTRedefinableElement_Base_RedefinableElement() {
+ return (EReference) rtRedefinableElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EClass getTrigger() {
+ return triggerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EReference getTrigger_Base_Operation() {
+ return (EReference) triggerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getPortRegistrationType() {
+ return portRegistrationTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EEnum getHistoryKind() {
+ return historyKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public UMLRealTimeFactory getUMLRealTimeFactory() {
+ return (UMLRealTimeFactory) getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ abstractEventEClass = createEClass(ABSTRACT_EVENT);
+ createEReference(abstractEventEClass, ABSTRACT_EVENT__BASE_CALL_EVENT);
+
+ capsuleEClass = createEClass(CAPSULE);
+ createEReference(capsuleEClass, CAPSULE__BASE_CLASS);
+
+ capsulePartEClass = createEClass(CAPSULE_PART);
+ createEReference(capsulePartEClass, CAPSULE_PART__BASE_PROPERTY);
+
+ coregionEClass = createEClass(COREGION);
+
+ inEventEClass = createEClass(IN_EVENT);
+
+ outEventEClass = createEClass(OUT_EVENT);
+
+ protocolEClass = createEClass(PROTOCOL);
+ createEReference(protocolEClass, PROTOCOL__BASE_COLLABORATION);
+
+ protocolContainerEClass = createEClass(PROTOCOL_CONTAINER);
+ createEReference(protocolContainerEClass, PROTOCOL_CONTAINER__BASE_PACKAGE);
+
+ rtConnectorEClass = createEClass(RT_CONNECTOR);
+ createEReference(rtConnectorEClass, RT_CONNECTOR__BASE_CONNECTOR);
+
+ rtHistorystateEClass = createEClass(RT_HISTORYSTATE);
+ createEReference(rtHistorystateEClass, RT_HISTORYSTATE__BASE_PSEUDOSTATE);
+ createEAttribute(rtHistorystateEClass, RT_HISTORYSTATE__HISTORY_KIND);
+
+ rtPortEClass = createEClass(RT_PORT);
+ createEReference(rtPortEClass, RT_PORT__BASE_PORT);
+ createEAttribute(rtPortEClass, RT_PORT__IS_CONJUGATE);
+ createEAttribute(rtPortEClass, RT_PORT__IS_NOTIFICATION);
+ createEAttribute(rtPortEClass, RT_PORT__IS_PUBLISH);
+ createEAttribute(rtPortEClass, RT_PORT__IS_WIRED);
+ createEAttribute(rtPortEClass, RT_PORT__REGISTRATION);
+ createEAttribute(rtPortEClass, RT_PORT__REGISTRATION_OVERRIDE);
+
+ rtRedefinableElementEClass = createEClass(RT_REDEFINABLE_ELEMENT);
+ createEReference(rtRedefinableElementEClass, RT_REDEFINABLE_ELEMENT__BASE_REDEFINABLE_ELEMENT);
+
+ triggerEClass = createEClass(TRIGGER);
+ createEReference(triggerEClass, TRIGGER__BASE_OPERATION);
+
+ // Create enums
+ portRegistrationTypeEEnum = createEEnum(PORT_REGISTRATION_TYPE);
+ historyKindEEnum = createEEnum(HISTORY_KIND);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ UMLPackage theUMLPackage = (UMLPackage) EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage) EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ inEventEClass.getESuperTypes().add(this.getAbstractEvent());
+ outEventEClass.getESuperTypes().add(this.getAbstractEvent());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(abstractEventEClass, AbstractEvent.class, "AbstractEvent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAbstractEvent_Base_CallEvent(), theUMLPackage.getCallEvent(), null, "base_CallEvent", null, 1, 1, AbstractEvent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+
+ initEClass(capsuleEClass, Capsule.class, "Capsule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCapsule_Base_Class(), theUMLPackage.getClass_(), null, "base_Class", null, 1, 1, Capsule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(capsulePartEClass, CapsulePart.class, "CapsulePart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCapsulePart_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, CapsulePart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(coregionEClass, Coregion.class, "Coregion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(inEventEClass, InEvent.class, "InEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(outEventEClass, OutEvent.class, "OutEvent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(protocolEClass, Protocol.class, "Protocol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getProtocol_Base_Collaboration(), theUMLPackage.getCollaboration(), null, "base_Collaboration", null, 1, 1, Protocol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+
+ initEClass(protocolContainerEClass, ProtocolContainer.class, "ProtocolContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getProtocolContainer_Base_Package(), theUMLPackage.getPackage(), null, "base_Package", null, 1, 1, ProtocolContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rtConnectorEClass, RTConnector.class, "RTConnector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRTConnector_Base_Connector(), theUMLPackage.getConnector(), null, "base_Connector", null, 1, 1, RTConnector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(rtHistorystateEClass, RTHistorystate.class, "RTHistorystate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRTHistorystate_Base_Pseudostate(), theUMLPackage.getPseudostate(), null, "base_Pseudostate", null, 1, 1, RTHistorystate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRTHistorystate_HistoryKind(), this.getHistoryKind(), "historyKind", "Deep", 0, 1, RTHistorystate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rtPortEClass, RTPort.class, "RTPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRTPort_Base_Port(), theUMLPackage.getPort(), null, "base_Port", null, 1, 1, RTPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRTPort_IsConjugate(), ecorePackage.getEBoolean(), "isConjugate", null, 0, 1, RTPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRTPort_IsNotification(), ecorePackage.getEBoolean(), "isNotification", null, 0, 1, RTPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRTPort_IsPublish(), ecorePackage.getEBoolean(), "isPublish", null, 0, 1, RTPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRTPort_IsWired(), ecorePackage.getEBoolean(), "isWired", "true", 0, 1, RTPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRTPort_Registration(), this.getPortRegistrationType(), "registration", "Automatic", 0, 1, RTPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRTPort_RegistrationOverride(), theEcorePackage.getEString(), "registrationOverride", null, 0, 1, RTPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rtRedefinableElementEClass, RTRedefinableElement.class, "RTRedefinableElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRTRedefinableElement_Base_RedefinableElement(), theUMLPackage.getRedefinableElement(), null, "base_RedefinableElement", null, 1, 1, RTRedefinableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
+ IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(triggerEClass, Trigger.class, "Trigger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTrigger_Base_Operation(), theUMLPackage.getOperation(), null, "base_Operation", null, 1, 1, Trigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(portRegistrationTypeEEnum, PortRegistrationType.class, "PortRegistrationType");
+ addEEnumLiteral(portRegistrationTypeEEnum, PortRegistrationType.AUTOMATIC);
+ addEEnumLiteral(portRegistrationTypeEEnum, PortRegistrationType.APPLICATION);
+ addEEnumLiteral(portRegistrationTypeEEnum, PortRegistrationType.AUTOMATIC_LOCKED);
+
+ initEEnum(historyKindEEnum, HistoryKind.class, "HistoryKind");
+ addEEnumLiteral(historyKindEEnum, HistoryKind.DEEP);
+ addEEnumLiteral(historyKindEEnum, HistoryKind.SHALLOW);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+} // UMLRealTimePackageImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeAdapterFactory.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeAdapterFactory.java
new file mode 100644
index 00000000000..2185764b870
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeAdapterFactory.java
@@ -0,0 +1,389 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.Capsule;
+import org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart;
+import org.eclipse.papyrus.migration.rsa.umlrt.Coregion;
+import org.eclipse.papyrus.migration.rsa.umlrt.InEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.OutEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.Protocol;
+import org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTConnector;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTPort;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement;
+import org.eclipse.papyrus.migration.rsa.umlrt.Trigger;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage
+ * @generated
+ */
+public class UMLRealTimeAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static UMLRealTimePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UMLRealTimeAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = UMLRealTimePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject) object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UMLRealTimeSwitch<Adapter> modelSwitch =
+ new UMLRealTimeSwitch<Adapter>() {
+ @Override
+ public Adapter caseAbstractEvent(AbstractEvent object) {
+ return createAbstractEventAdapter();
+ }
+
+ @Override
+ public Adapter caseCapsule(Capsule object) {
+ return createCapsuleAdapter();
+ }
+
+ @Override
+ public Adapter caseCapsulePart(CapsulePart object) {
+ return createCapsulePartAdapter();
+ }
+
+ @Override
+ public Adapter caseCoregion(Coregion object) {
+ return createCoregionAdapter();
+ }
+
+ @Override
+ public Adapter caseInEvent(InEvent object) {
+ return createInEventAdapter();
+ }
+
+ @Override
+ public Adapter caseOutEvent(OutEvent object) {
+ return createOutEventAdapter();
+ }
+
+ @Override
+ public Adapter caseProtocol(Protocol object) {
+ return createProtocolAdapter();
+ }
+
+ @Override
+ public Adapter caseProtocolContainer(ProtocolContainer object) {
+ return createProtocolContainerAdapter();
+ }
+
+ @Override
+ public Adapter caseRTConnector(RTConnector object) {
+ return createRTConnectorAdapter();
+ }
+
+ @Override
+ public Adapter caseRTHistorystate(RTHistorystate object) {
+ return createRTHistorystateAdapter();
+ }
+
+ @Override
+ public Adapter caseRTPort(RTPort object) {
+ return createRTPortAdapter();
+ }
+
+ @Override
+ public Adapter caseRTRedefinableElement(RTRedefinableElement object) {
+ return createRTRedefinableElementAdapter();
+ }
+
+ @Override
+ public Adapter caseTrigger(Trigger object) {
+ return createTriggerAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param target
+ * the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject) target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent <em>Abstract Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent
+ * @generated
+ */
+ public Adapter createAbstractEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.Capsule <em>Capsule</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Capsule
+ * @generated
+ */
+ public Adapter createCapsuleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart <em>Capsule Part</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart
+ * @generated
+ */
+ public Adapter createCapsulePartAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.Coregion <em>Coregion</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Coregion
+ * @generated
+ */
+ public Adapter createCoregionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.InEvent <em>In Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.InEvent
+ * @generated
+ */
+ public Adapter createInEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.OutEvent <em>Out Event</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.OutEvent
+ * @generated
+ */
+ public Adapter createOutEventAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.Protocol <em>Protocol</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Protocol
+ * @generated
+ */
+ public Adapter createProtocolAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer <em>Protocol Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer
+ * @generated
+ */
+ public Adapter createProtocolContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTConnector <em>RT Connector</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTConnector
+ * @generated
+ */
+ public Adapter createRTConnectorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate <em>RT Historystate</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate
+ * @generated
+ */
+ public Adapter createRTHistorystateAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTPort <em>RT Port</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTPort
+ * @generated
+ */
+ public Adapter createRTPortAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement <em>RT Redefinable Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement
+ * @generated
+ */
+ public Adapter createRTRedefinableElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.migration.rsa.umlrt.Trigger <em>Trigger</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.Trigger
+ * @generated
+ */
+ public Adapter createTriggerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} // UMLRealTimeAdapterFactory
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeResourceFactoryImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeResourceFactoryImpl.java
new file mode 100644
index 00000000000..e858728ccbc
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeResourceFactoryImpl.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.util.UMLRealTimeResourceImpl
+ * @generated
+ */
+public class UMLRealTimeResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UMLRealTimeResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new UMLRealTimeResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} // UMLRealTimeResourceFactoryImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeResourceImpl.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeResourceImpl.java
new file mode 100644
index 00000000000..adf520bf769
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.util;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.util.UMLRealTimeResourceFactoryImpl
+ * @generated
+ */
+public class UMLRealTimeResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param uri
+ * the URI of the new resource.
+ * @generated
+ */
+ public UMLRealTimeResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} // UMLRealTimeResourceImpl
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeSwitch.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeSwitch.java
new file mode 100644
index 00000000000..db5b1c91c8e
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeSwitch.java
@@ -0,0 +1,447 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+import org.eclipse.papyrus.migration.rsa.umlrt.AbstractEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.Capsule;
+import org.eclipse.papyrus.migration.rsa.umlrt.CapsulePart;
+import org.eclipse.papyrus.migration.rsa.umlrt.Coregion;
+import org.eclipse.papyrus.migration.rsa.umlrt.InEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.OutEvent;
+import org.eclipse.papyrus.migration.rsa.umlrt.Protocol;
+import org.eclipse.papyrus.migration.rsa.umlrt.ProtocolContainer;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTConnector;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTHistorystate;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTPort;
+import org.eclipse.papyrus.migration.rsa.umlrt.RTRedefinableElement;
+import org.eclipse.papyrus.migration.rsa.umlrt.Trigger;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage
+ * @generated
+ */
+public class UMLRealTimeSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static UMLRealTimePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UMLRealTimeSwitch() {
+ if (modelPackage == null) {
+ modelPackage = UMLRealTimePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case UMLRealTimePackage.ABSTRACT_EVENT: {
+ AbstractEvent abstractEvent = (AbstractEvent) theEObject;
+ T result = caseAbstractEvent(abstractEvent);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.CAPSULE: {
+ Capsule capsule = (Capsule) theEObject;
+ T result = caseCapsule(capsule);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.CAPSULE_PART: {
+ CapsulePart capsulePart = (CapsulePart) theEObject;
+ T result = caseCapsulePart(capsulePart);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.COREGION: {
+ Coregion coregion = (Coregion) theEObject;
+ T result = caseCoregion(coregion);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.IN_EVENT: {
+ InEvent inEvent = (InEvent) theEObject;
+ T result = caseInEvent(inEvent);
+ if (result == null) {
+ result = caseAbstractEvent(inEvent);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.OUT_EVENT: {
+ OutEvent outEvent = (OutEvent) theEObject;
+ T result = caseOutEvent(outEvent);
+ if (result == null) {
+ result = caseAbstractEvent(outEvent);
+ }
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.PROTOCOL: {
+ Protocol protocol = (Protocol) theEObject;
+ T result = caseProtocol(protocol);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.PROTOCOL_CONTAINER: {
+ ProtocolContainer protocolContainer = (ProtocolContainer) theEObject;
+ T result = caseProtocolContainer(protocolContainer);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.RT_CONNECTOR: {
+ RTConnector rtConnector = (RTConnector) theEObject;
+ T result = caseRTConnector(rtConnector);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.RT_HISTORYSTATE: {
+ RTHistorystate rtHistorystate = (RTHistorystate) theEObject;
+ T result = caseRTHistorystate(rtHistorystate);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.RT_PORT: {
+ RTPort rtPort = (RTPort) theEObject;
+ T result = caseRTPort(rtPort);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.RT_REDEFINABLE_ELEMENT: {
+ RTRedefinableElement rtRedefinableElement = (RTRedefinableElement) theEObject;
+ T result = caseRTRedefinableElement(rtRedefinableElement);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ case UMLRealTimePackage.TRIGGER: {
+ Trigger trigger = (Trigger) theEObject;
+ T result = caseTrigger(trigger);
+ if (result == null) {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractEvent(AbstractEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Capsule</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Capsule</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCapsule(Capsule object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Capsule Part</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Capsule Part</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCapsulePart(CapsulePart object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Coregion</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Coregion</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCoregion(Coregion object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>In Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>In Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInEvent(InEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Out Event</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Out Event</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOutEvent(OutEvent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Protocol</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Protocol</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProtocol(Protocol object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Protocol Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Protocol Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProtocolContainer(ProtocolContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>RT Connector</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>RT Connector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRTConnector(RTConnector object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>RT Historystate</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>RT Historystate</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRTHistorystate(RTHistorystate object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>RT Port</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>RT Port</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRTPort(RTPort object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>RT Redefinable Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>RT Redefinable Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRTRedefinableElement(RTRedefinableElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Trigger</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Trigger</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTrigger(Trigger object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} // UMLRealTimeSwitch
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeXMLProcessor.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeXMLProcessor.java
new file mode 100644
index 00000000000..4c3443e3c90
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src-gen/org/eclipse/papyrus/migration/rsa/umlrt/util/UMLRealTimeXMLProcessor.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.umlrt.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class UMLRealTimeXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UMLRealTimeXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ UMLRealTimePackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the UMLRealTimeResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new UMLRealTimeResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new UMLRealTimeResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} // UMLRealTimeXMLProcessor
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/Activator.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/Activator.java
new file mode 100644
index 00000000000..b74126b3b32
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/Activator.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+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.migration.rsa"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ 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/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/blackbox/ProfileBaseHelper.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/blackbox/ProfileBaseHelper.java
new file mode 100644
index 00000000000..3c55cedf0ed
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/blackbox/ProfileBaseHelper.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.blackbox;
+
+
+import java.util.Properties;
+
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+import org.eclipse.m2m.qvt.oml.util.IContext;
+import org.eclipse.papyrus.migration.rsa.profilebase.ProfileConstraint;
+
+
+public class ProfileBaseHelper {
+
+ /** Key of the ConfigProperty containing the java.util.Properties for ProfileBase#messageKey mappings */
+ public static final String PROFILE_BASE_PROPERTIES = "profilebase.properties";
+
+ /**
+ * Reads the constraint's message from the ProfileBase properties file
+ * If the message is not found, the messageKey is returned
+ *
+ * @param context
+ * @param constraint
+ * The ProfileConstraint element (From ProfileBase profile)
+ * @return
+ * The ProfileConstraint's message (From the properties file), or the ProfileConstraint's messageKey if the message is not defined
+ */
+ @Operation(contextual = true, kind = Kind.QUERY, withExecutionContext = true)
+ public String getConstraintMessage(IContext context, ProfileConstraint constraint) {
+ String key = constraint.getMessageKey();
+
+ if(key == null) {
+ return null;
+ }
+
+ Object propertiesObject = context.getConfigProperty(PROFILE_BASE_PROPERTIES);
+ if(propertiesObject instanceof Properties) {
+ Properties properties = (Properties)propertiesObject;
+ return properties.getProperty(key, key);
+ }
+
+ return key;
+ }
+
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/blackbox/RTMappings.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/blackbox/RTMappings.java
new file mode 100644
index 00000000000..d8ab0f1b17c
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/blackbox/RTMappings.java
@@ -0,0 +1,109 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.blackbox;
+
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+import org.eclipse.m2m.qvt.oml.util.IContext;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.OpaqueExpression;
+import org.eclipse.uml2.uml.SignalEvent;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * Implements the Blackbox mappings for RSARTToPapyrusRT
+ *
+ * @author Camille Letavernier
+ *
+ */
+public class RTMappings {
+
+ @Operation(contextual = true, kind = Kind.MAPPING, withExecutionContext = true)
+ public static org.eclipse.uml2.uml.Class toClass(IContext context, Collaboration collaboration) {
+ return refactorType(context, collaboration, UMLPackage.eINSTANCE.getClass_(), org.eclipse.uml2.uml.Class.class);
+ }
+
+ @Operation(contextual = true, kind = Kind.MAPPING, withExecutionContext = true)
+ public static SignalEvent toSignalEvent(IContext context, CallEvent callEvent) {
+ return refactorType(context, callEvent, UMLPackage.eINSTANCE.getSignalEvent(), SignalEvent.class);
+ }
+
+ @Operation(contextual = true, kind = Kind.MAPPING, withExecutionContext = false)
+ public static LiteralString toLiteralString(OpaqueExpression expression) {
+ return refactorType(null, expression, UMLPackage.eINSTANCE.getLiteralString(), LiteralString.class);
+ }
+
+ //Not public to avoid confusing QVTo (Public methods are part of the Blackbox unit API)
+ private static <T extends Element> T refactorType(IContext context, EObject sourceElement, EClass targetEClass, java.lang.Class<T> resultType) {
+ //Retrieve the resource at the beginning, because the source element will be removed from its container at some point
+ // Resource resource = sourceElement.eResource();
+
+ //Create a Class and maintain the features (Attributes and References)
+ T result = resultType.cast(UMLFactory.eINSTANCE.create(targetEClass));
+ for(EStructuralFeature sourceFeature : sourceElement.eClass().getEAllStructuralFeatures()) {
+ EStructuralFeature targetFeature = result.eClass().getEStructuralFeature(sourceFeature.getName());
+ if(targetFeature != null && targetFeature.isChangeable()) {
+ result.eSet(targetFeature, sourceElement.eGet(sourceFeature));
+ }
+ }
+
+ //Fix incoming references
+ Collection<EStructuralFeature.Setting> incomingReferences = CacheAdapter.getInstance().getInverseReferences(sourceElement);
+ for(EStructuralFeature.Setting setting : incomingReferences) {
+ EStructuralFeature feature = setting.getEStructuralFeature();
+ if(feature.isChangeable() && feature.getEType().isInstance(result)) {
+ if(feature.isMany()) {
+ Object value = setting.get(true);
+ if(value instanceof Collection<?>) {
+ List<Object> copy = new LinkedList<Object>((Collection<?>)value);
+
+ while(true) {
+ int index = copy.indexOf(sourceElement);
+ if(index < 0) {
+ break;
+ }
+
+ copy.remove(index);
+ copy.add(index, result);
+ }
+
+ setting.set(copy);
+ }
+ } else {
+ setting.set(result);
+ }
+ }
+ }
+
+ //TODO: Keep the same XMI ID
+ //This algorithm doesn't work here, because the object has been added to a temporary resource (ModelExtent), which doesn't support IDs mapping
+ //We need to track the mapping somewhere else
+
+ // if(resource instanceof XMLResource) {
+ // XMLResource xmlResource = (XMLResource)resource;
+ // xmlResource.setID(result, xmlResource.getID(sourceElement));
+ // }
+ return result;
+ }
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/handler/ImportHandler.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/handler/ImportHandler.java
new file mode 100644
index 00000000000..69758b56c75
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/handler/ImportHandler.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.handler;
+
+import java.util.Iterator;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.papyrus.migration.rsa.Activator;
+import org.eclipse.papyrus.migration.rsa.transformation.ImportTransformation;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+
+public class ImportHandler extends AbstractHandler {
+
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ ISelection selection = HandlerUtil.getCurrentSelection(event);
+ if(selection == null || selection.isEmpty()) {
+ return null;
+ }
+
+ if(selection instanceof IStructuredSelection) {
+ IStructuredSelection structuredSelection = (IStructuredSelection)selection;
+ Iterator<?> selectionIterator = structuredSelection.iterator();
+ while(selectionIterator.hasNext()) {
+ Object selectedElement = selectionIterator.next();
+ if(selectedElement instanceof IAdaptable) {
+ IFile selectedFile = (IFile)((IAdaptable)selectedElement).getAdapter(IFile.class);
+ if(selectedFile == null) {
+ Activator.log.warn("Element %s is not an IFile");
+ continue;
+ }
+
+ importFile(selectedFile); //TODO: If more than one model is selected, import them along with their links (Instead of parallel import with link resolution in a second step)
+ }
+ }
+ }
+
+ return null;
+ }
+
+ public void importFile(IFile selectedFile) {
+ URI uri = URI.createPlatformResourceURI(selectedFile.getFullPath().toString(), true);
+
+ ImportTransformation transformation = new ImportTransformation(uri);
+ transformation.run();
+ }
+
+
+
+
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/transformation/ImportTransformation.java b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/transformation/ImportTransformation.java
new file mode 100644
index 00000000000..8ca1a157e97
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/src/org/eclipse/papyrus/migration/rsa/transformation/ImportTransformation.java
@@ -0,0 +1,756 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.transformation;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStreamWriter;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticException;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.common.util.WrappedException;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+import org.eclipse.gmf.runtime.emf.core.resources.GMFResource;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.m2m.qvt.oml.BasicModelExtent;
+import org.eclipse.m2m.qvt.oml.ExecutionContext;
+import org.eclipse.m2m.qvt.oml.ExecutionContextImpl;
+import org.eclipse.m2m.qvt.oml.ExecutionDiagnostic;
+import org.eclipse.m2m.qvt.oml.ModelExtent;
+import org.eclipse.m2m.qvt.oml.TransformationExecutor;
+import org.eclipse.m2m.qvt.oml.util.WriterLog;
+import org.eclipse.papyrus.dsml.validation.PapyrusDSMLValidationRule.PapyrusDSMLValidationRulePackage;
+import org.eclipse.papyrus.infra.tools.util.ListHelper;
+import org.eclipse.papyrus.m2m.qvto.TransformationUI;
+import org.eclipse.papyrus.migration.rsa.Activator;
+import org.eclipse.papyrus.migration.rsa.blackbox.ProfileBaseHelper;
+import org.eclipse.papyrus.migration.rsa.umlrt.UMLRealTimePackage;
+import org.eclipse.papyrus.uml.documentation.Documentation.DocumentationPackage;
+import org.eclipse.papyrus.umlrt.statemachine.UMLRealTimeStateMach.UMLRealTimeStateMachPackage;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.statushandlers.StatusManager;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+public class ImportTransformation {
+
+ protected final URI sourceURI;
+
+ protected ModelExtent outUML, outNotation, outSashModel;
+
+ protected ResourceSet resourceSet;
+
+ protected boolean cacheTransformations;
+
+ // The cache can be used to increase performances (For small and medium sized models, most of the execution time is spent in loading the transformation)
+ // Warning: using the cache prevents dynamic transformations (i.e. it should not be used in Debug Mode)
+ protected static final Map<URI, TransformationExecutor> cachedTransformations = new HashMap<URI, TransformationExecutor>();
+
+ public ImportTransformation(URI sourceURI) {
+ Assert.isNotNull(sourceURI);
+ this.sourceURI = sourceURI;
+
+ this.cacheTransformations = true;
+ }
+
+ /**
+ * Executes the transformation
+ *
+ * The transformation will be executed asynchronously in a Job
+ */
+ public void run() {
+
+ final Job job = new Job("Import " + getModelName()) {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ return ImportTransformation.this.run(monitor);
+ }
+ };
+
+ job.setUser(true);
+
+ job.addJobChangeListener(new JobChangeAdapter() {
+
+ @Override
+ public void done(IJobChangeEvent event) {
+ if (event.getResult().getSeverity() == IStatus.OK) {
+ Display.getDefault().asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), job.getName(), String.format("Model %s has been successfully imported", getModelName()));
+ }
+ });
+
+ } else if (event.getResult().getSeverity() == IStatus.CANCEL) {
+ Display.getDefault().asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), job.getName(), String.format("Operation canceled", getModelName()));
+ }
+ });
+ } else {
+ StatusManager.getManager().handle(event.getResult(), StatusManager.SHOW);
+ }
+ }
+
+ });
+
+ job.schedule();
+ }
+
+ /**
+ * Initializes the
+ */
+ protected void initResourceSet() {
+ // TODO
+ }
+
+ /**
+ * Returns the number of supported diagrams (i.e. diagrams to be migrated)
+ * Used to initialize the progress monitor
+ *
+ * @return
+ * The total number of diagrams to be migrated
+ */
+ protected int countSupportedDiagrams() {
+ // TODO
+ return 0;
+ }
+
+ protected IStatus loadTransformations() {
+ // TODO
+ // Pre load transformations is the cache is activated
+ return null;
+ }
+
+ /**
+ * Actually runs the transformation (in the current thread)
+ *
+ * @param monitor
+ * @return The transformation IStatus
+ */
+ protected IStatus run(final IProgressMonitor monitor) {
+
+ //
+ // INITIALIZATION / LOADING
+ //
+
+ monitor.subTask("Loading source model " + getModelName());
+
+ resourceSet = new ResourceSetImpl();
+ resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ATTACHMENT, true);
+ resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_IDREF_RESOLUTION, true);
+ resourceSet.getLoadOptions().put(XMLResource.OPTION_RECORD_UNKNOWN_FEATURE, Boolean.TRUE);
+ resourceSet.getLoadOptions().put(XMLResource.OPTION_USE_PACKAGE_NS_URI_AS_LOCATION, Boolean.FALSE);
+
+ int numberOfDiagrams = countDiagrams();
+
+ monitor.beginTask("Importing " + getModelName(), numberOfDiagrams);
+
+ List<ModelExtent> extents = getModelExtents();
+
+ MultiStatus generationStatus = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, "Operation complete", null);
+
+ ExecutionContext context = createExecutionContext(monitor, generationStatus);
+
+ //
+ // TRANSFORMATIONS
+ //
+
+ IStatus result; // Result of an individual transformation (Will be aggregated to the complete GenerationStatus)
+
+ // UML RT (First operation, because it can transform Collaborations to Classes, which has some consequences on the diagram transformation)
+ // TODO: Restore the UML RT transformation (Update to UML RT v3)
+ result = importRTProfile(context, monitor);
+ generationStatus.add(result);
+
+ // Diagrams
+ URI[] transformations = getTransformationsURIs();
+
+ for (URI transformationURI : transformations) {
+ result = runTransformation(transformationURI, context, monitor, extents);
+ generationStatus.add(result);
+ }
+
+ // Default.epx and ProfileBase.epx
+ result = importRSAProfiles(context, monitor);
+ generationStatus.add(result);
+
+ //
+ // FRAGMENTS & SAVE
+ //
+
+ if (generationStatus.getSeverity() <= Diagnostic.WARNING) {
+ // if(getUMLRTProfile() != null) {
+ // monitor.subTask("Converting profiles...");
+ //
+ // convertUMLRTProfile(monitor, generationStatus);
+ // }
+
+ monitor.subTask("Saving models...");
+ URI umlModelURI = null;
+ URI notationModelURI = null;
+ URI sashModelURI = null;
+ ResourceSet resourceSet = new ResourceSetImpl();
+
+ umlModelURI = convertToPapyrus(sourceURI, UMLResource.FILE_EXTENSION);
+ notationModelURI = convertToPapyrus(sourceURI, "notation"); // TODO use constant
+ sashModelURI = convertToPapyrus(sourceURI, "di"); // TODO use constant
+
+ Resource umlResource = createUMLResource(resourceSet, umlModelURI);
+ List<EObject> outUMLObjects = getInOutUMLModel().getContents();
+ umlResource.getContents().addAll(outUMLObjects);
+
+ GMFResource notationResource = new GMFResource(notationModelURI); // GMF Resource content type?
+ resourceSet.getResources().add(notationResource);
+ List<EObject> outNotationObjects = getInoutNotationModel().getContents();
+ notationResource.getContents().addAll(outNotationObjects);
+
+ // Cleanup empty diagrams (FIXME: They should not be generated)
+ Iterator<EObject> iterator = notationResource.getContents().iterator();
+ while (iterator.hasNext()) {
+ EObject next = iterator.next();
+ if (next instanceof Diagram) {
+ Diagram diagram = (Diagram) next;
+ if (diagram.getType() == null || "".equals(diagram.getType())) {
+ iterator.remove();
+ }
+ }
+ }
+
+ XMIResource sashResource = new XMIResourceImpl(sashModelURI);
+ resourceSet.getResources().add(sashResource);
+ List<EObject> sashModelObjects = getOutSashModel().getContents();
+ sashResource.getContents().addAll(sashModelObjects);
+
+ configureResource(sashResource);
+ configureResource(notationResource);
+ configureResource((XMIResource) umlResource);
+
+ // Handle orphaned elements: remove them and log a warning
+ List<EObject> notationRootElements = new LinkedList<EObject>(notationResource.getContents());
+ for (EObject rootElement : notationRootElements) {
+ if (rootElement instanceof View) {
+ View rootView = (View) rootElement;
+ if (!(rootView instanceof Diagram)) {
+ String objectType = rootView.getElement() == null ? "None" : rootView.getElement().eClass().getName();
+ String viewType = rootView.getType() == null ? "None" : rootView.getType();
+ generationStatus.add(new Status(IStatus.WARNING, Activator.PLUGIN_ID, "An orphaned view has been found after the migration. It will be removed. View Type: " + viewType + ", semantic type: " + objectType));
+
+ notationResource.getContents().remove(rootElement);
+ }
+ } else if (rootElement instanceof Style) {
+ String styleType = rootElement.eClass().getName();
+ generationStatus.add(new Status(IStatus.WARNING, Activator.PLUGIN_ID, "An orphaned style has been found after the migration. It will be removed. Style Type: " + styleType));
+
+ notationResource.getContents().remove(rootElement);
+ }
+ }
+
+ Collection<Resource> resourcesToSave = handleFragments(umlResource, notationResource, sashResource);
+
+ for (Resource resource : resourcesToSave) {
+ try {
+ resource.save(null);
+ } catch (Exception ex) {
+ Activator.log.error(ex);
+ }
+ }
+ }
+
+ return generationStatus;
+ }
+
+ protected IStatus importRSAProfiles(ExecutionContext context, IProgressMonitor monitor) {
+ URI transformationURI = URI.createPlatformPluginURI(Activator.PLUGIN_ID + "/transform/RSAProfilesToPapyrus.qvto", true);
+
+ List<ModelExtent> extents = new LinkedList<ModelExtent>();
+ extents.add(getInOutUMLModel());
+ extents.add(getInoutNotationModel());
+ Diagnostic loadedProfiles = getInPapyrusProfiles();
+ extents.add(extractPapyrusProfiles(loadedProfiles));
+ extents.add(getInProfileDefinitions());
+
+ TransformationExecutor executor;
+ try {
+ executor = getTransformation(transformationURI, monitor);
+ } catch (DiagnosticException ex) {
+ Diagnostic diagnostic = ex.getDiagnostic();
+
+ Activator.log.warn(String.format("Cannot load the transformation : %s. Diagnostic: %s", transformationURI, diagnostic.getMessage()));
+ return BasicDiagnostic.toIStatus(diagnostic);
+ }
+
+ monitor.subTask("Converting profiles...");
+ ExecutionDiagnostic transformationResult = executor.execute(context, extents.toArray(new ModelExtent[0]));
+
+ IStatus loadedProfilesStatus = BasicDiagnostic.toIStatus(loadedProfiles);
+ IStatus transformationStatus = BasicDiagnostic.toIStatus(transformationResult);
+
+ int severity = Math.max(loadedProfiles.getSeverity(), transformationResult.getSeverity());
+
+ String message;
+ if (severity > IStatus.OK) {
+ message = "The following errors occurred:";
+ } else {
+ message = "OK";
+ }
+
+ IStatus completeResult = new MultiStatus(Activator.PLUGIN_ID, severity, new IStatus[] { loadedProfilesStatus, transformationStatus }, message, null);
+
+ return completeResult;
+ }
+
+ protected TransformationExecutor getTransformation(URI transformationURI, IProgressMonitor monitor) throws DiagnosticException {
+
+ if (!cacheTransformations) {
+ return loadTransformationExecutor(transformationURI, monitor);
+ }
+
+ synchronized (cachedTransformations) {
+ if (!cachedTransformations.containsKey(transformationURI)) {
+ TransformationExecutor executor = loadTransformationExecutor(transformationURI, monitor);
+ cachedTransformations.put(transformationURI, executor);
+ }
+ return cachedTransformations.get(transformationURI);
+ }
+ }
+
+ // Static synchronized, as it seems that QVTo can't load 2 transformations at the same time, even in separate execution contexts
+ protected static synchronized TransformationExecutor loadTransformationExecutor(URI transformationURI, IProgressMonitor monitor) throws DiagnosticException {
+ TransformationExecutor executor = new TransformationExecutor(transformationURI);
+ Diagnostic diagnostic = executor.loadTransformation(monitor);
+
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ throw new DiagnosticException(diagnostic);
+ }
+
+ return executor;
+ }
+
+ protected Properties readProfileBaseProperties() {
+ URI propertiesURI = sourceURI.trimFileExtension().appendFileExtension("properties");
+
+ Properties properties = new Properties();
+ InputStream inputStream = null;
+
+ try {
+ URL url = new URL(propertiesURI.toString());
+ inputStream = url.openStream();
+ properties.load(inputStream);
+ } catch (FileNotFoundException ex) {
+ // Ignore: the file doesn't exist
+ } catch (IOException ex) {
+ Activator.log.error(ex);
+ } finally {
+ if (inputStream != null) {
+ try {
+ inputStream.close();
+ } catch (IOException ex) {
+ Activator.log.error(ex);
+ }
+ }
+ }
+
+ return properties;
+ }
+
+ protected IStatus importRTProfile(ExecutionContext context, IProgressMonitor monitor) {
+ URI transformationURI = URI.createPlatformPluginURI(Activator.PLUGIN_ID + "/transform/RSARTToPapyrusRT.qvto", true);
+
+ List<ModelExtent> extents = new LinkedList<ModelExtent>();
+ extents.add(getInOutUMLModel());
+ extents.add(getInoutNotationModel());
+ extents.add(extractPapyrusProfiles(getInPapyrusProfiles()));
+ extents.add(getInProfileDefinitions());
+
+ TransformationExecutor executor;
+ try {
+ executor = getTransformation(transformationURI, monitor);
+ } catch (DiagnosticException ex) {
+ Diagnostic diagnostic = ex.getDiagnostic();
+ Activator.log.warn(String.format("Cannot load the transformation : %s. Diagnostic: %s", transformationURI, diagnostic.getMessage()));
+ return BasicDiagnostic.toIStatus(diagnostic);
+ }
+
+ monitor.subTask("Importing RT Profile...");
+ ExecutionDiagnostic result = executor.execute(context, extents.toArray(new ModelExtent[0]));
+
+ return BasicDiagnostic.toIStatus(result);
+ }
+
+ protected ModelExtent extractPapyrusProfiles(Diagnostic diagnostic) {
+ for (Object extent : diagnostic.getData()) {
+ if (extent instanceof ModelExtent) {
+ return (ModelExtent) extent;
+ }
+ }
+ return null;
+ }
+
+ protected ModelExtent getInProfileDefinitions() {
+ return new BasicModelExtent(Arrays.asList(new EPackage[] { PapyrusDSMLValidationRulePackage.eINSTANCE, DocumentationPackage.eINSTANCE, UMLRealTimePackage.eINSTANCE, UMLRealTimeStateMachPackage.eINSTANCE }));
+ }
+
+ /**
+ * Returns a Diagnostic. Diagnostic#data is the ModelExtent containing the loaded profiles
+ *
+ * @return
+ * @throws WrappedException
+ */
+ protected Diagnostic getInPapyrusProfiles() {
+ List<String> missingProfiles = new LinkedList<String>();
+
+
+ List<EObject> allContents = new LinkedList<EObject>();
+ try {
+ URI validationProfileURI = URI.createURI("pathmap://DSMLValidation_PROFILES/PapyrusValidationRuleDSML.uml");
+ Resource validationProfile = resourceSet.getResource(validationProfileURI, true);
+ checkResource(validationProfile);
+ allContents.addAll(validationProfile.getContents());
+ } catch (WrappedException ex) {
+ missingProfiles.add("Validation Rules Profile");
+ }
+
+ try {
+ URI documentationProfileURI = URI.createURI("pathmap://PAPYRUS_DOCUMENTATION/Papyrus.profile.uml");
+ Resource documentationProfile = resourceSet.getResource(documentationProfileURI, true);
+ checkResource(documentationProfile);
+ allContents.addAll(documentationProfile.getContents());
+ } catch (WrappedException ex) {
+ missingProfiles.add("Documentation Profile");
+ }
+
+ try {
+ URI umlrtProfileURI = URI.createURI("pathmap://UML_RT_PROFILE/uml-rt.profile.uml");
+ Resource umlrtProfile = resourceSet.getResource(umlrtProfileURI, true);
+ checkResource(umlrtProfile);
+ allContents.addAll(umlrtProfile.getContents());
+ } catch (WrappedException ex) {
+ missingProfiles.add("UML RT Profile");
+ }
+
+ try {
+ URI umlrtSMProfileURI = URI.createURI("pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml");
+ Resource umlrtSMProfile = resourceSet.getResource(umlrtSMProfileURI, true);
+ checkResource(umlrtSMProfile);
+ allContents.addAll(umlrtSMProfile.getContents());
+ } catch (WrappedException ex) {
+ missingProfiles.add("UML RT / StateMachine extension Profile");
+ }
+
+ ModelExtent result = new BasicModelExtent(allContents);
+
+ String message;
+ int code;
+ if (missingProfiles.isEmpty()) {
+ message = "OK";
+ code = Diagnostic.OK;
+ } else {
+ message = "The following Papyrus profiles cannot be found: " + ListHelper.deepToString(missingProfiles, ", ");
+ code = Diagnostic.ERROR;
+ }
+
+ Diagnostic diagnostic = new BasicDiagnostic(code, Activator.PLUGIN_ID, code, message, new ModelExtent[] { result });
+
+ return diagnostic;
+ }
+
+ protected void checkResource(Resource resource) {
+ Assert.isTrue(!resource.getContents().isEmpty(), "The resource " + resource.getURI() + " is empty");
+ for (EObject rootElement : resource.getContents()) {
+ Assert.isTrue(!rootElement.eIsProxy());
+ }
+ }
+
+ protected Resource createUMLResource(ResourceSet resourceSet, URI umlModelURI) {
+ return resourceSet.createResource(umlModelURI, UMLResource.UML_CONTENT_TYPE_IDENTIFIER);
+ }
+
+ protected Collection<Resource> handleFragments(Resource umlResource, Resource notationResource, Resource sashResource) {
+ Collection<Resource> result = new HashSet<Resource>();
+ result.add(umlResource);
+ result.add(notationResource);
+ result.add(sashResource);
+
+ ResourceSet resourceSet = umlResource.getResourceSet();
+
+ Iterator<EObject> elementIterator = umlResource.getAllContents();
+
+ Set<Resource> fragmentResources = new HashSet<Resource>();
+
+ while (elementIterator.hasNext()) {
+ EObject element = elementIterator.next();
+ if (element.eResource() != umlResource && element.eResource().getContents().contains(element)) { // Controlled/Fragment root
+ fragmentResources.add(element.eResource());
+ }
+ }
+
+ for (Resource fragmentResource : fragmentResources) {
+ URI fragmentURI = convertToPapyrus(fragmentResource.getURI(), UMLResource.FILE_EXTENSION);
+
+ Resource newResource = resourceSet.getResource(fragmentURI, false);
+ if (newResource == null) {
+ newResource = createUMLResource(resourceSet, fragmentURI);
+
+ Resource fragmentNotationResource = new GMFResource(convertToPapyrus(fragmentURI, "notation"));
+ Resource fragmentDiResource = new XMIResourceImpl(convertToPapyrus(fragmentURI, "di"));
+
+ result.add(fragmentNotationResource);
+ result.add(fragmentDiResource);
+
+ resourceSet.getResources().add(fragmentNotationResource);
+ resourceSet.getResources().add(fragmentDiResource);
+ }
+
+ newResource.getContents().addAll(fragmentResource.getContents());
+ result.add(newResource);
+ }
+
+ List<EObject> importedElements = new LinkedList<EObject>(notationResource.getContents());
+ for (EObject notationElement : importedElements) {
+ if (notationElement instanceof Diagram) {
+ EObject semanticElement = ((Diagram) notationElement).getElement();
+ if (semanticElement.eResource() != umlResource && semanticElement.eResource() != null) {
+
+ URI notationFragmentURI = convertToPapyrus(semanticElement.eResource().getURI(), "notation");
+
+ Resource newNotationResource = resourceSet.getResource(notationFragmentURI, false);
+ if (newNotationResource == null) {
+ newNotationResource = new GMFResource(notationFragmentURI);
+ resourceSet.getResources().add(newNotationResource);
+ }
+ newNotationResource.getContents().add(notationElement);
+ result.add(newNotationResource);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ protected URI convertToPapyrus(URI rsaURI, String extension) {
+ if ("epx".equals(rsaURI.fileExtension())) { //$NON-NLS-1$
+ // Profiles: myProfile.profile.uml, myProfile.profile.notation, ...
+ return rsaURI.trimFileExtension().appendFileExtension("profile").appendFileExtension(extension); //$NON-NLS-1$
+ } else {
+ // Models and Fragments: myModel.uml, myFragment.uml, ...
+ return rsaURI.trimFileExtension().appendFileExtension(extension);
+ }
+ }
+
+ protected IStatus runTransformation(URI transformationURI, ExecutionContext context, IProgressMonitor monitor, List<ModelExtent> extents) {
+ monitor.subTask("Initializing transformation...");
+
+ TransformationExecutor executor;
+ try {
+ executor = getTransformation(transformationURI, monitor);
+ } catch (DiagnosticException ex) {
+ Diagnostic diagnostic = ex.getDiagnostic();
+
+ Activator.log.warn(String.format("Cannot load the transformation : %s. Diagnostic: %s", transformationURI, diagnostic.getMessage()));
+ return BasicDiagnostic.toIStatus(diagnostic);
+ }
+
+ monitor.subTask("Importing diagrams...");
+ ExecutionDiagnostic result = executor.execute(context, extents.toArray(new ModelExtent[0]));
+
+ return BasicDiagnostic.toIStatus(result);
+ }
+
+ protected ExecutionContext createExecutionContext(final IProgressMonitor monitor, final MultiStatus generationStatus) {
+ ExecutionContextImpl context = new ExecutionContextImpl();
+ context.setConfigProperty("keepModeling", true); //$NON-NLS-1$o
+ context.setConfigProperty(TransformationUI.MONITOR, monitor);
+
+ context.setProgressMonitor(monitor);
+
+ context.setLog(new WriterLog(new OutputStreamWriter(System.out)) {
+
+ @Override
+ public void log(String message) {
+ super.log(message);
+ }
+
+ @Override
+ public void log(String message, Object param) {
+ super.log(message, param);
+ }
+
+ @Override
+ public void log(int level, String message) {
+ super.log(level, message);
+ if (level >= 1) {
+ generationStatus.merge(new Status(level, Activator.PLUGIN_ID, message));
+ }
+
+ }
+
+ @Override
+ public void log(int level, String message, Object param) {
+ super.log(level, message, param);
+ if (level >= 1) {
+ generationStatus.merge(new Status(level, Activator.PLUGIN_ID, message + ", data:" + param));
+ }
+ }
+ });
+
+ initTransformationProperties(context);
+
+ return context;
+ }
+
+ /**
+ * Initializes the ExecutionContext with configuration properties required by transformations
+ *
+ * This is a lightweight mechanism to avoid initializing ModelExtents for a single EObject reference, or for non-EMF values
+ *
+ * Typically used by blackbox methods
+ *
+ * @param context
+ */
+ protected void initTransformationProperties(ExecutionContextImpl context) {
+ // Load the *.properties file associated to ProfileBase
+ context.setConfigProperty(ProfileBaseHelper.PROFILE_BASE_PROPERTIES, readProfileBaseProperties());
+
+ // Load the InnerClassDiagramView (From viewpoints)
+ URI innerClassDiagramViewURI = URI.createPlatformPluginURI("org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration", false);
+ innerClassDiagramViewURI = innerClassDiagramViewURI.appendFragment("//@viewpoints.0/@modelKinds.0");
+
+ context.setConfigProperty("InnerClassDiagramView", resourceSet.getEObject(innerClassDiagramViewURI, true));
+ }
+
+ protected void configureResource(XMIResource resource) {
+ Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+
+ // default save options.
+ saveOptions.put(XMIResource.OPTION_DECLARE_XML, Boolean.TRUE);
+ saveOptions.put(XMIResource.OPTION_PROCESS_DANGLING_HREF, XMIResource.OPTION_PROCESS_DANGLING_HREF_DISCARD);
+ saveOptions.put(XMIResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+ saveOptions.put(XMIResource.OPTION_USE_XMI_TYPE, Boolean.TRUE);
+ saveOptions.put(XMIResource.OPTION_SAVE_TYPE_INFORMATION, Boolean.TRUE);
+ saveOptions.put(XMIResource.OPTION_SKIP_ESCAPE_URI, Boolean.FALSE);
+ saveOptions.put(XMIResource.OPTION_ENCODING, "UTF-8");
+
+ // see bug 397987: [Core][Save] The referenced plugin models are saved using relative path
+ saveOptions.put(XMIResource.OPTION_URI_HANDLER, new org.eclipse.emf.ecore.xmi.impl.URIHandlerImpl.PlatformSchemeAware());
+
+ resource.setEncoding("UTF-8");
+ resource.getDefaultSaveOptions().putAll(saveOptions);
+ }
+
+ protected int countDiagrams() {
+ int count = 0;
+
+ getInOutUMLModel();
+ EcoreUtil.resolveAll(resourceSet);
+
+ for (Resource resource : resourceSet.getResources()) {
+ Iterator<EObject> allContents = resource.getAllContents();
+ while (allContents.hasNext()) {
+ if (allContents.next() instanceof Diagram) {
+ count++;
+ }
+ }
+ }
+ return count;
+ }
+
+ protected List<ModelExtent> getModelExtents() {
+ List<ModelExtent> allExtents = new LinkedList<ModelExtent>();
+ allExtents.add(getInOutUMLModel());
+ allExtents.add(getInoutNotationModel());
+ allExtents.add(getOutSashModel());
+ return allExtents;
+ }
+
+ protected ModelExtent getInOutUMLModel() {
+ if (outUML == null) {
+ try {
+ Resource resource = resourceSet.getResource(sourceURI, true);
+
+ outUML = new BasicModelExtent(resource.getContents());
+
+ } catch (Exception ex) {
+ Activator.log.error(ex);
+ }
+ }
+
+ return outUML;
+ }
+
+ /* Notation model is initially empty, but will be filled successively by each transformation */
+ protected ModelExtent getInoutNotationModel() {
+ if (outNotation == null) {
+ outNotation = new BasicModelExtent();
+ }
+
+ return outNotation;
+ }
+
+ protected ModelExtent getOutSashModel() {
+ if (outSashModel == null) {
+ outSashModel = new BasicModelExtent();
+ }
+
+ return outSashModel;
+ }
+
+ protected URI[] getTransformationsURIs() {
+ return new URI[] { getTransformationURI("RSAClassDiagram"), getTransformationURI("RSASequenceDiagram"), getTransformationURI("RSAStructureDiagram"), getTransformationURI("RSAActivityDiagram"), getTransformationURI("RSAStateMachineDiagram"),
+ getTransformationURI("RSAProfileDiagram"), getTransformationURI("RSAModelToPapyrus") };
+ }
+
+ protected URI getTransformationURI(String transformationName) {
+ return URI.createPlatformPluginURI(String.format("%s/transform/%s.qvto", Activator.PLUGIN_ID, transformationName), true); //$NON-NLS-1$
+ }
+
+ protected String getModelName() {
+ return URI.decode(sourceURI.lastSegment());
+ }
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAActivityDiagram.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAActivityDiagram.qvto
new file mode 100644
index 00000000000..60fea4ef6a5
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAActivityDiagram.qvto
@@ -0,0 +1,683 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/ implementation
+ *****************************************************************************/
+import RSAToPapyrus;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype umlNotation "strict" uses 'http://www.eclipse.org/papyrus/umlnotation';
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype sash "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/sashdi';
+
+transformation RSAActivityDiagram(inout semantics : uml, inout graphics : notation, out di : sash);
+
+main() {
+ semantics.rootObjects()[uml::Element]->map toOwnedDiagrams();
+}
+
+query View::getDiagramType() : String{
+ return 'PapyrusUMLActivityDiagram';
+}
+
+mapping notation::Diagram::generateDiagram() : notation::Diagram inherits Diagram::toPapyrusDiagram when {
+ self.type = 'Activity'
+}{
+ end {
+ graphics.objectsOfType(Shape)->any(type = '2001').map fixFramePosition();
+
+ graphics.objectsOfType(Shape)->select(type='3080').map addCommentDecoration();
+ graphics.objectsOfType(Shape)->select(type = '3112').map addConstraintDecoration();
+
+ graphics.objectsOfType(Shape)->select(type = '3067').map fixPartitionsLayout();
+
+ graphics.objectsOfType(Shape).map fixDefaultSize();
+ }
+}
+
+/**
+* Fix the default size for Join, Fork, Merge and Decision nodes
+*/
+mapping inout Shape::fixDefaultSize() disjuncts Shape::fixJoinForkSize, Shape::fixMergeDecisionSize {
+ //Disjuncts
+}
+
+mapping inout Shape::fixJoinForkSize() when {
+ self.type = '3041' /* JoinNode */ or self.type = '3040' /* ForkNode */
+} {
+ var layout : Bounds := self.layoutConstraint.oclAsType(Bounds);
+
+ if layout.width = -1 then layout.width := 101 endif;
+ if layout.height = -1 then layout.height := 11 endif;
+}
+
+mapping inout Shape::fixMergeDecisionSize() when {
+ self.type = '3039' /* MergeNode */ or self.type = '3038' /* DecisionNode */
+} {
+ var layout : Bounds := self.layoutConstraint.oclAsType(Bounds);
+
+ if layout.width = -1 then layout.width := 50 endif;
+ if layout.height = -1 then layout.height := 50 endif;
+}
+
+property partitionX : Integer = 50;
+
+mapping inout Shape::fixPartitionsLayout() {
+ var width: Integer := 200; //Approximation. In RSA, the layout is computed automatically based on the Partition's Contents. In Papyrus, this must be specified explicitely
+ var marginHeight := 30;
+
+
+
+ var bounds : Bounds := self.layoutConstraint.oclAsType(Bounds);
+
+ var parentCompartment : DecorationNode := self.oclAsType(EObject).eContainer().oclAsType(DecorationNode);
+ var parent : Shape := parentCompartment.oclAsType(EObject).eContainer().oclAsType(Shape);
+ var parentBounds := parent.layoutConstraint.oclAsType(Bounds);
+ var parentHeight := parentBounds.height;
+
+ var position : Integer;
+
+ position := parentCompartment.children->select(type = '3067')->indexOf(self) - 1; //OCL index starts at 1
+
+ bounds.x := partitionX + position * width;
+ bounds.width := width.max(bounds.width);
+ bounds.y := marginHeight;
+
+ bounds.height := (parentHeight - marginHeight * 2).max(bounds.height).max(400);
+}
+
+mapping inout Shape::addCommentDecoration() when {
+ self.type = '3080' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '5138';
+ }
+
+}
+
+mapping inout Shape::addConstraintDecoration() when {
+ self.type = '3112' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '5190'; //Constraint specification
+ }
+
+}
+
+
+/* Add a margin on the top and left */
+mapping inout Shape::fixFramePosition() {
+ var bounds := self.layoutConstraint.oclAsType(Bounds);
+ var margin := 10;
+ if bounds.x < margin then bounds.x := margin endif;
+ if bounds.y < margin then bounds.y := margin endif;
+}
+
+mapping Node::toNode() : Node disjuncts
+ UMLShape::toPapyrusShape,
+ UMLShapeCompartment::toStructureCompartment,
+ BasicSemanticCompartment::toListCompartment,
+ BasicDecorationNode::toConnectorLabel,
+ BasicDecorationNode::toLabel
+ //TODO: Disjunct nodes mapping
+;
+
+mapping Edge::toEdge() : Edge disjuncts
+ UMLConnector::toPapyrusConnector
+ //TODO: Disjunct edges mapping
+;
+
+mapping UMLShapeCompartment::toStructureCompartment() : DecorationNode inherits UMLShapeCompartment::toAbstractStructureCompartment when {
+ self.type = 'StructureCompartment' or self.type = 'PackageContents' or self.type = 'ActivityCompartment' or self.type='PartitionCompartment' or self.type='StructuredActivityNodeCompartment'
+ and not self.getType().oclIsUndefined();
+}{
+
+}
+
+
+/***** Nodes **********/
+
+mapping UMLShape::toPapyrusShape() : Shape inherits Shape::toPapyrusShape when {
+ self.type = 'Activity Frame' or self.type = 'Partition' or (
+ self.type = '' and not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(Constraint)or
+ self.element.oclIsTypeOf(FlowFinalNode)or
+ self.element.oclIsTypeOf(ActivityPartition)or
+ self.element.oclIsTypeOf(IntervalConstraint)or
+ self.element.oclIsTypeOf(ActionInputPin)or
+ self.element.oclIsTypeOf(BroadcastSignalAction)or
+ self.element.oclIsTypeOf(ActionInputPin)or
+ self.element.oclIsTypeOf(ValuePin)or
+ self.element.oclIsTypeOf(Constraint)or
+ self.element.oclIsTypeOf(ValuePin)or
+ self.element.oclIsTypeOf(SequenceNode)or
+ self.element.oclIsTypeOf(ActionInputPin)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(ReadSelfAction)or
+ self.element.oclIsTypeOf(ActivityFinalNode)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(SendSignalAction)or
+ self.element.oclIsTypeOf(InitialNode)or
+ self.element.oclIsTypeOf(AddStructuralFeatureValueAction)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(DurationConstraint)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(LoopNode)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(ForkNode)or
+ self.element.oclIsTypeOf(ExpansionNode)or
+ self.element.oclIsTypeOf(ActionInputPin)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(CallOperationAction)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(IntervalConstraint)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(Constraint)or
+ self.element.oclIsTypeOf(AddVariableValueAction)or
+ self.element.oclIsTypeOf(ExpansionNode)or
+ self.element.oclIsTypeOf(ValuePin)or
+ self.element.oclIsTypeOf(Parameter)or
+ self.element.oclIsTypeOf(ReadVariableAction)or
+ self.element.oclIsTypeOf(OpaqueAction)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(ValuePin)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(InterruptibleActivityRegion)or
+ self.element.oclIsTypeOf(Constraint)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(JoinNode)or
+ self.element.oclIsTypeOf(StructuredActivityNode)or
+ self.element.oclIsTypeOf(ConditionalNode)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(ActionInputPin)or
+ self.element.oclIsTypeOf(Constraint)or
+ self.element.oclIsTypeOf(TimeConstraint)or
+ self.element.oclIsTypeOf(DecisionNode)or
+ self.element.oclIsTypeOf(ActivityParameterNode)or
+ self.element.oclIsTypeOf(ActionInputPin)or
+ self.element.oclIsTypeOf(ActionInputPin)or
+ self.element.oclIsTypeOf(CentralBufferNode)or
+ self.element.oclIsTypeOf(Comment)or
+ self.element.oclIsTypeOf(DestroyObjectAction)or
+ self.element.oclIsTypeOf(CreateObjectAction)or
+ self.element.oclIsTypeOf(ValuePin)or
+ self.element.oclIsTypeOf(ValuePin)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(DataStoreNode)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(ActionInputPin)or
+ self.element.oclIsTypeOf(CallBehaviorAction)or
+ self.element.oclIsTypeOf(ExpansionRegion)or
+ self.element.oclIsTypeOf(SendObjectAction)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(TimeConstraint)or
+ self.element.oclIsTypeOf(MergeNode)or
+ self.element.oclIsTypeOf(DurationConstraint)or
+ self.element.oclIsTypeOf(ValuePin)or
+ self.element.oclIsTypeOf(ValueSpecificationAction)or
+ self.element.oclIsTypeOf(AcceptEventAction)or
+ self.element.oclIsTypeOf(Activity)or
+ self.element.oclIsTypeOf(InputPin)or
+ self.element.oclIsTypeOf(ReadStructuralFeatureAction)or
+ self.element.oclIsTypeOf(OutputPin)or
+ self.element.oclIsTypeOf(ValuePin)
+ )
+ )
+}{
+
+}
+
+
+/****** Connector Labels ******/
+
+mapping BasicDecorationNode::toConnectorLabel() : DecorationNode inherits Node::toPapyrusConnectorLabel when {
+ not self.getType().oclIsUndefined() and (
+ self.type = 'ToMultiplicityLabel' or
+ self.type = 'ToRoleLabel' or
+ self.type = 'FromMultiplicityLabel' or
+ self.type = 'FromRoleLabel' or
+ self.type = 'NameLabel' or
+ self.type = 'KindLabel'
+ )
+}{}
+
+
+/****** Compartments *******/
+
+mapping BasicDecorationNode::toLabel() : DecorationNode inherits Node::toPapyrusNode when {
+ not self.getType().oclIsUndefined() and
+ self.element.oclIsKindOf(uml::NamedElement) and
+ (self.type = 'Name' or self.type = 'PartitionName')
+}{}
+
+mapping BasicSemanticCompartment::toListCompartment() : BasicCompartment inherits Node::toPapyrusNode, DrawerStyle::toDrawerStyle when {
+ self.type.endsWith('Compartment') and not self.getType().oclIsUndefined()
+}{
+ result.children := self.findElement().map toContents(self);
+}
+
+mapping Element::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Activity::toContents
+;
+
+mapping Activity::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Activity::toActivityFigureParameterCompartmentContents,
+ Activity::toActivityFigurePreconditionCompartmentContents,
+ Activity::toActivityFigurePostCondtionCompartmentContents
+;
+
+mapping Activity::toActivityFigureParameterCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'Compartment';
+}{
+ init {
+ result := (self.map fillParameter(node))
+ }
+}
+
+mapping Activity::toActivityFigurePreconditionCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'Compartment';
+}{
+ init {
+ result := (self.map fillConstraint(node))
+ }
+}
+
+mapping Activity::toActivityFigurePostCondtionCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'Compartment';
+}{
+ init {
+ result := (self.map fillConstraint(node))
+ }
+}
+
+mapping uml::Activity::fillParameter(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='Compartment';
+}{
+ init {
+ result := self.ownedParameter->selectByKind(Parameter).map toParameterInActivity(node)->asSequence();
+ }
+}
+
+mapping uml::Activity::fillConstraint(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='Compartment';
+}{
+ init {
+ result := self.precondition->selectByKind(Constraint).map toConstraintInActivity(node)->asSequence();
+ }
+}
+
+mapping Parameter::toParameterInActivity(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3001';
+}
+
+mapping Constraint::toConstraintInActivity(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3002';
+}
+
+
+
+/******* Edges ********/
+
+
+mapping UMLConnector::toPapyrusConnector() : Connector inherits Connector::toPapyrusConnector when {
+ self.type = '' and
+ not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(ObjectFlow)or
+ self.element.oclIsTypeOf(ControlFlow)or
+ self.element.oclIsTypeOf(ExceptionHandler)
+ )
+}{
+ result.styles := self.map toFontStyle();
+}
+
+/****** Element Type queries ******/
+
+query View::getNodeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(Constraint) then '3112'
+ elif element.oclIsTypeOf(Constraint) then '3002'
+ elif element.oclIsTypeOf(Constraint) then '3003'
+ elif element.oclIsTypeOf(Constraint) then '3011'
+ elif element.oclIsTypeOf(Constraint) then '3012'
+
+ elif element.oclIsTypeOf(IntervalConstraint) then '3033'
+ elif element.oclIsTypeOf(IntervalConstraint) then '3032'
+ elif element.oclIsTypeOf(DurationConstraint) then '3035'
+ elif element.oclIsTypeOf(TimeConstraint) then '3036'
+ elif element.oclIsTypeOf(TimeConstraint) then '3037'
+ elif element.oclIsTypeOf(DurationConstraint) then '3034'
+
+ elif element.oclIsTypeOf(FlowFinalNode) then '3006'
+ elif element.oclIsTypeOf(ActivityPartition) then '3067'
+
+ elif element.oclIsTypeOf(ActionInputPin) then '3053'
+ elif element.oclIsTypeOf(BroadcastSignalAction) then '3102'
+ elif element.oclIsTypeOf(ActionInputPin) then '3050'
+ elif element.oclIsTypeOf(ValuePin) then '3022'
+
+ elif element.oclIsTypeOf(ValuePin) then '3060'
+ elif element.oclIsTypeOf(SequenceNode) then '3073'
+ elif element.oclIsTypeOf(ActionInputPin) then '3021'
+ elif element.oclIsTypeOf(InputPin) then '3092'
+ elif element.oclIsTypeOf(OutputPin) then '3087'
+ elif element.oclIsTypeOf(InputPin) then '3051'
+ elif element.oclIsTypeOf(ReadSelfAction) then '3081'
+ elif element.oclIsTypeOf(ActivityFinalNode) then '3005'
+ elif element.oclIsTypeOf(InputPin) then '3062'
+ elif element.oclIsTypeOf(SendSignalAction) then '3052'
+ elif element.oclIsTypeOf(InitialNode) then '3004'
+ elif element.oclIsTypeOf(AddStructuralFeatureValueAction) then '3091'
+ elif element.oclIsTypeOf(OutputPin) then '3109'
+
+ elif element.oclIsTypeOf(OutputPin) then '3111'
+ elif element.oclIsTypeOf(LoopNode) then '3071'
+ elif element.oclIsTypeOf(OutputPin) then '3014'
+ elif element.oclIsTypeOf(ForkNode) then '3040'
+ elif element.oclIsTypeOf(ExpansionNode) then '3074'
+ elif element.oclIsTypeOf(ActionInputPin) then '3018'
+ elif element.oclIsTypeOf(InputPin) then '3013'
+ elif element.oclIsTypeOf(OutputPin) then '3090'
+ elif element.oclIsTypeOf(OutputPin) then '3064'
+ elif element.oclIsTypeOf(CallOperationAction) then '3010'
+ elif element.oclIsTypeOf(InputPin) then '3027'
+
+ elif element.oclIsTypeOf(InputPin) then '3105'
+
+ elif element.oclIsTypeOf(AddVariableValueAction) then '3099'
+ elif element.oclIsTypeOf(ExpansionNode) then '3075'
+ elif element.oclIsTypeOf(ValuePin) then '3017'
+ elif element.oclIsTypeOf(Parameter) then '3001'
+ elif element.oclIsTypeOf(ReadVariableAction) then '3097'
+ elif element.oclIsTypeOf(OpaqueAction) then '3007'
+ elif element.oclIsTypeOf(OutputPin) then '3077'
+ elif element.oclIsTypeOf(ValuePin) then '3046'
+ elif element.oclIsTypeOf(InputPin) then '3023'
+ elif element.oclIsTypeOf(InputPin) then '3096'
+ elif element.oclIsTypeOf(InputPin) then '3055'
+ elif element.oclIsTypeOf(OutputPin) then '3110'
+ elif element.oclIsTypeOf(InputPin) then '3019'
+ elif element.oclIsTypeOf(InputPin) then '3100'
+ elif element.oclIsTypeOf(InputPin) then '3093'
+ elif element.oclIsTypeOf(InterruptibleActivityRegion) then '3068'
+
+ elif element.oclIsTypeOf(OutputPin) then '3094'
+ elif element.oclIsTypeOf(JoinNode) then '3041'
+ elif element.oclIsTypeOf(StructuredActivityNode) then '3065'
+ elif element.oclIsTypeOf(ConditionalNode) then '3069'
+ elif element.oclIsTypeOf(OutputPin) then '3024'
+ elif element.oclIsTypeOf(ActionInputPin) then '3047'
+
+
+ elif element.oclIsTypeOf(DecisionNode) then '3038'
+ elif element.oclIsTypeOf(ActivityParameterNode) then '3059'
+ elif element.oclIsTypeOf(ActionInputPin) then '3061'
+ elif element.oclIsTypeOf(ActionInputPin) then '3016'
+ elif element.oclIsTypeOf(CentralBufferNode) then '3104'
+ elif element.oclIsTypeOf(Comment) then '3080'
+ elif element.oclIsTypeOf(DestroyObjectAction) then '3095'
+ elif element.oclIsTypeOf(CreateObjectAction) then '3086'
+ elif element.oclIsTypeOf(ValuePin) then '3025'
+ elif element.oclIsTypeOf(ValuePin) then '3054'
+ elif element.oclIsTypeOf(OutputPin) then '3098'
+ elif element.oclIsTypeOf(DataStoreNode) then '3078'
+ elif element.oclIsTypeOf(InputPin) then '3089'
+ elif element.oclIsTypeOf(ActionInputPin) then '3026'
+ elif element.oclIsTypeOf(CallBehaviorAction) then '3008'
+ elif element.oclIsTypeOf(ExpansionRegion) then '3070'
+ elif element.oclIsTypeOf(SendObjectAction) then '3042'
+ elif element.oclIsTypeOf(InputPin) then '3048'
+ elif element.oclIsTypeOf(InputPin) then '3101'
+ elif element.oclIsTypeOf(OutputPin) then '3020'
+
+ elif element.oclIsTypeOf(MergeNode) then '3039'
+
+ elif element.oclIsTypeOf(ValuePin) then '3015'
+ elif element.oclIsTypeOf(ValueSpecificationAction) then '3076'
+ elif element.oclIsTypeOf(AcceptEventAction) then '3063'
+ elif element.oclIsTypeOf(Activity) then '2001'
+ elif element.oclIsTypeOf(InputPin) then '3103'
+ elif element.oclIsTypeOf(ReadStructuralFeatureAction) then '3088'
+ elif element.oclIsTypeOf(OutputPin) then '3084'
+ elif element.oclIsTypeOf(ValuePin) then '3049'
+ else self.fail()
+ endif;
+}
+
+
+query View::getDecorationType(element : Element) : String{
+ var res := self.doGetDecorationType(element);
+
+ /*
+ log('Get papyrus ID for'+ self.element.eClass().name+', '+self.type);
+
+ log(res);
+
+ if self.container().oclIsKindOf(Node) then
+ log('IsNode')
+ else
+ log('IsEdge')
+ endif;
+ */
+
+ return res;
+
+}
+
+query View::doGetDecorationType(element : Element) : String{
+ return if self.container().oclIsKindOf(Node) then {
+ return if element.oclIsTypeOf(ActivityPartition) then
+ return switch {
+ case (self.type = 'PartitionName') '5118';
+ case (self.type = 'PartitionCompartment') '7006';
+ }
+ elif element.oclIsTypeOf(Constraint) then
+ return switch {
+ case (self.type = 'Name') '5189';
+ }
+ elif element.oclIsTypeOf(IntervalConstraint) then
+ return switch {
+ case (self.type = 'Name') '5037';
+
+ }
+ elif element.oclIsTypeOf(BroadcastSignalAction) then
+ return switch {
+ case (self.type = 'Name') '5175';
+
+ }
+ elif element.oclIsTypeOf(SequenceNode) then
+ return switch {
+
+ case (self.type = 'StructureCompartment') '7012';
+ }
+ elif element.oclIsTypeOf(ReadSelfAction) then
+ return switch {
+ case (self.type = 'Name') '5139';
+
+ }
+ elif element.oclIsTypeOf(SendSignalAction) then
+ return switch {
+ case (self.type = 'Name') '5060';
+
+ }
+ elif element.oclIsTypeOf(AddStructuralFeatureValueAction) then
+ return switch {
+ case (self.type = 'Name') '5160';
+
+ }
+ elif element.oclIsTypeOf(DurationConstraint) then
+ return switch {
+ case (self.type = 'Name') '5039';
+
+ }
+ elif element.oclIsTypeOf(LoopNode) then
+ return switch {
+
+ case (self.type = 'StructureCompartment') '7010';
+ }
+ elif element.oclIsTypeOf(CallOperationAction) then
+ return switch {
+ case (self.type = 'Name') '5006';
+
+ }
+ elif element.oclIsTypeOf(IntervalConstraint) then
+ return switch {
+ case (self.type = 'Name') '5036';
+
+ }
+ elif element.oclIsTypeOf(Constraint) then
+ return switch {
+ case (self.type = 'Name') '5007';
+
+ }
+ elif element.oclIsTypeOf(AddVariableValueAction) then
+ return switch {
+ case (self.type = 'Name') '5171';
+
+ }
+ elif element.oclIsTypeOf(ReadVariableAction) then
+ return switch {
+ case (self.type = 'Name') '5166';
+
+ }
+ elif element.oclIsTypeOf(OpaqueAction) then
+ return switch {
+ case (self.type = 'Name') '5003';
+
+ }
+ elif element.oclIsTypeOf(InterruptibleActivityRegion) then
+ return switch {
+
+ case (self.type = 'StructureCompartment') '7007';
+ }
+ elif element.oclIsTypeOf(Constraint) then
+ return switch {
+ case (self.type = 'Name') '5008';
+
+ }
+ elif element.oclIsTypeOf(StructuredActivityNode) then
+ return switch {
+ case (self.type = 'Name') '5117';
+ case (self.type = 'StructuredActivityNodeCompartment') '7005';
+ }
+ elif element.oclIsTypeOf(ConditionalNode) then
+ return switch {
+
+ case (self.type = 'StructureCompartment') '7008';
+ }
+ elif element.oclIsTypeOf(TimeConstraint) then
+ return switch {
+ case (self.type = 'Name') '5040';
+
+ }
+ elif element.oclIsTypeOf(ActivityParameterNode) then
+ return switch {
+ case (self.type = 'Name') '5071';
+
+ }
+ elif element.oclIsTypeOf(DestroyObjectAction) then
+ return switch {
+ case (self.type = 'Name') '5163';
+
+ }
+ elif element.oclIsTypeOf(CreateObjectAction) then
+ return switch {
+ case (self.type = 'Name') '5148';
+
+ }
+ elif element.oclIsTypeOf(CallBehaviorAction) then
+ return switch {
+ case (self.type = 'Name') '5004';
+
+ }
+ elif element.oclIsTypeOf(ExpansionRegion) then
+ return switch {
+
+ case (self.type = 'StructureCompartment') '7009';
+ }
+ elif element.oclIsTypeOf(SendObjectAction) then
+ return switch {
+ case (self.type = 'Name') '5059';
+
+ }
+ elif element.oclIsTypeOf(TimeConstraint) then
+ return switch {
+ case (self.type = 'Name') '5041';
+
+ }
+ elif element.oclIsTypeOf(DurationConstraint) then
+ return switch {
+ case (self.type = 'Name') '5038';
+
+ }
+ elif element.oclIsTypeOf(ValueSpecificationAction) then
+ return switch {
+ case (self.type = 'Name') '5126';
+
+ }
+ elif element.oclIsTypeOf(Activity) then
+ return switch {
+ case (self.type = 'Name') '5001';
+ case (self.type = 'Compartment') '7001';
+ case (self.type = 'Compartment') '7002';
+ case (self.type = 'Compartment') '7003';
+ case (self.type = 'ActivityCompartment') '7004';
+ }
+ elif element.oclIsTypeOf(ReadStructuralFeatureAction) then
+ return switch {
+ case (self.type = 'Name') '5153';
+ }
+ elif element.oclIsTypeOf(AcceptEventAction) then
+ return switch {
+ case (self.type = 'Name') '5078';
+ }
+ endif
+ } else {
+ return if element.oclIsTypeOf(ObjectFlow) then
+ return switch {
+ case (self.type='Name') '6001';
+ case (self.type = 'NameLabel') '6001';
+ case (self.type = 'KindLabel') '6010';
+
+ }
+ elif element.oclIsTypeOf(ControlFlow) then
+ return switch {
+ case (self.type='Name') '6003';
+ case (self.type = 'NameLabel') '6003';
+ case (self.type = 'KindLabel') '6011';
+ }
+ endif
+ } endif;
+}
+
+
+query View::getEdgeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(ObjectFlow) then '4003'
+ elif element.oclIsTypeOf(ControlFlow) then '4004'
+ elif element.oclIsTypeOf(ExceptionHandler) then '4005'
+ else self.fail()
+ endif;
+}
+
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAClassDiagram.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAClassDiagram.qvto
new file mode 100644
index 00000000000..3e47248c16f
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAClassDiagram.qvto
@@ -0,0 +1,1274 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+import RSAToPapyrus;
+import org.eclipse.papyrus.m2m.qvto.Properties;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype umlNotation "strict" uses 'http://www.eclipse.org/papyrus/umlnotation';
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype sash "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/sashdi';
+modeltype vpconfig "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/configuration';
+modeltype vpstyle "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/policy/style';
+
+
+transformation RSAClassDiagram(inout semantics : uml, inout graphics : notation, out di : sash);
+
+main() {
+ semantics.rootObjects()[uml::Element]->map toOwnedDiagrams();
+}
+
+query View::getDiagramType() : String{
+ return 'PapyrusUMLClassDiagram';
+}
+
+
+
+mapping notation::Diagram::generateDiagram() : notation::Diagram inherits Diagram::toPapyrusDiagram when {
+ (self.type = 'Class' or self.type='Object') and not self.findElement().oclIsTypeOf(Profile)
+}{
+
+ end {
+
+ /* Post action: Move AssociationClasses to the right parent (Dashed Edge + Node) */
+ /* Easier to do in post-treatment than during the transformation (The transformation can remain generic) */
+ result.map handleAssociationClasses();
+ graphics.objectsOfType(Shape)->select(type = '2012').map addCommentDecoration();
+ graphics.objectsOfType(Shape)->select(type = '2011').map addConstraintDecoration();
+ if not result.element.oclIsKindOf(Package) then
+ result.map toInnerClassDiagram()
+ endif;
+ }
+}
+
+mapping inout Diagram::toInnerClassDiagram() : PapyrusViewStyle{
+ log('ToICD');
+ result.owner := self.element;
+ result._configuration := getInnerClassDiagramView();
+
+ self.styles += result;
+}
+
+query getInnerClassDiagramView() : PapyrusDiagram {
+ return getEObjectProperty('InnerClassDiagramView').oclAsType(PapyrusDiagram);
+}
+
+mapping inout Shape::addCommentDecoration() when {
+ self.type = '2012' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '5038'; //Comment body
+ }
+
+}
+
+mapping inout Shape::addConstraintDecoration() when {
+ self.type = '2011' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '5159'; //Constraint specification
+ }
+
+}
+
+mapping inout Diagram::handleAssociationClasses() {
+ graphics.objectsOfType(Shape)->select(type = '2013').map updateLocation();
+
+ self.children := self.children->union(graphics.objectsOfType(Node)->select(type = '2013'));
+ self.edges := self.edges->union(graphics.objectsOfType(Connector)->select(type = '4016'));
+}
+
+mapping inout Shape::updateLocation() {
+ var dashedEdge := graphics.objectsOfType(Connector)->select(type = '4016' and source = self or target = self)->any(true);
+
+ var association := dashedEdge.findConnector();
+
+ var source := association.source.oclAsType(Shape);
+ var target := association.target.oclAsType(Shape);
+
+ var sourcePosition := source.getBounds();
+ var targetPosition := target.getBounds();
+
+ var bounds := self.getBounds();
+
+ bounds.x := (((sourcePosition.x + targetPosition.x)/2) + bounds.x).round();
+ bounds.y := (((sourcePosition.y + targetPosition.y)/2) + bounds.y).round();
+}
+
+query Connector::findConnector() : Connector {
+ var view := if self.source.oclIsKindOf(Connector) then self.source else self.target endif;
+ return view.oclAsType(Connector);
+}
+
+query Shape::getBounds() : Bounds {
+ return self.oclAsType(Shape).layoutConstraint.oclAsType(Bounds);
+}
+
+/**
+* In Papyrus, an AssociationClass is composed of two edges and a Node (Full edge for association, dashed edge for Association class, Node for the class)
+* In RSA, an AssociationClass is a single Edge with compartments
+*/
+mapping UMLConnector::toAssociationClass() : Connector inherits Connector::toPapyrusConnector when {
+ self.element.oclIsTypeOf(AssociationClass)
+}{
+ result.styles := self.map toFontStyle();
+ var dashedEdge := object Connector {
+ type := '4016';
+ target := self.children->selectByKind(UMLShape)->any(true).map toPapyrusShape();
+ source := result;
+ styles := object FontStyle{};
+ bendpoints := object RelativeBendpoints{};
+ sourceAnchor := object IdentityAnchor{};
+ targetAnchor := object IdentityAnchor{};
+
+ };
+
+
+}
+
+
+mapping Node::toNode() : Node disjuncts
+ UMLShape::toPapyrusShape,
+ UMLShapeCompartment::toStructureCompartment,
+ BasicSemanticCompartment::toListCompartment,
+ ListCompartment::toListCompartment,
+ BasicDecorationNode::toConnectorLabel,
+ BasicDecorationNode::toLabel
+ //TODO: Disjunct nodes mapping
+;
+
+mapping Edge::toEdge() : Edge disjuncts
+ UMLConnector::toPapyrusConnector,
+ UMLConnector::toGeneralizationConnector,
+ UMLConnector::toAssociationClass,
+ UMLConnector::toCommentLink,
+ UMLConnector::toConstraintLink,
+ UMLConnector::toContextLink
+;
+
+mapping UMLShapeCompartment::toStructureCompartment() : DecorationNode inherits UMLShapeCompartment::toAbstractStructureCompartment when {
+ self.type = 'StructureCompartment' or self.type = 'PackageContents' and not self.getType().oclIsUndefined();
+}{
+
+}
+
+
+/***** Nodes **********/
+
+mapping UMLShape::toPapyrusShape() : Shape inherits Shape::toPapyrusShape when {
+ self.type = '' and (
+ self.element.oclIsTypeOf(Dependency)or
+ self.element.oclIsTypeOf(AssociationClass)or
+ self.element.oclIsTypeOf(Association)or
+ self.element.oclIsTypeOf(InstanceSpecification)or
+ self.element.oclIsTypeOf(Component)or
+ self.element.oclIsTypeOf(Signal)or
+ self.element.oclIsTypeOf(Interface)or
+ self.element.oclIsTypeOf(Model)or
+ self.element.oclIsTypeOf(Enumeration)or
+ self.element.oclIsTypeOf(Package)or
+ self.element.oclIsTypeOf(InformationItem)or
+ self.element.oclIsTypeOf(Class)or
+ self.element.oclIsTypeOf(PrimitiveType)or
+ self.element.oclIsTypeOf(DataType)or
+ self.element.oclIsTypeOf(Constraint)or
+ self.element.oclIsTypeOf(Comment)or
+ self.element.oclIsTypeOf(Diagram)or
+ self.element.oclIsTypeOf(DurationObservation)or
+ self.element.oclIsTypeOf(TimeObservation)
+ )
+}{
+
+}
+
+
+/****** Connector Labels ******/
+
+mapping BasicDecorationNode::toConnectorLabel() : DecorationNode inherits Node::toPapyrusConnectorLabel when {
+ self.type = 'ToMultiplicityLabel' or
+ self.type = 'ToRoleLabel' or
+ self.type = 'FromMultiplicityLabel' or
+ self.type = 'FromRoleLabel' or
+ self.type = 'NameLabel' or
+ self.type = 'KindLabel'
+}{
+
+}
+
+/****** Compartments *******/
+
+mapping BasicDecorationNode::toLabel() : DecorationNode inherits Node::toPapyrusNode when {
+ self.element.oclIsKindOf(uml::NamedElement) and
+ self.type = 'Name'
+}{
+
+}
+
+//Synchronized Compartments
+mapping BasicSemanticCompartment::toListCompartment() : BasicCompartment inherits Node::toPapyrusNode, DrawerStyle::toDrawerStyle when {
+ //TODO: EndsWith('Compartment')
+ self.type = 'OperationCompartment' or
+ self.type = 'SignalCompartment' or
+ self.type = 'AttributeCompartment' or
+ self.type.endsWith('Compartment')
+}{
+ result.children += self.findElement().map toContents(self);
+}
+
+//Standard Compartments (e.g. slots)
+mapping ListCompartment::toListCompartment() : BasicCompartment inherits Node::toPapyrusNode, DrawerStyle::toDrawerStyle when {
+ self.type.endsWith('Compartment')
+} {
+ //Super class implementation is sufficient. It will already transform the children and set the compartment ID
+ result.children += self.findElement().map toContents(self);
+}
+
+mapping Element::toContents(node : ListCompartment) : Sequence(Node) disjuncts
+ InstanceSpecification::toContents
+;
+
+mapping Element::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ AssociationClass::toContents,
+ Component::toContents,
+ Signal::toContents,
+ Interface::toContents,
+ Enumeration::toContents,
+ Class::toContents,
+ PrimitiveType::toContents,
+ DataType::toContents
+;
+
+mapping AssociationClass::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ AssociationClass::toAttributeCompartmentContents,
+ AssociationClass::toOperationCompartmentContents,
+ AssociationClass::toNestedClassifierCompartmentContents
+;
+
+mapping InstanceSpecification::toContents(node : ListCompartment) : Sequence(Node) disjuncts
+ InstanceSpecification::toSlotCompartmentContents
+;
+
+mapping Component::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Component::toAttributeCompartmentContents,
+ Component::toOperationCompartmentContents,
+ Component::toNestedClassifierCompartmentContents
+;
+
+mapping Signal::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Signal::toAttributeCompartmentContents
+;
+
+mapping Interface::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Interface::toAttributeCompartmentContents,
+ Interface::toOperationCompartmentContents,
+ Interface::toNestedClassifierCompartmentContents
+;
+
+mapping Enumeration::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Enumeration::toEnumerationLiteralCompartmentContents
+;
+
+mapping Class::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Class::toAttributeCompartmentContents,
+ Class::toOperationCompartmentContents,
+ Class::toNestedClassifierCompartmentContents
+;
+
+mapping PrimitiveType::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ PrimitiveType::toAttributeCompartmentContents,
+ PrimitiveType::toOperationCompartmentContents
+;
+
+mapping DataType::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ DataType::toAttributeCompartmentContents,
+ DataType::toOperationCompartmentContents
+;
+
+mapping AssociationClass::toAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping AssociationClass::toOperationCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'OperationCompartment';
+}{
+ init {
+ result := (self.map fillOperation(node))
+ }
+}
+
+mapping AssociationClass::toNestedClassifierCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'SignalCompartment';
+}{
+ init {
+ result := (self.map fillClass(node))
+ }
+}
+
+mapping InstanceSpecification::toSlotCompartmentContents(node : ListCompartment) : Sequence(Node) when {
+ node.type = 'SlotCompartment';
+}{
+ init {
+ result := (self.map fillSlot(node))
+ }
+}
+
+mapping Component::toAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping Component::toOperationCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'OperationCompartment';
+}{
+ init {
+ result := (self.map fillOperation(node))
+ ->union(self.map fillReception(node))
+ }
+}
+
+mapping Component::toNestedClassifierCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'SignalCompartment';
+}{
+ init {
+ result := (self.map fillClass(node))
+ ->union(self.map fillInterface(node))
+ ->union(self.map fillEnumeration(node))
+ ->union(self.map fillPrimitiveType(node))
+ ->union(self.map fillDataType(node))
+ ->union(self.map fillSignal(node))
+ }
+}
+
+mapping Signal::toAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping Interface::toAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping Interface::toOperationCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'OperationCompartment';
+}{
+ init {
+ result := (self.map fillOperation(node))
+ ->union(self.map fillReception(node))
+ }
+}
+
+mapping Interface::toNestedClassifierCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'SignalCompartment';
+}{
+ init {
+ result := (self.map fillClass(node))
+ ->union(self.map fillInterface(node))
+ ->union(self.map fillEnumeration(node))
+ ->union(self.map fillPrimitiveType(node))
+ ->union(self.map fillDataType(node))
+ ->union(self.map fillSignal(node))
+ }
+}
+
+mapping Enumeration::toEnumerationLiteralCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'EnumerationCompartment';
+}{
+ init {
+ result := (self.map fillEnumerationLiteral(node))
+ }
+}
+
+mapping Class::toAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping Class::toOperationCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'OperationCompartment';
+}{
+ init {
+ result := (self.map fillReception(node))
+ ->union(self.map fillOperation(node))
+ }
+}
+
+mapping Class::toNestedClassifierCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'SignalCompartment';
+}{
+ init {
+ result := (self.map fillClass(node))
+ ->union(self.map fillInterface(node))
+ ->union(self.map fillEnumeration(node))
+ ->union(self.map fillPrimitiveType(node))
+ ->union(self.map fillDataType(node))
+ ->union(self.map fillSignal(node))
+ }
+}
+
+mapping PrimitiveType::toAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping PrimitiveType::toOperationCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'OperationCompartment';
+}{
+ init {
+ result := (self.map fillOperation(node))
+ }
+}
+
+mapping DataType::toAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping DataType::toOperationCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'OperationCompartment';
+}{
+ init {
+ result := (self.map fillOperation(node))
+ }
+}
+
+mapping uml::Class::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='AttributeCompartment';
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property)->select(association.oclIsUndefined()).map toPropertyInClass(node)->asSequence();
+ }
+}
+
+mapping uml::Component::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='AttributeCompartment';
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property)->select(association.oclIsUndefined()).map toPropertyInComponent(node)->asSequence();
+ }
+}
+
+mapping uml::Signal::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='AttributeCompartment';
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property)->select(association.oclIsUndefined()).map toPropertyInSignal(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='AttributeCompartment';
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property)->select(association.oclIsUndefined()).map toPropertyInInterface(node)->asSequence();
+ }
+}
+
+mapping uml::PrimitiveType::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='AttributeCompartment';
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property)->select(association.oclIsUndefined()).map toPropertyInPrimitiveType(node)->asSequence();
+ }
+}
+
+mapping uml::DataType::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='AttributeCompartment';
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property)->select(association.oclIsUndefined()).map toPropertyInDataType(node)->asSequence();
+ }
+}
+
+mapping uml::Class::fillClass(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Class).map toClassInClass(node)->asSequence();
+ }
+}
+
+mapping uml::Component::fillClass(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Class).map toClassInComponent(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillClass(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Class).map toClassInInterface(node)->asSequence();
+ }
+}
+
+mapping uml::Class::fillOperation(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='OperationCompartment';
+}{
+ init {
+ result := self.ownedOperation->selectByKind(Operation).map toOperationInClass(node)->asSequence();
+ }
+}
+
+mapping uml::Component::fillOperation(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='OperationCompartment';
+}{
+ init {
+ result := self.ownedOperation->selectByKind(Operation).map toOperationInComponent(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillOperation(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='OperationCompartment';
+}{
+ init {
+ result := self.ownedOperation->selectByKind(Operation).map toOperationInInterface(node)->asSequence();
+ }
+}
+
+mapping uml::PrimitiveType::fillOperation(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='OperationCompartment';
+}{
+ init {
+ result := self.ownedOperation->selectByKind(Operation).map toOperationInPrimitiveType(node)->asSequence();
+ }
+}
+
+mapping uml::DataType::fillOperation(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='OperationCompartment';
+}{
+ init {
+ result := self.ownedOperation->selectByKind(Operation).map toOperationInDataType(node)->asSequence();
+ }
+}
+
+mapping uml::RedefinableTemplateSignature::fillConnectableElementTemplateParameter(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='TemplateParameterCompartment';
+}{
+ init {
+ result := self.parameter->selectByKind(ConnectableElementTemplateParameter).map toConnectableElementTemplateParameterInRedefinableTemplateSignature(node)->asSequence();
+ }
+}
+
+mapping uml::TemplateSignature::fillOperationTemplateParameter(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='TemplateParameterCompartment';
+}{
+ init {
+ result := self.parameter->selectByKind(OperationTemplateParameter).map toOperationTemplateParameterInTemplateSignature(node)->asSequence();
+ }
+}
+
+mapping uml::RedefinableTemplateSignature::fillClassifierTemplateParameter(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='TemplateParameterCompartment';
+}{
+ init {
+ result := self.parameter->selectByKind(ClassifierTemplateParameter).map toClassifierTemplateParameterInRedefinableTemplateSignature(node)->asSequence();
+ }
+}
+
+mapping uml::RedefinableTemplateSignature::fillTemplateParameter(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='TemplateParameterCompartment';
+}{
+ init {
+ result := self.parameter->selectByKind(TemplateParameter).map toTemplateParameterInRedefinableTemplateSignature(node)->asSequence();
+ }
+}
+
+mapping uml::Enumeration::fillEnumerationLiteral(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='EnumerationCompartment';
+}{
+ init {
+ result := self.ownedLiteral->selectByKind(EnumerationLiteral).map toEnumerationLiteralInEnumeration(node)->asSequence();
+ }
+}
+
+mapping uml::Class::fillReception(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='OperationCompartment';
+}{
+ init {
+ result := self.ownedReception->selectByKind(Reception).map toReceptionInClass(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillReception(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='OperationCompartment';
+}{
+ init {
+ result := self.ownedReception->selectByKind(Reception).map toReceptionInInterface(node)->asSequence();
+ }
+}
+
+mapping uml::InstanceSpecification::fillSlot(node : ListCompartment) : Sequence(Node) when {
+ node.type='SlotCompartment';
+}{
+ init {
+ result := self.slot->selectByKind(Slot).map toSlotInInstanceSpecification(node)->asSequence();
+ }
+}
+
+mapping uml::Class::fillInterface(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Interface).map toInterfaceInClass(node)->asSequence();
+ }
+}
+
+mapping uml::Component::fillInterface(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Interface).map toInterfaceInComponent(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillInterface(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Interface).map toInterfaceInInterface(node)->asSequence();
+ }
+}
+
+mapping uml::Class::fillEnumeration(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Enumeration).map toEnumerationInClass(node)->asSequence();
+ }
+}
+
+mapping uml::Component::fillEnumeration(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Enumeration).map toEnumerationInComponent(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillEnumeration(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Enumeration).map toEnumerationInInterface(node)->asSequence();
+ }
+}
+
+mapping uml::Class::fillPrimitiveType(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(PrimitiveType).map toPrimitiveTypeInClass(node)->asSequence();
+ }
+}
+
+mapping uml::Component::fillPrimitiveType(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(PrimitiveType).map toPrimitiveTypeInComponent(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillPrimitiveType(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(PrimitiveType).map toPrimitiveTypeInInterface(node)->asSequence();
+ }
+}
+
+mapping uml::Class::fillDataType(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(DataType).map toDataTypeInClass(node)->asSequence();
+ }
+}
+
+mapping uml::Component::fillDataType(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(DataType).map toDataTypeInComponent(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillDataType(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(DataType).map toDataTypeInInterface(node)->asSequence();
+ }
+}
+
+mapping uml::Class::fillSignal(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Signal).map toSignalInClass(node)->asSequence();
+ }
+}
+
+mapping uml::Component::fillSignal(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Signal).map toSignalInComponent(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillSignal(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='SignalCompartment';
+}{
+ init {
+ result := self.nestedClassifier->selectByKind(Signal).map toSignalInInterface(node)->asSequence();
+ }
+}
+
+mapping Property::toPropertyInClass(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3012';
+}
+
+mapping Property::toPropertyInComponent(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3002';
+}
+
+mapping Property::toPropertyInSignal(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3005';
+}
+
+mapping Property::toPropertyInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3006';
+}
+
+mapping Property::toPropertyInPrimitiveType(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3041';
+}
+
+mapping Property::toPropertyInDataType(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3018';
+}
+
+mapping Class::toClassInClass(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3014';
+}
+
+mapping Class::toClassInComponent(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3004';
+}
+
+mapping Class::toClassInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3008';
+}
+
+mapping Operation::toOperationInClass(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3013';
+}
+
+mapping Operation::toOperationInComponent(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3003';
+}
+
+mapping Operation::toOperationInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3007';
+}
+
+mapping Operation::toOperationInPrimitiveType(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3042';
+}
+
+mapping Operation::toOperationInDataType(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3019';
+}
+
+mapping ConnectableElementTemplateParameter::toConnectableElementTemplateParameterInRedefinableTemplateSignature(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3034';
+}
+
+mapping OperationTemplateParameter::toOperationTemplateParameterInTemplateSignature(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3035';
+}
+
+mapping ClassifierTemplateParameter::toClassifierTemplateParameterInRedefinableTemplateSignature(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3031';
+}
+
+mapping TemplateParameter::toTemplateParameterInRedefinableTemplateSignature(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3016';
+}
+
+mapping EnumerationLiteral::toEnumerationLiteralInEnumeration(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3017';
+}
+
+mapping Reception::toReceptionInClass(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3011';
+}
+
+mapping Reception::toReceptionInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3039';
+}
+
+mapping Slot::toSlotInInstanceSpecification(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3030';
+}
+
+mapping Interface::toInterfaceInClass(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3036';
+}
+
+mapping Interface::toInterfaceInComponent(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3037';
+}
+
+mapping Interface::toInterfaceInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3038';
+}
+
+mapping Enumeration::toEnumerationInClass(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3052';
+}
+
+mapping Enumeration::toEnumerationInComponent(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3053';
+}
+
+mapping Enumeration::toEnumerationInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3054';
+}
+
+mapping PrimitiveType::toPrimitiveTypeInClass(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3047';
+}
+
+mapping PrimitiveType::toPrimitiveTypeInComponent(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3046';
+}
+
+mapping PrimitiveType::toPrimitiveTypeInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3048';
+}
+
+mapping DataType::toDataTypeInClass(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3044';
+}
+
+mapping DataType::toDataTypeInComponent(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3045';
+}
+
+mapping DataType::toDataTypeInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3043';
+}
+
+mapping Signal::toSignalInClass(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3050';
+}
+
+mapping Signal::toSignalInComponent(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3051';
+}
+
+mapping Signal::toSignalInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3049';
+}
+
+
+
+/******* Edges ********/
+
+
+mapping UMLConnector::toPapyrusConnector() : Connector inherits Connector::toPapyrusConnector when {
+ self.type = '' and (
+ /*self.element.oclIsTypeOf(AssociationClass)or*/
+ self.element.oclIsTypeOf(Association)or
+ self.element.oclIsTypeOf(Association)or
+ self.element.oclIsTypeOf(InterfaceRealization)or
+ self.element.oclIsTypeOf(Substitution)or
+ self.element.oclIsTypeOf(Realization)or
+ self.element.oclIsTypeOf(Abstraction)or
+ self.element.oclIsTypeOf(Usage)or
+ self.element.oclIsTypeOf(Dependency)or
+ self.element.oclIsTypeOf(Dependency)or
+ self.element.oclIsTypeOf(ElementImport)or
+ self.element.oclIsTypeOf(PackageImport)or
+ self.element.oclIsTypeOf(PackageMerge)or
+ self.element.oclIsTypeOf(ProfileApplication)or
+ self.element.oclIsTypeOf(TemplateBinding)or
+ self.element.oclIsTypeOf(GeneralizationSet)or
+ self.element.oclIsTypeOf(InstanceSpecification)or
+ self.element.oclIsTypeOf(InformationFlow)
+
+ )
+}{
+ result.styles := self.map toFontStyle();
+}
+
+mapping UMLConnector::toGeneralizationConnector() : Connector inherits Connector::toPapyrusConnector when {
+ self.type='' and self.element.oclIsTypeOf(Generalization)
+}{
+ result.children->forEach(element){
+ element.type:='6007'
+ };
+ result.styles := self.map toFontStyle();
+ result.sourceAnchor := object IdentityAnchor{};
+ result.targetAnchor := object IdentityAnchor{};
+
+}
+
+mapping UMLConnector::toCommentLink() : Connector inherits Connector::toCommentLink when{
+ self.type='Reference' and (
+ self.source.element.oclIsTypeOf(Comment) or
+ self.target.element.oclIsKindOf(Comment)
+ )
+}{
+ result.type :='4013';
+ result.bendpoints := self.bendpoints.map toBendpoint(self.diagram);
+ result.sourceAnchor := object IdentityAnchor{};
+}
+
+mapping UMLConnector::toConstraintLink() : Connector inherits Connector::toPapyrusConnector when{
+ self.type='Reference' and (
+ self.source.element.oclIsTypeOf(Constraint) or
+ self.target.element.oclIsKindOf(Constraint)
+ )
+}{
+ result.type :='4014';
+ result.bendpoints := self.bendpoints.map toBendpoint(self.diagram);
+ result.sourceAnchor := object IdentityAnchor{};
+}
+
+mapping UMLConnector::toContextLink() : Connector inherits Connector::toPapyrusConnector when{
+ self.type='Reference' and (
+ self.source.element.oclIsTypeOf(Constraint) or
+ self.target.element.oclIsKindOf(Constraint)
+ )
+}{
+ result.type :='8500';
+ result.bendpoints := self.bendpoints.map toBendpoint(self.diagram);
+ result.sourceAnchor := object IdentityAnchor{};
+ result.children += object DecorationNode {
+ type := '8501';
+ layoutConstraint := object Location {
+ y := 15;
+ }
+ }
+}
+
+
+/****** Element Type queries ******/
+
+query View::getNodeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(Dependency) then '2014'
+ elif element.oclIsTypeOf(AssociationClass) then '2013'
+ elif element.oclIsTypeOf(Association) then '2015'
+ elif element.oclIsTypeOf(InstanceSpecification) then '2001'
+ elif element.oclIsTypeOf(Component) then '2002'
+ elif element.oclIsTypeOf(Signal) then '2003'
+ elif element.oclIsTypeOf(Interface) then '2004'
+ elif element.oclIsTypeOf(Model) then '2005'
+ elif element.oclIsTypeOf(Enumeration) then '2006'
+ elif element.oclIsTypeOf(Package) then '2007'
+ elif element.oclIsTypeOf(InformationItem) then '2099'
+ elif element.oclIsTypeOf(Class) then '2008'
+ elif element.oclIsTypeOf(PrimitiveType) then '2009'
+ elif element.oclIsTypeOf(DataType) then '2010'
+ elif element.oclIsTypeOf(Constraint) then '2011'
+ elif element.oclIsTypeOf(Comment) then '2012'
+ elif element.oclIsTypeOf(Diagram) then '2016'
+ elif element.oclIsTypeOf(DurationObservation) then '2095'
+ elif element.oclIsTypeOf(TimeObservation) then '2096'
+ else self.fail()
+ endif;
+}
+
+
+query View::getDecorationType(element : Element) : String{
+ var res := self.doGetDecorationType(element);
+
+ /*log('Get papyrus ID for'+ element.oclAsType(EObject).eClass().name+', '+self.type);
+
+ log(res);
+
+ if self.container().oclIsKindOf(Node) then
+ log('IsNode')
+ else
+ log('IsEdge')
+ endif;*/
+
+ return res;
+}
+
+query View::doGetDecorationType(element : Element) : String{
+
+ return if self.container().oclIsKindOf(Node) then {
+ return if element.oclIsKindOf(AssociationClass) then
+ return switch {
+ case (self.type = 'Name') '5066';
+ case (self.type = 'AttributeCompartment') '7034';
+ case (self.type = 'OperationCompartment') '7036';
+ case (self.type = 'SignalCompartment') '7037';
+ }
+ elif element.oclIsKindOf(InstanceSpecification) then
+ return switch {
+ case (self.type = 'Name') '5002';
+ case (self.type = 'SlotCompartment') '7001';
+ }
+ elif element.oclIsKindOf(Component) then
+ return switch {
+ case (self.type = 'Name') '5005';
+ case (self.type = 'AttributeCompartment') '7002';
+ case (self.type = 'OperationCompartment') '7003';
+ case (self.type = 'SignalCompartment') '7004';
+ }
+ elif element.oclIsKindOf(Signal) then
+ return switch {
+ case (self.type = 'Name') '5008';
+ case (self.type = 'AttributeCompartment') '7005';
+ }
+ elif element.oclIsKindOf(Interface) then
+ return switch {
+ case (self.type = 'Name') '5011';
+ case (self.type = 'AttributeCompartment') '7006';
+ case (self.type = 'OperationCompartment') '7007';
+ case (self.type = 'SignalCompartment') '7008';
+ }
+ elif element.oclIsKindOf(Model) then
+ return switch {
+ case (self.type = 'Name') '5020';
+ case (self.type = 'PackageContents') '7009';
+ }
+ elif element.oclIsKindOf(Enumeration) then
+ return switch {
+ case (self.type = 'Name') '5023';
+ case (self.type = 'EnumerationCompartment') '7015';
+ }
+ elif element.oclIsKindOf(Package) then
+ return switch {
+ case (self.type = 'Name') '5026';
+ case (self.type = 'PackageContents') '7016';
+ }
+ elif element.oclIsKindOf(InformationItem) then
+ return switch {
+ case (self.type = 'Name') '5161';
+
+ }
+ elif element.oclIsKindOf(Class) then
+ return switch {
+ case (self.type = 'Name') '5029';
+ case (self.type = 'AttributeCompartment') '7017';
+ case (self.type = 'OperationCompartment') '7018';
+ case (self.type = 'SignalCompartment') '7019';
+ }
+ elif element.oclIsKindOf(PrimitiveType) then
+ return switch {
+ case (self.type = 'Name') '5032';
+ case (self.type = 'AttributeCompartment') '7039';
+ case (self.type = 'OperationCompartment') '7040';
+ }
+ elif element.oclIsKindOf(DataType) then
+ return switch {
+ case (self.type = 'Name') '5035';
+ case (self.type = 'AttributeCompartment') '7020';
+ case (self.type = 'OperationCompartment') '7021';
+ }
+ elif element.oclIsKindOf(Constraint) then
+ return switch {
+ case (self.type = 'Name') '5037';
+
+ }
+ elif element.oclIsKindOf(Diagram) then
+ return switch {
+ case (self.type = 'Name') '0';
+
+ }
+ elif element.oclIsKindOf(DurationObservation) then
+ return switch {
+ case (self.type = 'Name') '5155';
+
+ }
+ elif element.oclIsKindOf(TimeObservation) then
+ return switch {
+ case (self.type = 'Name') '5153';
+
+ }
+ endif
+ } else {
+ return if element.oclIsKindOf(Association) then
+ return switch {
+ case (self.type='Name') '6002';
+ case (self.type = 'KindLabel') '6001';
+ case (self.type = 'NameLabel') '6002';
+ }
+ elif element.oclIsKindOf(Property) then
+ return if element.oclAsType(Property).association.oclIsTypeOf(Association) then
+ return switch {
+ case (self.type = 'ToRoleLabel') '6003';
+
+ case (self.type = 'FromRoleLabel') '6005';
+
+ case (self.type = 'FromMultiplicityLabel') '6033';
+
+ case (self.type = 'ToMultiplicityLabel') '6034';
+ }
+ elif element.oclAsType(Property).association.oclIsTypeOf(AssociationClass) then
+ return switch {
+ case (self.type = 'ToRoleLabel') '6032';
+ case (self.type = 'FromRoleLabel') '6031';
+ }
+ endif
+ elif element.oclIsKindOf(Generalization) then
+ return switch {
+
+ case (self.type = 'KindLabel') '6007';
+ }
+
+ elif element.oclIsKindOf(InterfaceRealization) then
+ return switch {
+ case (self.type='Name') '6009';
+ case (self.type = 'KindLabel') '6008';
+ case (self.type = 'NameLabel') '6009';
+ }
+
+ elif element.oclIsKindOf(Substitution) then
+ return switch {
+ case (self.type='Name') '6011';
+ case (self.type = 'KindLabel') '6010';
+ case (self.type = 'NameLabel') '6011';
+ }
+
+ elif element.oclIsKindOf(Realization) then
+ return switch {
+ case (self.type='Name') '6013';
+ case (self.type = 'KindLabel') '6012';
+ case (self.type = 'NameLabel') '6013';
+ }
+
+ elif element.oclIsKindOf(Abstraction) then
+ return switch {
+ case (self.type='Name') '6014';
+ case (self.type = 'NameLabel') '6014';
+ case (self.type = 'KindLabel') '6015';
+ }
+
+ elif element.oclIsKindOf(Usage) then
+ return switch {
+ case (self.type='Name') '6016';
+ case (self.type = 'NameLabel') '6016';
+ case (self.type = 'KindLabel') '6017';
+ }
+
+ elif element.oclIsKindOf(Dependency) then
+ return switch {
+ case (self.type='Name') '6026';
+ case (self.type = 'NameLabel') '6026';
+ case (self.type = 'KindLabel') '6027';
+ }
+
+ elif element.oclIsKindOf(ElementImport) then
+ return switch {
+
+
+ case (self.type = 'KindLabel') '6021';
+ }
+
+ elif element.oclIsKindOf(PackageImport) then
+ return switch {
+
+ case (self.type = 'KindLabel') '6022';
+ }
+
+ elif element.oclIsKindOf(PackageMerge) then
+ return switch {
+
+ case (self.type = 'KindLabel') '6030';
+ }
+
+ elif element.oclIsKindOf(TemplateBinding) then
+ return switch {
+
+
+ case (self.type = 'KindLabel') '6036';
+ }
+
+ elif element.oclIsKindOf(GeneralizationSet) then
+ return switch {
+
+
+ case (self.type = 'KindLabel') '6037';
+ }
+
+ elif element.oclIsKindOf(InformationFlow) then
+ return switch {
+
+
+ case (self.type = 'KindLabel') '6041';
+ }
+ endif;
+ } endif;
+}
+
+
+query View::getEdgeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(AssociationClass) then '4017'
+ elif element.oclIsTypeOf(Association) then '4001'
+ elif element.oclIsTypeOf(Association) then '4019'
+ elif element.oclIsTypeOf(Generalization) then '4002'
+ elif element.oclIsTypeOf(InterfaceRealization) then '4003'
+ elif element.oclIsTypeOf(Substitution) then '4004'
+ elif element.oclIsTypeOf(Realization) then '4005'
+ elif element.oclIsTypeOf(Abstraction) then '4006'
+ elif element.oclIsTypeOf(Usage) then '4007'
+ elif element.oclIsTypeOf(Dependency) then '4008'
+ elif element.oclIsTypeOf(Dependency) then '4018'
+ elif element.oclIsTypeOf(ElementImport) then '4009'
+ elif element.oclIsTypeOf(PackageImport) then '4010'
+ elif element.oclIsTypeOf(PackageMerge) then '4011'
+ elif element.oclIsTypeOf(ProfileApplication) then '4012'
+ elif element.oclIsTypeOf(Comment) then'4013'
+ elif element.oclIsTypeOf(TemplateBinding) then '4015'
+ elif element.oclIsTypeOf(GeneralizationSet) then '4020'
+ elif element.oclIsTypeOf(InstanceSpecification) then '4021'
+ elif element.oclIsTypeOf(InformationFlow) then '4026'
+ else self.fail()
+ endif;
+}
+
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAComponentDiagram.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAComponentDiagram.qvto
new file mode 100644
index 00000000000..497d1993fb7
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAComponentDiagram.qvto
@@ -0,0 +1,305 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+import RSAToPapyrus;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype umlNotation "strict" uses 'http://www.eclipse.org/papyrus/umlnotation';
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+
+transformation RSAComponentDiagram(inout semantics : uml, out graphics : notation) extends RSAToPapyrus;
+
+query View::getDiagramType() : String{
+ return 'PapyrusUMLComponentDiagram';
+}
+
+mapping notation::Diagram::toPapyrusComponentDiagram() : notation::Diagram inherits Diagram::toPapyrusDiagram when {
+ self.type = 'Component'
+}{
+
+}
+
+mapping Node::toNode() : Node disjuncts
+ UMLShape::toPapyrusShape,
+ UMLShapeCompartment::toStructureCompartment,
+ BasicSemanticCompartment::toListCompartment,
+ BasicDecorationNode::toConnectorLabel,
+ BasicDecorationNode::toLabel
+ //TODO: Disjunct nodes mapping
+;
+
+mapping Edge::toEdge() : Edge disjuncts
+ UMLConnector::toPapyrusConnector
+ //TODO: Disjunct edges mapping
+;
+
+mapping UMLShapeCompartment::toStructureCompartment() : DecorationNode inherits UMLShapeCompartment::toAbstractStructureCompartment when {
+ self.type = 'StructureCompartment' or self.type = 'PackageContents' and not self.getType().oclIsUndefined();
+}{
+
+}
+
+
+/***** Nodes **********/
+
+mapping UMLShape::toPapyrusShape() : Shape inherits Shape::toPapyrusShape when {
+ self.type = '' and not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(Component)or
+ self.element.oclIsTypeOf(Dependency)or
+ self.element.oclIsTypeOf(Package)or
+ self.element.oclIsTypeOf(Port)or
+ self.element.oclIsTypeOf(Comment)or
+ self.element.oclIsTypeOf(Interface)or
+ self.element.oclIsTypeOf(Model)or
+ self.element.oclIsTypeOf(Property)or
+ self.element.oclIsTypeOf(Constraint)or
+ self.element.oclIsTypeOf(Operation)or
+ self.element.oclIsTypeOf(Reception)
+ )
+}{
+
+}
+
+
+/****** Connector Labels ******/
+
+mapping BasicDecorationNode::toConnectorLabel() : DecorationNode inherits Node::toPapyrusConnectorLabel when {
+ not self.getType().oclIsUndefined() and (
+ self.type = 'ToMultiplicityLabel' or
+ self.type = 'ToRoleLabel' or
+ self.type = 'FromMultiplicityLabel' or
+ self.type = 'FromRoleLabel' or
+ self.type = 'NameLabel' or
+ self.type = 'KindLabel'
+ )
+}{}
+
+/****** Compartments *******/
+
+mapping BasicDecorationNode::toLabel() : DecorationNode inherits Node::toPapyrusNode when {
+ not self.getType().oclIsUndefined() and
+ self.element.oclIsKindOf(uml::NamedElement) and
+ self.type = 'Name'
+}{}
+
+mapping BasicSemanticCompartment::toListCompartment() : BasicCompartment inherits Node::toPapyrusNode, DrawerStyle::toDrawerStyle when {
+ self.type.endsWith('Compartment') and not self.getType().oclIsUndefined()
+}{
+ result.children := self.findElement().map toContents(self);
+}
+
+mapping Element::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Interface::toContents
+;
+
+mapping Interface::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Interface::toAttributeCompartmentContents,
+ Interface::toOperationCompartmentContents
+;
+
+mapping Interface::toAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping Interface::toOperationCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'ReceptionCompartment';
+}{
+ init {
+ result := (self.map fillOperation(node))
+ ->union(self.map fillReception(node))
+ }
+}
+
+mapping uml::Interface::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='AttributeCompartment';
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property).map toPropertyInInterface(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillOperation(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='ReceptionCompartment';
+}{
+ init {
+ result := self.ownedOperation->selectByKind(Operation).map toOperationInInterface(node)->asSequence();
+ }
+}
+
+mapping uml::Interface::fillReception(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='ReceptionCompartment';
+}{
+ init {
+ result := self.ownedReception->selectByKind(Reception).map toReceptionInInterface(node)->asSequence();
+ }
+}
+
+mapping Property::toPropertyInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '1';
+}
+
+mapping Operation::toOperationInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '5';
+}
+
+mapping Reception::toReceptionInInterface(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '6';
+}
+
+
+
+/******* Edges ********/
+
+
+mapping UMLConnector::toPapyrusConnector() : Connector inherits Connector::toPapyrusConnector when {
+ self.type = '' and
+ not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(Usage)or
+ self.element.oclIsTypeOf(InterfaceRealization)or
+ self.element.oclIsTypeOf(Generalization)or
+ self.element.oclIsTypeOf(Substitution)or
+ self.element.oclIsTypeOf(Manifestation)or
+ self.element.oclIsTypeOf(ComponentRealization)or
+ self.element.oclIsTypeOf(Abstraction)or
+ self.element.oclIsTypeOf(Dependency)or
+ self.element.oclIsTypeOf(Dependency)
+ )
+}{
+ result.styles := self.map toFontStyle();
+}
+
+/****** Element Type queries ******/
+
+query View::getNodeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(Component) then '2002'
+ elif element.oclIsTypeOf(Dependency) then '3203'
+ elif element.oclIsTypeOf(Package) then '3200'
+ elif element.oclIsTypeOf(Port) then '3069'
+ elif element.oclIsTypeOf(Comment) then '3201'
+ elif element.oclIsTypeOf(Interface) then '3205'
+ elif element.oclIsTypeOf(Model) then '3202'
+ elif element.oclIsTypeOf(Property) then '1'
+ elif element.oclIsTypeOf(Constraint) then '3199'
+ elif element.oclIsTypeOf(Operation) then '5'
+ elif element.oclIsTypeOf(Reception) then '6'
+ else self.fail()
+ endif;
+}
+
+
+query View::getDecorationType(element : Element) : String{
+ return self.doGetDecorationType(element);
+
+}
+
+query View::doGetDecorationType(element : Element) : String{
+ return if self.container().oclIsKindOf(Node) then {
+ return if element.oclIsTypeOf(Component) then
+ return switch {
+ case (self.type = 'Name') '5004';
+ case (self.type = 'StructureCompartment') '7001';
+ }
+ elif element.oclIsTypeOf(Package) then
+ return switch {
+ case (self.type = 'Name') '5254';
+ case (self.type = 'PackageContents') '7002';
+ }
+ elif element.oclIsTypeOf(Port) then
+ return switch {
+ case (self.type = 'Name') '5006';
+
+ }
+ elif element.oclIsTypeOf(Interface) then
+ return switch {
+ case (self.type = 'Name') '5266';
+ case (self.type = 'AttributeCompartment') '7008';
+ case (self.type = 'ReceptionCompartment') '7009';
+ }
+ elif element.oclIsTypeOf(Model) then
+ return switch {
+ case (self.type = 'Name') '5262';
+ case (self.type = 'StructureCompartment') '7006';
+ }
+ elif element.oclIsTypeOf(Constraint) then
+ return switch {
+ case (self.type = 'Name') '5252';
+
+ }
+
+ endif
+ } else {
+ return if element.oclIsTypeOf(Generalization) then
+ return switch {
+
+ case (self.type = 'KindLabel') '2';
+ }
+
+ elif element.oclIsTypeOf(Substitution) then
+ return switch {
+ case (self.type='Name') '6006';
+ case (self.type = 'NameLabel') '6006';
+ case (self.type = 'KindLabel') '6020';
+ }
+
+ elif element.oclIsTypeOf(Manifestation) then
+ return switch {
+ case (self.type='Name') '6008';
+ case (self.type = 'NameLabel') '6008';
+ case (self.type = 'KindLabel') '6022';
+ }
+
+ elif element.oclIsTypeOf(ComponentRealization) then
+ return switch {
+ case (self.type='Name') '3';
+ case (self.type = 'NameLabel') '3';
+ case (self.type = 'KindLabel') '4';
+ }
+
+ elif element.oclIsTypeOf(Abstraction) then
+ return switch {
+ case (self.type='Name') '6007';
+ case (self.type = 'NameLabel') '6007';
+ case (self.type = 'KindLabel') '6021';
+ }
+
+ elif element.oclIsTypeOf(Dependency) then
+ return switch {
+ case (self.type='Name') '6009';
+ case (self.type = 'NameLabel') '6009';
+ case (self.type = 'KindLabel') '6023';
+ }
+
+ endif
+ } endif;
+}
+
+
+query View::getEdgeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(Usage) then '4001'
+ elif element.oclIsTypeOf(InterfaceRealization) then '4006'
+ elif element.oclIsTypeOf(Generalization) then '4003'
+ elif element.oclIsTypeOf(Substitution) then '4012'
+ elif element.oclIsTypeOf(Manifestation) then '4014'
+ elif element.oclIsTypeOf(ComponentRealization) then '4007'
+ elif element.oclIsTypeOf(Abstraction) then '4013'
+ elif element.oclIsTypeOf(Dependency) then '4010'
+ elif element.oclIsTypeOf(Dependency) then '4017'
+ else self.fail()
+ endif;
+}
+
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAModelToPapyrus.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAModelToPapyrus.qvto
new file mode 100644
index 00000000000..ea5823cbbff
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAModelToPapyrus.qvto
@@ -0,0 +1,120 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+import org.eclipse.papyrus.m2m.qvto.UI;
+import org.eclipse.papyrus.m2m.qvto.NotationTypes;
+import libraries.EclipseUI;
+import org.eclipse.papyrus.migration.rsa.RTMappings;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype umlNotation "strict" uses 'http://www.eclipse.org/papyrus/umlnotation';
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype sash "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/sashdi';
+
+/**
+* Transformation rules for importing an RSA Semantic model into Papyrus (SashModel + cleanup semantics)
+*/
+transformation RSAModelToPapyrus(inout semantics : uml, inout graphics : notation, out di : sash);
+
+
+main() {
+ assert fatal (not semantics.rootObjects()[uml::Element]->isEmpty()) with log('Cannot find root uml::Element');
+
+ log('Start');
+ map createSashModel();
+
+ semantics.objectsOfType(Element).map deleteSourceDiagrams();
+ semantics.objectsOfType(OpaqueExpression).map convertToLiteralString();
+ semantics.objectsOfType(OpaqueExpression).map fixLanguage();
+
+ log('End');
+}
+
+mapping inout Element::deleteSourceDiagrams() {
+
+ self.eAnnotations := self.eAnnotations->reject(source = 'uml2.diagrams' or source = 'uml2.profile.diagrams'); /* Delete diagrams from resulting UML Model */
+}
+
+//If the OpaqueExpression doesn't have a language, and a single body, replace it with a LiteralString
+mapping OpaqueExpression::convertToLiteralString() : LiteralString when {
+ (self.language->size() = 0 and self.body->size() <= 1) or
+ (self.language->size() = 1 and self.body->size() <= 1 and
+ self.language->at(1).isEmpty()
+ )
+} {
+ init {
+ result := self.map toLiteralString() //Blackbox cast: Transform OpaqueExpression to LiteralString (Preserve incoming references and compatible features)
+ }
+
+ result.value := if self.body->size() = 0 then null else self.body->at(1) endif;
+
+ semantics.removeElement(self); //Destroy the source OpaqueExpression
+}
+
+intermediate class Opaque {
+ language: String;
+ body: String;
+}
+
+mapping inout OpaqueExpression::fixLanguage() when {
+ (self.language->size() > 1 or self.body->size() > 1) and
+ (self.language->exists(isEmpty()) or self.language.size() <> self.body.size())
+} {
+ //Replace empty languages by "Undefined" (In Papyrus, "Empty" is interpreted as "OCL", which is the default. This is not the case in RSA, where "Empty" means "Undefined")
+
+ var maxSize : Integer := self.language->size().max(self.body->size());
+
+ var newLanguages : OrderedSet(Opaque) := OrderedSet{};
+ var i : Integer = 1;
+
+ while(i <= maxSize) {
+ var lang : String := self.language->at(i);
+ var body : String := self.body->at(i);
+
+ var newLanguage := object Opaque{};
+ newLanguage.language := if lang.oclIsInvalid() or lang.isEmpty() then 'Undefined' else lang endif;
+ newLanguage.body := if body.oclIsInvalid() or body.isEmpty() then '' else body endif;
+
+ newLanguages += newLanguage;
+
+ i := i+1;
+ };
+
+ self.language := newLanguages.language;
+ self.body := newLanguages.body;
+}
+
+query String::isEmpty() : Boolean {
+ return self.oclIsUndefined() or self = '';
+}
+
+mapping createSashModel() : SashWindowsMngr {
+ pageList := object PageList {
+ availablePage := graphics.rootObjects()[Diagram].map toAvailablePage();
+
+ };
+
+ var mainWindow : Window := object Window{
+ children := object TabFolder{};
+ };
+
+ sashModel := object SashModel {
+ windows := mainWindow;
+ currentSelection := mainWindow.children->selectByKind(TabFolder)->any(true);
+ };
+}
+
+mapping Diagram::toAvailablePage() : sash::PageRef when {
+ not self.type.oclIsUndefined() and self.type <> ""
+}{
+ result.emfPageIdentifier := self.oclAsType(EObject);
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAProfileDiagram.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAProfileDiagram.qvto
new file mode 100644
index 00000000000..26d4bde2586
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAProfileDiagram.qvto
@@ -0,0 +1,499 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+import RSAToPapyrus;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype umlNotation "strict" uses 'http://www.eclipse.org/papyrus/umlnotation';
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype sash "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/sashdi';
+
+transformation RSAProfileDiagram(inout semantics : uml, inout graphics : notation, out di : sash);
+
+main() {
+ //RSA uses Classes, whereas Papyrus uses DataTypes. The Semantics is the same
+ //semantics.objectsOfType(Class)->map toDatatype(); //Disabled 2014/04/28. Papyrus now properly supports Classes in Profile Diagrams
+ //we generate our diagrams
+ semantics.rootObjects()[uml::Profile]->map toOwnedDiagrams();
+}
+
+mapping notation::Diagram::generateDiagram() : notation::Diagram inherits Diagram::toPapyrusDiagram when {
+ self.findElement().oclIsTypeOf(Profile)
+}{
+ end {
+ //POST ACTION UPDATE meta class to import element
+ semantics.objectsOfType(UMLConnector)->map toContextLink();
+ graphics.objectsOfType(Shape)->select(type = '1002').map addCommentDecoration();
+ graphics.objectsOfType(Shape)->select(type = '1014').map addConstraintDecoration();
+ }
+}
+
+mapping inout Shape::addCommentDecoration() when {
+ self.type = '1002' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '3'; //Comment body
+ }
+
+}
+
+mapping inout Shape::addConstraintDecoration() when {
+ self.type = '1014' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '5063'; //Constraint specification
+ }
+
+}
+
+query View::getDiagramType() : String{
+ return 'PapyrusUMLProfileDiagram';
+}
+
+mapping UMLConnector::toContextLink() : notation::Connector inherits Connector::toPapyrusConnector when {
+ self.type = 'Reference' and self.source.element.oclIsKindOf(Constraint) and self.target.element.oclIsKindOf(Namespace)
+}{
+ result.type := '8500';
+ self.diagram.map generateDiagram().edges += result;
+}
+
+mapping notation::Diagram::toPapyrusProfileDiagram() : notation::Diagram inherits Diagram::toPapyrusDiagram when {
+ self.type = 'Profile'
+}{
+
+}
+
+mapping Node::toNode() : Node disjuncts
+ UMLShape::toPapyrusShape,
+ UMLShapeCompartment::toStructureCompartment,
+ BasicSemanticCompartment::toListCompartment,
+ BasicDecorationNode::toConnectorLabel,
+ BasicDecorationNode::toLabel
+ //TODO: Disjunct nodes mapping
+;
+
+mapping Edge::toEdge() : Edge disjuncts
+ UMLConnector::toPapyrusConnector
+ //TODO: Disjunct edges mapping
+;
+
+mapping UMLShapeCompartment::toStructureCompartment() : DecorationNode inherits UMLShapeCompartment::toAbstractStructureCompartment when {
+ self.type = 'StructureCompartment' or self.type = 'PackageContents' and not self.getType().oclIsUndefined();
+}{
+
+}
+
+
+/***** Nodes **********/
+
+mapping UMLShape::toPapyrusShape() : Shape inherits Shape::toPapyrusShape when {
+ self.type = '' and not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(Dependency)or
+ self.element.oclIsTypeOf(Association)or
+ self.element.oclIsTypeOf(Stereotype)or
+ self.element.oclIsTypeOf(Class)or
+ self.element.oclIsTypeOf(Class)or
+ self.element.oclIsTypeOf(Comment)or
+ self.element.oclIsTypeOf(Constraint)or
+ self.element.oclIsTypeOf(Model)or
+ self.element.oclIsTypeOf(Profile)or
+ self.element.oclIsTypeOf(Package)or
+ self.element.oclIsTypeOf(Enumeration)or
+ self.element.oclIsTypeOf(PrimitiveType)or
+ self.element.oclIsTypeOf(DataType)or
+ self.element.oclIsTypeOf(Diagram)
+ )
+}{
+
+}
+
+
+/****** Connector Labels ******/
+
+mapping BasicDecorationNode::toConnectorLabel() : DecorationNode inherits Node::toPapyrusConnectorLabel when {
+ not self.getType().oclIsUndefined() and (
+ self.type = 'ToMultiplicityLabel' or
+ self.type = 'ToRoleLabel' or
+ self.type = 'FromMultiplicityLabel' or
+ self.type = 'FromRoleLabel' or
+ self.type = 'NameLabel' or
+ self.type = 'KindLabel'
+ )
+};
+
+/****** Compartments *******/
+
+mapping BasicDecorationNode::toLabel() : DecorationNode inherits Node::toPapyrusNode when {
+ not self.getType().oclIsUndefined() and
+ self.element.oclIsKindOf(uml::NamedElement) and
+ self.type = 'Name'
+};
+
+mapping BasicSemanticCompartment::toListCompartment() : BasicCompartment inherits Node::toPapyrusNode, DrawerStyle::toDrawerStyle when {
+ self.type.endsWith('Compartment') and not self.getType().oclIsUndefined()
+}{
+ result.children := self.findElement().map toContents(self);
+}
+
+mapping Element::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Stereotype::toContents,
+ Class::toContents,
+ Enumeration::toContents,
+ DataType::toContents
+;
+
+mapping Stereotype::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Stereotype::toAttributeCompartmentContents,
+ Stereotype::toOperationCompartmentContents
+;
+
+mapping Class::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Class::toOperationCompartmentContents,
+ Class::toAttributeCompartmentContents
+;
+
+mapping Enumeration::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Enumeration::toEnumerationEnumerationLiteralContents
+;
+
+mapping DataType::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ DataType::toDataTypeAttributeCompartmentContents,
+ DataType::toDataTypeOperationCompartmentContents
+;
+
+mapping Stereotype::toAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping Stereotype::toOperationCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'OperationCompartment';
+}{
+ init {
+ result := (self.map fillOperation(node))
+ }
+}
+
+mapping Class::toOperationCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'OperationCompartment'
+ and not self.isMetaclass();
+}{
+ init {
+ result := (self.map fillOperation(node))
+ }
+}
+
+mapping Class::toAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment'
+ and not self.isMetaclass();
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping Enumeration::toEnumerationEnumerationLiteralContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'EnumerationCompartment';
+}{
+ init {
+ result := (self.map fillEnumerationLiteral(node))
+ }
+}
+
+mapping DataType::toDataTypeAttributeCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'AttributeCompartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping DataType::toDataTypeOperationCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'OperationCompartment';
+}{
+ init {
+ result := (self.map fillOperation(node))
+ }
+}
+
+mapping uml::DataType::fillOperation(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='OperationCompartment';
+}{
+ init {
+ result := self.ownedOperation->selectByKind(Operation).map toOperationInDataType(node)->asSequence();
+ }
+}
+
+mapping uml::Enumeration::fillEnumerationLiteral(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='EnumerationCompartment';
+}{
+ init {
+ result := self.ownedLiteral->selectByKind(EnumerationLiteral).map toEnumerationLiteralInEnumeration(node)->asSequence();
+ }
+}
+
+mapping uml::DataType::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='AttributeCompartment';
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property).map toPropertyInDataType(node)->asSequence();
+ }
+}
+
+mapping uml::Stereotype::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='AttributeCompartment';
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property).map toPropertyInStereotype(node)->asSequence();
+ }
+}
+
+mapping uml::Stereotype::fillOperation(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='OperationCompartment';
+}{
+ init {
+ result := self.ownedOperation->selectByKind(Operation).map toOperationInStereotype(node)->asSequence();
+ }
+}
+
+mapping uml::Class::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='AttributeCompartment'
+ and not self.isMetaclass();
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property).map toPropertyInClass(node)->asSequence();
+ }
+}
+
+mapping uml::Class::fillOperation(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='OperationCompartment'
+ and not self.isMetaclass();
+}{
+ init {
+ result := self.ownedOperation->selectByKind(Operation).map toOperationInClass(node)->asSequence();
+ }
+}
+
+mapping Operation::toOperationInDataType(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3019';
+}
+
+mapping EnumerationLiteral::toEnumerationLiteralInEnumeration(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '1037';
+}
+
+mapping Property::toPropertyInDataType(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3018';
+}
+
+mapping Property::toPropertyInStereotype(node : Node) : Shape inherits Element::toCompartmentEntry when{
+ not self.name.startsWith('base_')
+}{
+ result.type := '3002';
+}
+
+mapping Operation::toOperationInStereotype(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3020';
+}
+
+mapping Property::toPropertyInClass(node : Node) : Shape inherits Element::toCompartmentEntry when{
+ not self.name.startsWith('base_')
+}{
+ result.type := '3002';
+}
+
+mapping Operation::toOperationInClass(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3020';
+}
+
+
+
+/******* Edges ********/
+
+
+mapping UMLConnector::toPapyrusConnector() : Connector inherits Connector::toPapyrusConnector when {
+ self.type = '' and
+ not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(Extension)or
+ self.element.oclIsTypeOf(Association)or
+ self.element.oclIsTypeOf(ProfileApplication)or
+ self.element.oclIsTypeOf(Association)or
+ self.element.oclIsTypeOf(Generalization)or
+ self.element.oclIsTypeOf(Dependency)or
+ self.element.oclIsTypeOf(Dependency)or
+ self.element.oclIsTypeOf(ElementImport)or
+ self.element.oclIsTypeOf(PackageImport)
+ )
+}{
+ result.styles := self.map toFontStyle();
+}
+
+/****** Element Type queries ******/
+
+query View::getNodeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(Dependency) then '2014'
+ elif element.oclIsTypeOf(Association) then '2015'
+ elif element.oclIsTypeOf(Stereotype) then '1026'
+ elif element.oclIsTypeOf(Class) and not element.oclAsType(Class).isMetaclass() then '2008' //Class
+ elif element.oclIsTypeOf(Class) and element.oclAsType(Class).isMetaclass() then '1031' //Metaclass
+ elif element.oclIsTypeOf(Comment) then '1002'
+ elif element.oclIsTypeOf(Constraint) then '1014'
+ elif element.oclIsTypeOf(Model) then '2005'
+ elif element.oclIsTypeOf(Profile) then '1030'
+ elif element.oclIsTypeOf(Package) then '2007'
+ elif element.oclIsTypeOf(Enumeration) then '2006'
+ elif element.oclIsTypeOf(PrimitiveType) then '2009'
+ elif element.oclIsTypeOf(DataType) then '2010'
+ elif element.oclIsTypeOf(Diagram) then '2016'
+ else self.fail()
+ endif;
+}
+
+
+query View::getDecorationType(element : Element) : String{
+ var res := self.doGetDecorationType(element);
+
+ /*
+ log('Get papyrus ID for'+ self.element.eClass().name+', '+self.type);
+
+ log(res);
+
+ if self.container().oclIsKindOf(Node) then
+ log('IsNode')
+ else
+ log('IsEdge')
+ endif;
+ */
+
+ return res;
+}
+
+query View::doGetDecorationType(element : Element) : String{
+ return if self.container().oclIsKindOf(Node) then {
+ return if element.oclIsTypeOf(Stereotype) then
+ return switch {
+ case (self.type = 'Name') '1034';
+ case (self.type = 'AttributeCompartment') '1071';
+ case (self.type = 'OperationCompartment') '1019';
+ }
+ elif element.oclIsTypeOf(Class) and not element.oclAsType(Class).isMetaclass() then //Class
+ return switch {
+ case (self.type = 'Name') '5029';
+ case (self.type = 'OperationCompartment') '7018';
+ case (self.type = 'AttributeCompartment') '7017';
+ }
+ elif element.oclIsTypeOf(Class) and element.oclAsType(Class).isMetaclass() then //Metaclass
+ return switch {
+ case (self.type = 'Name') '1084';
+
+ }
+ elif element.oclIsTypeOf(Constraint) then
+ return switch {
+ case (self.type = 'Name') '1015';
+
+ }
+ elif element.oclIsTypeOf(Model) then
+ return switch {
+ case (self.type = 'Name') '5020';
+ case (self.type = 'StructureCompartment') '1057';
+ }
+ elif element.oclIsTypeOf(Profile) then
+ return switch {
+
+ case (self.type = 'StructureCompartment') '1042';
+ }
+ elif element.oclIsTypeOf(Package) then
+ return switch {
+ case (self.type = 'Name') '5026';
+ case (self.type = 'PackageContents') '1005';
+ }
+ elif element.oclIsTypeOf(Enumeration) then
+ return switch {
+ case (self.type = 'Name') '5023';
+ case (self.type = 'EnumerationCompartment') '1063';
+ }
+ elif element.oclIsTypeOf(PrimitiveType) then
+ return switch {
+ case (self.type = 'Name') '5032';
+
+ }
+ elif element.oclIsTypeOf(DataType) then
+ return switch {
+ case (self.type = 'Name') '5035';
+ case (self.type = 'AttributeCompartment') '1067';
+ case (self.type = 'OperationCompartment') '1068'; //TODO: Disable?
+ }
+ elif element.oclIsTypeOf(Diagram) then
+ return switch {
+ case (self.type = 'Name') '2';
+
+ }
+ endif
+ } else {
+ return if element.oclIsTypeOf(Association) then
+ return switch {
+ case (self.type='Name') '6002';
+ case (self.type = 'KindLabel') '6001';
+ case (self.type = 'NameLabel') '6002';
+
+
+ case (self.type = 'FromMultiplicityLabel') '6033';
+ case (self.type = 'ToMultiplicityLabel') '6034';
+ }
+ elif element.oclIsTypeOf(Generalization) then
+ return switch {
+
+ case (self.type = 'KindLabel') '6007';
+ }
+ elif element.oclIsTypeOf(Dependency) then
+ return switch {
+ case (self.type='Name') '6026';
+ case (self.type = 'NameLabel') '6026';
+ case (self.type = 'KindLabel') '6027';
+ }
+ elif element.oclIsTypeOf(ElementImport) then
+ return switch {
+
+
+ case (self.type = 'KindLabel') '6021';
+ }
+ elif element.oclIsTypeOf(PackageImport) then
+ return switch {
+
+ case (self.type = 'KindLabel') '6022';
+ }
+ endif
+ } endif;
+}
+
+
+query View::getEdgeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(Extension) then '1013'
+ elif element.oclIsTypeOf(Association) then '4001'
+ elif element.oclIsTypeOf(ProfileApplication) then '1045'
+ elif element.oclIsTypeOf(Association) then '4019'
+ elif element.oclIsTypeOf(Generalization) then '4002'
+ elif element.oclIsTypeOf(Dependency) then '4008'
+ elif element.oclIsTypeOf(Dependency) then '4018'
+ elif element.oclIsTypeOf(ElementImport) then '1064'
+ elif element.oclIsTypeOf(PackageImport) then '1065'
+ else self.fail()
+ endif;
+}
+
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAProfilesToPapyrus.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAProfilesToPapyrus.qvto
new file mode 100644
index 00000000000..2d3cfbe4130
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAProfilesToPapyrus.qvto
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+import org.eclipse.papyrus.m2m.qvto.UI;
+import org.eclipse.papyrus.migration.rsa.ProfileBaseHelper;
+import org.eclipse.papyrus.m2m.qvto.EMFResource;
+import libraries.EclipseUI;
+
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype defaultProfile "strict" uses 'http://www.eclipse.org/papyrus/profile/default';
+modeltype documentation "strict" uses 'http://www.eclipse.org/papyrus/documentation';
+modeltype validation "strict" uses 'http://www.eclipse.org/papyrus/dsmlvalidation';
+modeltype profileBase "strict" uses 'http://www.eclipse.org/papyrus/profile/profilebase';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+
+transformation RSAProfilesToPapyrus(inout semantics : uml, inout notationModel : notation, in papyrusProfiles : /* Profiles + EObjects (Stereotype applications) */ uml, in profileDefinitions : /* EPackage */ ecore);
+
+property validationURI : String = 'http://www.eclipse.org/papyrus/dsmlvalidation';
+
+property documentationURI : String = 'http://www.eclipse.org/papyrus/documentation';
+
+property profileBaseURI : String = 'pathmap://UML2_MSL_PROFILES/ProfileBase.epx';
+
+property defaultProfileURI : String = 'pathmap://UML2_MSL_PROFILES/Default.epx';
+
+main() {
+ semantics.objectsOfType(defaultProfile::URL).map toHyperlink();
+
+ semantics.objectsOfType(ProfileApplication).map toPapyrusValidationProfile();
+ semantics.objectsOfType(profileBase::ProfileConstraint).map toValidationRule();
+
+ semantics.objectsOfType(ProfileApplication).map toPapyrusDocumentationProfile();
+ semantics.objectsOfType(defaultProfile::Documentation).map toDocumentation();
+}
+
+query ProfileApplication::getDefinitionAnnotation() : EAnnotation {
+ return self.getEAnnotation('http://www.eclipse.org/uml2/2.0.0/UML');
+}
+
+query ProfileApplication::getDefinition() : EPackage {
+ return self.getDefinitionAnnotation()._references->any(oclIsKindOf(EPackage)).oclAsType(EPackage);
+}
+
+/** Profile Base -> Validation **/
+
+mapping inout ProfileApplication::toPapyrusValidationProfile() when {
+ self.getDefinition().oclAsType(EObject).getURI().startsWith(profileBaseURI);
+}{
+ self.appliedProfile := getValidationProfile();
+ self.getDefinitionAnnotation()._references := profileDefinitions.rootObjects()[EPackage]->any(nsURI = validationURI).oclAsType(EObject);
+
+ self.eAnnotations := self.getDefinitionAnnotation(); //Remove all other annotations
+}
+
+mapping ProfileConstraint::toValidationRule() : ValidationRule {
+ result.severity := self.severity.toSeverityCode();
+ result.mode := self.evaluationMode.toEvaluationMode();
+ result.isEnabledByDefault := true;
+ result.base_Constraint := self.base_Constraint;
+ result.statusCode := self.severity.toStatusCode();
+ result.message := self.getConstraintMessage();
+ //result.description := null;
+ //result.target := null;
+ //result._class := null;
+ //result.id := null;
+
+ semantics.removeElement(self);
+}
+
+query defaultProfile::Severity::toSeverityCode() : validation::Severity{
+ return switch {
+ case (self = defaultProfile::Severity::error) validation::Severity::ERROR;
+ case (self = defaultProfile::Severity::warning) validation::Severity::WARNING;
+ case (self = defaultProfile::Severity::info) validation::Severity::INFO;
+ };
+
+}
+
+query defaultProfile::Mode::toEvaluationMode() : validation::Mode {
+ return if self = defaultProfile::Mode::batch then validation::Mode::Batch else validation::Mode::Live endif;
+}
+
+query defaultProfile::Severity::toStatusCode() : Integer {
+ return switch {
+ case (self = defaultProfile::Severity::error) 3;
+ case (self = defaultProfile::Severity::warning) 2;
+ case (self = defaultProfile::Severity::info) 1;
+ };
+}
+
+query getValidationProfile() : Profile {
+ return papyrusProfiles.rootObjects()[Profile]->any(URI = validationURI);
+}
+
+/** Default Profile -> Documentation **/
+
+mapping inout ProfileApplication::toPapyrusDocumentationProfile() when {
+ self.getDefinition().oclAsType(EObject).getURI().startsWith(defaultProfileURI);
+}{
+ self.appliedProfile := getDocumentationProfile();
+ self.getDefinitionAnnotation()._references := profileDefinitions.rootObjects()[EPackage]->any(nsURI = documentationURI).oclAsType(EObject);
+
+ self.eAnnotations := self.getDefinitionAnnotation(); //Remove all other annotations
+}
+
+mapping defaultProfile::Documentation::toDocumentation() : documentation::Documentation {
+ result.base_Comment := self.base_Comment;
+
+ semantics.removeElement(self);
+}
+
+query getDocumentationProfile() : Profile {
+ return papyrusProfiles.objectsOfType(Profile)->any(URI = documentationURI); //DocumentationProfile is not a root profile
+}
+
+/** Default Profile : Link/URL -> Hyperlink **/
+
+mapping inout URL::toHyperlink() {
+ log('Create Hyperlink');
+ var comment := self.base_Comment;
+
+ var commentDisplays := notationModel.objectsOfType(Shape)->select(element = comment.oclAsType(EObject)); //All views representing the comment
+
+ var label := self.displayName;
+ var url := comment.body;
+ log('Label = '+label);
+ log('URL = '+url);
+
+ /** In RSA, the body holds the URL, and the Stereotype holds the label */
+ /** In Papyrus, the body holds the label, and the EAnnotation holds the URL */
+
+ comment.body := label;
+
+ commentDisplays.map createHyperlinkAnnotation(url);
+
+ end {
+ semantics.removeElement(self);
+ }
+}
+
+mapping Shape::createHyperlinkAnnotation(url : String) : EAnnotation {
+ result.eModelElement := self;
+ result.source := 'PapyrusHyperLink__web';
+
+ result.details += object EStringToStringMapEntry {
+ key := "tooltip_text";
+ value := url;
+ };
+
+ result.details += object EStringToStringMapEntry {
+ key := "link";
+ value := url;
+ };
+
+ result.details += object EStringToStringMapEntry {
+ key := "is_default_navigation";
+ value := "true";
+ };
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSARTToPapyrusRT.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSARTToPapyrusRT.qvto
new file mode 100644
index 00000000000..9197b73c47f
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSARTToPapyrusRT.qvto
@@ -0,0 +1,284 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+import org.eclipse.papyrus.migration.rsa.RTMappings;
+import org.eclipse.papyrus.m2m.qvto.EMFResource;
+import libraries.EclipseUI;
+
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype umlrt "strict" uses 'http://www.eclipse.org/papyrus/umlrt';
+modeltype umlrtsm "strict" uses 'http://www.eclipse.org/papyrus/umlrt/statemachine';
+modeltype sourcert "strict" uses 'http://www.eclipse.org/papyrus/profile/umlrt';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+
+transformation RSARTToPapyrusRT(inout semantics : uml, inout graphics : notation, in profiles : uml, in profileDefinitions : ecore);
+
+property UML_RT_URI : String = 'http://www.eclipse.org/papyrus/umlrt';
+
+property UML_RT_SM_URI : String = 'http://www.eclipse.org/papyrus/umlrt/statemachine';
+
+property RT_PROFILE_URI_PREFIX : String = 'pathmap://RT_PROPERTIES/UMLRealTime.epx';
+
+property UML_DEFINITION_SOURCE : String = 'http://www.eclipse.org/uml2/2.0.0/UML';
+
+main() {
+ semantics.objectsOfType(ProfileApplication).map toPapyrusRTProfile();
+
+ //Apply new RT Stereotypes first
+ semantics.objectsOfType(StateMachine).map applyRTStateMachine();
+ semantics.objectsOfType(Region).map applyRTRegion();
+ semantics.objectsOfType(State).map applyRTState();
+ semantics.objectsOfType(Pseudostate).map applyRTPseudostate();
+
+ semantics.objectsOfType(sourcert::AbstractEvent)->select(findInterface().oclIsUndefined())->forEach (e){
+ var elementLabel : String := if e.base_CallEvent.oclIsUndefined() then
+ "<Undefined>"
+ elif e.base_CallEvent.operation.name.oclIsUndefined() then
+ '<Unnamed>'
+ else
+ e.base_CallEvent.operation.name
+ endif;
+
+ var stereotypeLabel := if e.oclIsKindOf(InEvent) then "<<InEvent>>" else "<<OutEvent>>" endif;
+ warning("The "+stereotypeLabel+" CallEvent "+elementLabel+" isn't associated to an operation contained in an Interface. An equivalent RTMessageSet cannot be created");
+ semantics.removeElement(e);
+ };
+
+ semantics.objectsOfType(sourcert::AbstractEvent).map toMessageSet();
+ semantics.objectsOfType(sourcert::Capsule).map toCapsule();
+ semantics.objectsOfType(sourcert::CapsulePart).map toCapsulePart();
+ semantics.objectsOfType(sourcert::Protocol).map toProtocol();
+ semantics.objectsOfType(sourcert::ProtocolContainer).map toProtocolPackage();
+ semantics.objectsOfType(sourcert::RTConnector).map toRTConnector();
+ semantics.objectsOfType(sourcert::RTHistorystate).map toHistorystate();
+ semantics.objectsOfType(sourcert::RTPort).map toRTPort();
+ semantics.objectsOfType(sourcert::RTRedefinableElement).map toRTRExcludedElement();
+ semantics.objectsOfType(sourcert::Trigger).map toRTTrigger();
+ semantics.objectsOfType(sourcert::Coregion).map delete();
+}
+
+mapping inout ProfileApplication::toPapyrusRTProfile() : ProfileApplication when {
+ self.getDefinition().oclAsType(EObject).getURI().startsWith(RT_PROFILE_URI_PREFIX);
+}{
+ //UML-RT
+ self.appliedProfile := getRTProfile();
+
+ self.getDefinitionAnnotation()._references := profileDefinitions.rootObjects()[EPackage]->any(nsURI = UML_RT_URI).oclAsType(EObject);
+ self.eAnnotations := self.getDefinitionAnnotation(); //Remove all other annotations
+
+ //UML-RT StateMachine extension
+ result.appliedProfile := getRTSMProfile();
+
+ result.eAnnotations := object EAnnotation {
+ _references := profileDefinitions.rootObjects()[EPackage]->any(nsURI = UML_RT_SM_URI).oclAsType(EObject);
+ source := UML_DEFINITION_SOURCE;
+ };
+
+ self.applyingPackage.profileApplication += result;
+}
+
+/* TriggerEvent removed in Papyrus UMLRT V3 (Replaced with RTMessageSet) */
+mapping AbstractEvent::toMessageSet() when {
+ not self.findInterface().oclIsUndefined()
+}{
+ var owningInterface : Interface := self.findInterface();
+
+ //An interface can have several operations.
+ //Inout mapping ensures that the stereotype can be created at most once for each interface
+ var direction : RTMessageKind := self.getDirection();
+ var messageSet : RTMessageSet := owningInterface.map createMessageSet(direction);
+
+ //Ensure that the model is consistent: the resulting messageSet shall have the same direction. If not, then the source model is inconsistent
+ if messageSet.rtMsgKind <> direction then
+ warning("Inconsistent input model: interface "+owningInterface.name+" has operations with different directions")
+ endif;
+
+ semantics.removeElement(self);
+}
+
+mapping inout Interface::createMessageSet(direction : RTMessageKind) : RTMessageSet {
+ result.base_Interface := self;
+ result.rtMsgKind := direction;
+}
+
+query AbstractEvent::findInterface() : Interface {
+ var baseEvent := self.base_CallEvent;
+ var operation := baseEvent.operation;
+ var owningInterface := operation.interface;
+
+ return owningInterface;
+}
+
+mapping sourcert::Capsule::toCapsule() : umlrt::Capsule {
+ result.base_Class := self.base_Class;
+
+ semantics.removeElement(self);
+}
+
+mapping sourcert::CapsulePart::toCapsulePart() : umlrt::CapsulePart {
+ result.base_Property := self.base_Property;
+
+ semantics.removeElement(self);
+}
+
+mapping sourcert::Protocol::toProtocol() : umlrt::Protocol {
+ result.base_Collaboration := self.base_Collaboration;
+
+ semantics.removeElement(self);
+}
+
+mapping sourcert::ProtocolContainer::toProtocolPackage() : umlrt::ProtocolContainer {
+ result.base_Package := self.base_Package;
+
+ semantics.removeElement(self);
+}
+
+mapping sourcert::RTConnector::toRTConnector() : umlrt::RTConnector {
+ result.base_Connector := self.base_Connector;
+
+ semantics.removeElement(self);
+}
+
+mapping sourcert::RTHistorystate::toHistorystate() {
+ if self.historyKind = HistoryKind::Deep then self.base_Pseudostate.kind := PseudostateKind::deepHistory endif;
+ if self.historyKind = HistoryKind::Shallow then self.base_Pseudostate.kind := PseudostateKind::shallowHistory endif;
+
+ semantics.removeElement(self);
+}
+
+mapping sourcert::RTPort::toRTPort() : umlrt::RTPort {
+ result.isNotification := self.isNotification;
+ result.isPublish := self.isPublish;
+ result.isWired := self.isWired;
+ result.registration := self.registration.getPapyrusType();
+ result.registrationOverride := self.registrationOverride;
+
+ result.base_Port := self.base_Port;
+ result.base_Port.isConjugated := self.isConjugate;
+
+ semantics.removeElement(self);
+}
+
+mapping sourcert::RTRedefinableElement::toRTRExcludedElement() : umlrt::RTRExcludedElement {
+ result.base_RedefinableElement := self.base_RedefinableElement;
+
+ semantics.removeElement(self);
+}
+
+mapping sourcert::Trigger::toRTTrigger() : RTTrigger {
+ result.base_Operation := self.base_Operation;
+
+ semantics.removeElement(self);
+}
+
+mapping Coregion::delete() {
+ semantics.removeElement(self);
+}
+
+query sourcert::PortRegistrationType::getPapyrusType() : umlrt::PortRegistrationType {
+ return switch {
+ case (self = sourcert::PortRegistrationType::Automatic)
+ umlrt::PortRegistrationType::Automatic;
+ case (self = sourcert::PortRegistrationType::Automatic)
+ umlrt::PortRegistrationType::Automatic;
+ else
+ umlrt::PortRegistrationType::ApplicationLocked;
+ };
+}
+
+query sourcert::AbstractEvent::getDirection() : RTMessageKind {
+ return if self.oclIsTypeOf(InEvent) then
+ RTMessageKind::_in
+ else
+ RTMessageKind::_out
+ endif;
+}
+
+/** StateMachine Stereotypes (Auto-applied) */
+
+mapping StateMachine::applyRTStateMachine() : RTStateMachine when {
+ self.isRT()
+}{
+ result.base_StateMachine := self;
+}
+
+mapping State::applyRTState() : RTState when {
+ self.isRT()
+}{
+ result.base_State := self;
+}
+
+mapping Pseudostate::applyRTPseudostate() : RTPseudostate when {
+ self.isRT()
+}{
+ result.base_Pseudostate := self;
+}
+
+mapping Region::applyRTRegion() : RTRegion when {
+ self.isRT()
+}{
+ result.base_Region := self;
+}
+
+query StateMachine::isRT() : Boolean {
+ return semantics.rootObjects()[sourcert::Capsule]->exists(c | c.base_Class = self.getClassifier());
+}
+
+query StateMachine::getClassifier() : BehavioredClassifier {
+ return if
+ self.owner.oclIsKindOf(BehavioredClassifier)
+ and self.owner.oclAsType(BehavioredClassifier).classifierBehavior = self
+ then
+ self.owner.oclAsType(BehavioredClassifier)
+ else
+ null
+ endif;
+}
+
+query Region::isRT() : Boolean {
+ return if not self.stateMachine.oclIsUndefined() then
+ self.stateMachine.isRT()
+ else
+ self.state.isRT()
+ endif;
+}
+
+query State::isRT() : Boolean {
+ return self.owner.oclAsType(Region).isRT();
+}
+
+query Pseudostate::isRT() : Boolean {
+ return switch {
+ case (self.owner.oclIsKindOf(Region)) self.owner.oclAsType(Region).isRT();
+ case (self.owner.oclIsKindOf(StateMachine)) self.owner.oclAsType(StateMachine).isRT();
+ case (self.owner.oclIsKindOf(State)) self.owner.oclAsType(State).isRT();
+ else false;
+ };
+}
+
+/** Profile application */
+
+query ProfileApplication::getDefinitionAnnotation() : EAnnotation {
+ return self.getEAnnotation(UML_DEFINITION_SOURCE);
+}
+
+query ProfileApplication::getDefinition() : EPackage {
+ return self.getDefinitionAnnotation()._references->any(oclIsKindOf(EPackage)).oclAsType(EPackage);
+}
+
+query getRTProfile() : Profile {
+ return profiles.rootObjects()[Profile]->any(URI = UML_RT_URI);
+}
+
+query getRTSMProfile() : Profile {
+ return profiles.rootObjects()[Profile]->any(URI = UML_RT_SM_URI);
+}
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSASequenceDiagram.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSASequenceDiagram.qvto
new file mode 100644
index 00000000000..77ee4eb5df2
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSASequenceDiagram.qvto
@@ -0,0 +1,379 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+import RSAToPapyrus;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype umlNotation "strict" uses 'http://www.eclipse.org/papyrus/umlnotation';
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype sash "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/sashdi';
+
+transformation RSASequenceDiagram(inout semantics : uml, inout graphics : notation, out di : sash);
+
+main() {
+ semantics.rootObjects()[uml::Element]->map toOwnedDiagrams();
+}
+
+query View::getDiagramType() : String{
+ return 'PapyrusUMLSequenceDiagram';
+}
+
+mapping notation::Diagram::generateDiagram() : notation::Diagram inherits Diagram::toPapyrusDiagram when {
+ self.type = 'Sequence'
+}{
+ end {
+ graphics.objectsOfType(Shape)->select(type = '3003').map fixExecutionSpecification();
+ graphics.objectsOfType(Shape)->select(type = '3001').map fixLifelineHeight();
+ graphics.objectsOfType(Shape)->select(type = '3017').map fixStateInvariant();
+
+ graphics.objectsOfType(Shape)->select(type = '3009').map addCommentDecoration();
+ graphics.objectsOfType(Shape)->select(type = '3008').map addConstraintDecoration();
+ }
+}
+
+mapping inout Shape::addCommentDecoration() when {
+ self.type = '3009' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '5006'; //Comment body
+ }
+
+}
+
+mapping inout Shape::addConstraintDecoration() when {
+ self.type = '3008' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '5012'; //Constraint specification
+ }
+
+}
+
+mapping inout Shape::fixLifelineHeight() {
+ self.layoutConstraint.oclAsType(Location).y := 10;
+}
+
+mapping inout Shape::fixExecutionSpecification() {
+ self.children := self.children->including(object DecorationNode {
+ type := 'BehaviorExecutionSpecification_Behavior';
+ layoutConstraint := object Location {
+ x := 18;
+ y := 18;
+ }
+ });
+
+ var lifeline := semantics.objectsOfType(Lifeline)->any(ll | ll.coveredBy->includes(self.element.oclAsType(InteractionFragment)));
+ var lifelineShape := graphics.objectsOfType(Shape)->any(element = lifeline.oclAsType(EObject));
+ lifelineShape.children := lifelineShape.children->including(self);
+ var lifelineWidth := lifelineShape.layoutConstraint.oclAsType(Bounds).width;
+
+ var speficationBounds := self.layoutConstraint.oclAsType(Bounds);
+ speficationBounds.x := ((lifelineWidth - 15)/2).round();
+
+ /* Cannot be selected in Papyrus when it is too small */
+ var minHeight := 50;
+ if speficationBounds.height < minHeight then
+ speficationBounds.height := minHeight
+ endif;
+}
+
+mapping inout Shape::fixStateInvariant() {
+
+ var lifeline := semantics.objectsOfType(Lifeline)->any(ll | ll.coveredBy->includes(self.element.oclAsType(StateInvariant)));
+ var lifelineShape := graphics.objectsOfType(Shape)->any(element = lifeline.oclAsType(EObject));
+
+ lifelineShape.children := lifelineShape.children->including(self);
+}
+
+mapping Node::toNode() : Node disjuncts
+ UMLShape::toPapyrusShape,
+ UMLShapeCompartment::toStructureCompartment,
+ BasicSemanticCompartment::toListCompartment,
+ BasicDecorationNode::toConnectorLabel,
+ BasicDecorationNode::toLabel
+ //TODO: Disjunct nodes mapping
+;
+
+mapping Edge::toEdge() : Edge disjuncts
+ UMLConnector::toPapyrusConnector
+ //TODO: Disjunct edges mapping
+;
+
+mapping UMLShapeCompartment::toStructureCompartment() : DecorationNode inherits UMLShapeCompartment::toAbstractStructureCompartment when {
+ (self.type = 'StructureCompartment' or
+ self.type = 'PackageContents' or
+ self.type = 'interaction_compartment' or
+ self.type.oclIsUndefined() or self.type = '')
+ and not self.getType().oclIsUndefined();
+}{
+
+}
+
+
+/***** Nodes **********/
+
+mapping UMLShape::toPapyrusShape() : Shape inherits Shape::toPapyrusShape when {
+ self.type = '' and not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(ActionExecutionSpecification)or
+ self.element.oclIsTypeOf(BehaviorExecutionSpecification)or
+ self.element.oclIsTypeOf(TimeObservation)or
+ self.element.oclIsTypeOf(InteractionUse)or
+ self.element.oclIsTypeOf(CombinedFragment)or
+ self.element.oclIsTypeOf(Comment)or
+ self.element.oclIsTypeOf(Lifeline)or
+ self.element.oclIsTypeOf(InteractionOperand)or
+ self.element.oclIsTypeOf(TimeConstraint)or
+ self.element.oclIsTypeOf(StateInvariant)or
+ self.element.oclIsTypeOf(CombinedFragment)or
+ self.element.oclIsTypeOf(Continuation)or
+ self.element.oclIsTypeOf(Interaction)or
+ self.element.oclIsTypeOf(Constraint)or
+ self.element.oclIsTypeOf(DurationConstraint)or
+ self.element.oclIsTypeOf(DurationObservation)or
+ self.element.oclIsTypeOf(ConsiderIgnoreFragment)or
+ self.element.oclIsTypeOf(DurationConstraint)or
+ self.element.oclIsTypeOf(DestructionOccurrenceSpecification)
+
+ )
+}{}
+
+
+/****** Connector Labels ******/
+
+mapping BasicDecorationNode::toConnectorLabel() : DecorationNode inherits Node::toPapyrusConnectorLabel when {
+ not self.getType().oclIsUndefined() and (
+ self.type = 'ToMultiplicityLabel' or
+ self.type = 'ToRoleLabel' or
+ self.type = 'FromMultiplicityLabel' or
+ self.type = 'FromRoleLabel' or
+ self.type = 'NameLabel' or
+ self.type = 'KindLabel'
+ )
+}{
+
+}
+
+/****** Compartments *******/
+
+mapping BasicDecorationNode::toLabel() : DecorationNode inherits Node::toPapyrusNode when {
+ not self.getType().oclIsUndefined() and
+ self.element.oclIsKindOf(uml::NamedElement) and
+ self.type = 'Name'
+}{
+
+}
+
+mapping BasicSemanticCompartment::toListCompartment() : BasicCompartment inherits Node::toPapyrusNode, DrawerStyle::toDrawerStyle when {
+ self.type.endsWith('Compartment') and not self.getType().oclIsUndefined()
+}{
+ result.children := self.findElement().map toContents(self);
+}
+
+mapping Element::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ CombinedFragment::toContents
+;
+
+mapping CombinedFragment::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ CombinedFragment::toCombinedFragmentCompartmentContents
+;
+
+mapping CombinedFragment::toCombinedFragmentCompartmentContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'Compartment';
+}{
+
+}
+
+
+
+
+
+
+
+/******* Edges ********/
+
+
+mapping UMLConnector::toPapyrusConnector() : Connector inherits Connector::toPapyrusConnector when {
+ self.type = '' and
+ not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(Message)or
+ self.element.oclIsTypeOf(Message)or
+ self.element.oclIsTypeOf(Message)or
+ self.element.oclIsTypeOf(Message)or
+ self.element.oclIsTypeOf(Message)or
+ self.element.oclIsTypeOf(Message)or
+ self.element.oclIsTypeOf(Message)or
+ self.element.oclIsTypeOf(GeneralOrdering)
+ )
+}{
+ result.styles := self.map toFontStyle();
+}
+
+/****** Element Type queries ******/
+
+query View::getNodeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(TimeObservation) then '3020'
+ elif element.oclIsTypeOf(InteractionUse) then '3002'
+ elif element.oclIsTypeOf(CombinedFragment) then '3004'
+ elif element.oclIsTypeOf(CombinedFragment) then '3018'
+ elif element.oclIsTypeOf(Comment) then '3009'
+ elif element.oclIsTypeOf(Lifeline) then '3001'
+ elif element.oclIsTypeOf(InteractionOperand) then '3005'
+ elif element.oclIsTypeOf(TimeConstraint) then '3019'
+ elif element.oclIsTypeOf(StateInvariant) then '3017'
+ elif element.oclIsTypeOf(Continuation) then '3016'
+ elif element.oclIsTypeOf(Interaction) then '2001'
+ elif element.oclIsTypeOf(Constraint) then '3008'
+ elif element.oclIsTypeOf(DurationConstraint) then '3021'
+ elif element.oclIsTypeOf(DurationObservation) then '3024'
+ elif element.oclIsTypeOf(ConsiderIgnoreFragment) then '3007'
+ elif element.oclIsTypeOf(ActionExecutionSpecification) then '3006'
+ elif element.oclIsTypeOf(DurationConstraint) then '3023'
+ elif element.oclIsTypeOf(DestructionOccurrenceSpecification) then '3022'
+ elif element.oclIsTypeOf(BehaviorExecutionSpecification) then '3003'
+ else self.fail()
+ endif;
+}
+
+
+query View::getDecorationType(element : Element) : String{
+ var res := self.doGetDecorationType(element);
+
+ /*log('Get papyrus ID for'+ self.element.eClass().name+', '+self.type);
+
+ log(res);
+
+ if self.container().oclIsKindOf(Node) then
+ log('IsNode')
+ else
+ log('IsEdge')
+ endif;*/
+
+ return res;
+
+}
+
+query View::doGetDecorationType(element : Element) : String{
+ return if self.container().oclIsKindOf(Node) then {
+ return if element.oclIsTypeOf(InteractionUse) then
+ return switch {
+ case (self.type = 'Name') '5003';
+
+ }
+ elif element.oclIsTypeOf(Lifeline) then
+ return switch {
+ case (self.type = 'Name') '5002';
+
+ }
+ elif element.oclIsTypeOf(StateInvariant) then
+ return switch {
+ case (self.type = 'Name') '5008';
+
+ }
+ elif element.oclIsTypeOf(InteractionOperand) then
+ return switch {
+
+ case (self.type.oclIsUndefined() or self.type = '') '7004';
+ }
+ elif element.oclIsTypeOf(Continuation) then
+ return switch {
+ case (self.type = 'Name') '5007';
+
+ }
+ elif element.oclIsTypeOf(Interaction) then
+ return switch {
+ case (self.type = 'Name') '5001';
+ case (self.type = 'interaction_compartment') '7001';
+ }
+ elif element.oclIsTypeOf(Constraint) then
+ return switch {
+ case (self.type = 'Name') '5005';
+
+ }
+ endif
+ } else {
+ return if element.oclIsTypeOf(Message) and (element.oclIsKindOf(uml::InteractionFragment)) and (element.oclIsKindOf(uml::InteractionFragment) or element.oclIsKindOf(uml::Lifeline)) then
+ return switch {
+ case (self.type='Name') '6001';
+ case (self.type = 'NameLabel') '6001';
+ case (self.type = 'KindLabel') '6008';
+ }
+
+ elif element.oclIsTypeOf(Message) and ((element.oclIsKindOf(uml::Lifeline) or element.oclIsKindOf(uml::InteractionFragment) or element.oclIsKindOf(uml::Gate))) and true then
+ return switch {
+
+ case (self.type = 'NameLabel') '6002';
+ case (self.type = 'KindLabel') '6009';
+ }
+
+ elif element.oclIsTypeOf(Message) and (element.oclIsKindOf(uml::InteractionFragment)) and ((element.oclIsKindOf(uml::Lifeline) or element.oclIsKindOf(uml::InteractionFragment) or element.oclIsKindOf(uml::Gate))) then
+ return switch {
+
+ case (self.type = 'NameLabel') '6003';
+ case (self.type = 'KindLabel') '6010';
+ }
+
+ elif element.oclIsTypeOf(Message) and (element.oclIsKindOf(uml::InteractionFragment) or element.oclIsKindOf(uml::Lifeline)) and (element.oclIsKindOf(uml::Lifeline)) then
+ return switch {
+
+ case (self.type = 'NameLabel') '6004';
+ case (self.type = 'KindLabel') '6011';
+ }
+
+ elif element.oclIsTypeOf(Message) and (element.oclIsKindOf(uml::InteractionFragment) or element.oclIsKindOf(uml::Lifeline)) and (element.oclIsKindOf(uml::DestructionOccurrenceSpecification) or element.oclIsKindOf(uml::Lifeline)) then
+ return switch {
+
+ case (self.type = 'NameLabel') '6005';
+ case (self.type = 'KindLabel') '6012';
+ }
+
+ elif element.oclIsTypeOf(Message) and ((element.oclIsKindOf(uml::Lifeline) or element.oclIsKindOf(uml::InteractionFragment) or element.oclIsKindOf(uml::Gate))) and (element.oclIsKindOf(uml::Interaction)) then
+ return switch {
+
+ case (self.type = 'NameLabel') '6006';
+ case (self.type = 'KindLabel') '6013';
+ }
+
+ elif element.oclIsTypeOf(Message) and (element.oclIsKindOf(uml::Interaction)) and ((element.oclIsKindOf(uml::Lifeline) or element.oclIsKindOf(uml::InteractionFragment) or element.oclIsKindOf(uml::Gate))) then
+ return switch {
+
+ case (self.type = 'NameLabel') '6007';
+ case (self.type = 'KindLabel') '6014';
+ }
+
+ elif element.oclIsTypeOf(GeneralOrdering) then
+ return switch {
+
+ case (self.type = 'KindLabel') '6015';
+ }
+
+ endif
+ } endif;
+}
+
+
+query View::getEdgeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(Message) then '4003'
+ elif element.oclIsTypeOf(Message) then '4004'
+ elif element.oclIsTypeOf(Message) then '4005'
+ elif element.oclIsTypeOf(Message) then '4006'
+ elif element.oclIsTypeOf(Message) then '4007'
+ elif element.oclIsTypeOf(Message) then '4008'
+ elif element.oclIsTypeOf(Message) then '4009'
+ elif element.oclIsTypeOf(GeneralOrdering) then '4012'
+ else self.fail()
+ endif;
+}
+
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAStateMachineDiagram.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAStateMachineDiagram.qvto
new file mode 100644
index 00000000000..b9345a6d55b
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAStateMachineDiagram.qvto
@@ -0,0 +1,381 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+import RSAToPapyrus;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype umlNotation "strict" uses 'http://www.eclipse.org/papyrus/umlnotation';
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype sash "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/sashdi';
+
+transformation RSAStateMachineDiagram(inout semantics : uml, inout graphics : notation, out di : sash);
+
+main() {
+ semantics.rootObjects()[uml::Element]->map toOwnedDiagrams();
+}
+
+query View::getDiagramType() : String{
+ return 'PapyrusUMLStateMachineDiagram';
+}
+
+mapping notation::Diagram::generateDiagram() : notation::Diagram inherits Diagram::toPapyrusDiagram when {
+ self.type = 'Statechart'
+}{
+ end {
+ graphics.objectsOfType(DecorationNode)->select(type = '3002').map addInRegion();
+ graphics.objectsOfType(Shape)->select(type = '2000').map createIntermediateCompartment();
+ graphics.objectsOfType(Shape)->select(type = '6000').map createStructureCompartment();
+ graphics.objectsOfType(DecorationNode)->select(type = '2001').map addLayout();
+ graphics.objectsOfType(DecorationNode)->select(type = '6001').map fixLayout();
+
+ graphics.objectsOfType(Shape)->select(type='666').map addCommentDecoration();
+ graphics.objectsOfType(Shape)->select(type = '668').map addConstraintDecoration();
+ }
+}
+
+mapping inout Shape::createIntermediateCompartment() {
+ var compartment := object DecorationNode {
+ type := '2002';
+ layoutConstraint := object Bounds{}
+ };
+
+ compartment.children := self.children->select(type = '3000');
+
+ children := children->insertAt(2, compartment); /* Required for layout: the Structure Compartment of the Region must be in 2nd position */
+}
+
+mapping inout DecorationNode::addInRegion() {
+ var currentParent := self.oclAsType(EObject).eContainer();
+ var currentBounds := self.layoutConstraint.oclAsType(Bounds);
+
+ var region := object Shape {
+ type := '3000';
+ layoutConstraint := object Bounds{
+ x := currentBounds.x;
+ y := currentBounds.y;
+ };
+ element := self.element;
+ children := self;
+ eAnnotations := object EAnnotation {
+ source := "RegionAnnotationKey";
+ details := object EStringToStringMapEntry{
+ key := "RegionZoneKey";
+ value := 'B';
+ }
+ }
+ };
+
+ if self.layoutConstraint.oclIsUndefined() then self.layoutConstraint := object Bounds{} endif;
+ self.styles := self.styles->reject(oclIsTypeOf(TitleStyle));
+
+ currentParent.oclAsType(View).children += region;
+}
+
+mapping inout Shape::createStructureCompartment() when {
+ not self.children->exists(type = '6002')
+}{
+ var compartment := object DecorationNode {
+ type := '6002';
+ visible := self.children->exists(type='3000');
+ layoutConstraint := object Bounds{};
+ };
+
+ compartment.children += children->select(type = '3000');
+ children := children->insertAt(2, compartment);
+}
+
+mapping inout DecorationNode::addLayout() {
+ if self.layoutConstraint.oclIsUndefined() then self.layoutConstraint := object Bounds{} endif;
+}
+
+mapping inout DecorationNode::fixLayout(){
+ log('FixLayout');
+ var bounds := if self.layoutConstraint.oclIsUndefined() then object Bounds{} else self.layoutConstraint.oclAsType(Bounds) endif;
+ self.layoutConstraint := bounds;
+
+ if bounds.height < 20 then bounds.height := 20 endif;
+
+ log('Fixed: '+bounds.height.toString())
+}
+
+mapping Node::toNode() : Node disjuncts
+ UMLShape::toPapyrusShape,
+ UMLShapeCompartment::toStructureCompartment,
+ BasicSemanticCompartment::toListCompartment,
+ BasicDecorationNode::toConnectorLabel,
+ BasicDecorationNode::toLabel
+ //TODO: Disjunct nodes mapping
+;
+
+mapping Edge::toEdge() : Edge disjuncts
+ UMLConnector::toPapyrusConnector,
+ UMLConnector::toCommentLink
+ //TODO: Disjunct edges mapping
+;
+
+mapping UMLShapeCompartment::toStructureCompartment() : DecorationNode inherits UMLShapeCompartment::toAbstractStructureCompartment when {
+ not self.getType().oclIsUndefined();
+}{
+
+}
+
+mapping inout Shape::addCommentDecoration() when {
+ self.type = '666' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '6666';
+ }
+
+}
+
+mapping inout Shape::addConstraintDecoration() when {
+ self.type = '668' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '6669'; //Constraint specification
+ }
+
+}
+
+/***** Nodes **********/
+
+mapping UMLShape::toPapyrusShape() : Shape inherits Shape::toPapyrusShape when {
+ not self.getType().oclIsUndefined()
+}{
+
+}
+
+
+/****** Connector Labels ******/
+
+mapping BasicDecorationNode::toConnectorLabel() : DecorationNode inherits Node::toPapyrusConnectorLabel when {
+ not self.getType().oclIsUndefined() and (
+ self.type = 'ToMultiplicityLabel' or
+ self.type = 'ToRoleLabel' or
+ self.type = 'FromMultiplicityLabel' or
+ self.type = 'FromRoleLabel' or
+ self.type = 'NameLabel' or
+ self.type = 'KindLabel'
+ )
+}{
+
+}
+
+/****** Compartments *******/
+
+mapping BasicDecorationNode::toLabel() : DecorationNode inherits Node::toPapyrusNode when {
+ not self.getType().oclIsUndefined() and
+ self.element.oclIsKindOf(uml::NamedElement) and
+ self.type = 'Name'
+}{
+
+}
+
+mapping BasicSemanticCompartment::toListCompartment() : BasicCompartment inherits Node::toPapyrusNode, DrawerStyle::toDrawerStyle when {
+ self.type.endsWith('Compartment') and not self.getType().oclIsUndefined()
+}{
+
+}
+
+
+mapping uml::State::fillTransition(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='';
+}{
+ init {
+ result := self.incoming->selectByKind(Transition).map toTransitionIn(node)->asSequence();
+ }
+}
+
+mapping uml::State::fillBehavior(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='';
+}{
+ init {
+ result := self.entry->selectByKind(Behavior).map toBehaviorIn(node)->asSequence();
+ }
+}
+
+mapping Transition::toTransitionIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '680';
+}
+
+mapping Behavior::toBehaviorIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '690';
+}
+
+
+
+/******* Edges ********/
+
+
+mapping UMLConnector::toPapyrusConnector() : Connector inherits Connector::toPapyrusConnector when {
+ self.type = '' and
+ not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(Transition)or
+ self.element.oclIsTypeOf(Generalization)
+ )
+}{
+ result.styles := self.map toFontStyle();
+}
+
+
+mapping UMLConnector::toCommentLink() : Connector inherits Connector::toCommentLink when{
+ self.type='Reference'
+}{
+ result.type :='667';
+ result.bendpoints := self.bendpoints.toBendpoint(self.diagram);
+ result.sourceAnchor := object IdentityAnchor{};
+}
+
+/****** Element Type queries ******/
+
+query View::getNodeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(Comment) then '666'
+ elif element.oclIsTypeOf(FinalState) then '5000'
+ elif element.oclIsTypeOf(Pseudostate) and element.oclAsType(Pseudostate).kind = PseudostateKind::join then '9000'
+ elif element.oclIsTypeOf(State) then '6000'
+ elif element.oclIsTypeOf(Pseudostate) and element.oclAsType(Pseudostate).kind = PseudostateKind::shallowHistory then '13000'
+ elif element.oclIsTypeOf(Pseudostate) and element.oclAsType(Pseudostate).kind = PseudostateKind::terminate then '15000'
+ elif element.oclIsTypeOf(Pseudostate) and element.oclAsType(Pseudostate).kind = PseudostateKind::choice then '11000'
+ elif element.oclIsTypeOf(Constraint) then '668'
+ elif element.oclIsTypeOf(StateMachine) then '2000'
+ elif element.oclIsTypeOf(Pseudostate) and element.oclAsType(Pseudostate).kind = PseudostateKind::fork then '10000'
+ elif element.oclIsTypeOf(Region) then '3000'
+ elif element.oclIsTypeOf(Pseudostate) and element.oclAsType(Pseudostate).kind = PseudostateKind::junction then '12000'
+ elif element.oclIsTypeOf(Pseudostate) and element.oclAsType(Pseudostate).kind = PseudostateKind::deepHistory then '14000'
+ elif element.oclIsTypeOf(Pseudostate) and element.oclAsType(Pseudostate).kind = PseudostateKind::initial then '8000'
+ elif element.oclIsTypeOf(Pseudostate) and element.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint then '16000'
+ elif element.oclIsTypeOf(Pseudostate) and element.oclAsType(Pseudostate).kind = PseudostateKind::exitPoint then '17000'
+ elif element.oclIsTypeOf(ConnectionPointReference) then '18000'
+ else self.fail()
+ endif;
+}
+
+
+query View::getDecorationType(element : Element) : String{
+ var res := self.doGetDecorationType(element);
+
+
+ /*log('Get papyrus ID for'+ self.element.eClass().name+', '+self.type);
+
+ log(res);
+
+ if self.container().oclIsKindOf(Node) then
+ log('IsNode')
+ else
+ log('IsEdge')
+ endif;*/
+
+
+ return res;
+}
+
+query View::doGetDecorationType(element : Element) : String{
+ return if self.container().oclIsKindOf(Node) then {
+ return if element.oclIsTypeOf(Pseudostate) then
+ return switch {
+ case (self.type = 'Name') '11001';
+
+ }
+ elif element.oclIsTypeOf(Pseudostate) then
+ return switch {
+ case (self.type = 'Name') '17001';
+
+ }
+ elif element.oclIsTypeOf(Pseudostate) then
+ return switch {
+ case (self.type = 'Name') '13001';
+
+ }
+ elif element.oclIsTypeOf(Pseudostate) then
+ return switch {
+ case (self.type = 'Name') '9001';
+
+ }
+ elif element.oclIsTypeOf(Pseudostate) then
+ return switch {
+ case (self.type = 'Name') '8001';
+
+ }
+ elif element.oclIsTypeOf(Region) then
+ return switch {
+
+ case (self.type = 'Region' or self.type = '') '3002';
+ }
+ elif element.oclIsTypeOf(ConnectionPointReference) then
+ return switch {
+ case (self.type = 'Name') '18001';
+
+ }
+ elif element.oclIsTypeOf(State) then
+ return switch {
+ case (self.type = 'Name') '6001';
+ }
+ elif element.oclIsTypeOf(FinalState) then
+ return switch {
+ case (self.type = 'Name') '5001';
+
+ }
+ elif element.oclIsTypeOf(Pseudostate) then
+ return switch {
+ case (self.type = 'Name') '14001';
+
+ }
+ elif element.oclIsTypeOf(Pseudostate) then
+ return switch {
+ case (self.type = 'Name') '15001';
+
+ }
+ elif element.oclIsTypeOf(Pseudostate) then
+ return switch {
+ case (self.type = 'Name') '10001';
+
+ }
+ elif element.oclIsTypeOf(Pseudostate) then
+ return switch {
+ case (self.type = 'Name') '16001';
+
+ }
+ elif element.oclIsTypeOf(StateMachine) then
+ return switch {
+ case (self.type = 'Name') '2001';
+ case (self.type = 'StructureCompartment') '2002';
+ }
+ elif element.oclIsTypeOf(Pseudostate) then
+ return switch {
+ case (self.type = 'Name') '12001';
+
+ }
+ endif
+ } else {
+ return if element.oclIsTypeOf(Transition) then
+ return switch {
+ case (self.type='Name') '7001';
+ case (self.type = 'NameLabel') '7001';
+
+
+ }
+ endif
+ } endif;
+}
+
+
+query View::getEdgeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(Transition) then '7000'
+ elif element.oclIsTypeOf(Generalization) then '19000'
+ else self.fail()
+ endif;
+}
+
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAStructureDiagram.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAStructureDiagram.qvto
new file mode 100644
index 00000000000..f6878d2175a
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAStructureDiagram.qvto
@@ -0,0 +1,816 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+import RSAToPapyrus;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype umlNotation "strict" uses 'http://www.eclipse.org/papyrus/umlnotation';
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype sash "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/sashdi';
+
+transformation RSAStructureDiagram(inout semantics : uml, inout graphics : notation, out di : sash);
+
+main() {
+ semantics.rootObjects()[uml::Element]->map toOwnedDiagrams();
+}
+
+query View::getDiagramType() : String{
+ return 'CompositeStructure';
+}
+
+mapping notation::Diagram::generateDiagram() : notation::Diagram inherits Diagram::toPapyrusDiagram when {
+ self.type = 'Structure'
+}{
+ init {
+ log('GenerateStructureDiagram');
+ }
+ end {
+ graphics.objectsOfType(Shape)->select(type = '2109').map addCommentDecoration();
+ graphics.objectsOfType(Shape)->select(type = '2114').map addConstraintDecoration();
+ }
+}
+
+
+mapping inout Shape::addCommentDecoration() when {
+ self.type = '2109' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '5192'; //Comment body
+ }
+
+}
+
+mapping inout Shape::addConstraintDecoration() when {
+ self.type = '2114' and self.diagram.type = self.getDiagramType()
+} {
+
+ self.children += object DecorationNode{
+ type := '6039'; //Constraint specification
+ }
+}
+
+
+mapping Node::toNode() : Node disjuncts
+ UMLShape::toPapyrusShape,
+ UMLShapeCompartment::toStructureCompartment,
+ BasicSemanticCompartment::toListCompartment,
+ BasicDecorationNode::toConnectorLabel,
+ BasicDecorationNode::toLabel
+ //TODO: Disjunct nodes mapping
+;
+
+mapping Edge::toEdge() : Edge disjuncts
+ UMLConnector::toPapyrusConnector,
+ UMLConnector::toCommentLink
+ //TODO: Disjunct edges mapping
+;
+
+mapping UMLShapeCompartment::toStructureCompartment() : DecorationNode inherits UMLShapeCompartment::toAbstractStructureCompartment when {
+ self.type = 'StructureCompartment' or self.type = 'PackageContents' and not self.getType().oclIsUndefined();
+}{
+
+}
+
+
+/***** Nodes **********/
+
+mapping UMLShape::toPapyrusShape() : Shape inherits Shape::toPapyrusShape when {
+ not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(DurationInterval)or
+ self.element.oclIsTypeOf(UseCase)or
+ self.element.oclIsTypeOf(Port)or
+ self.element.oclIsTypeOf(LiteralInteger)or
+ self.element.oclIsTypeOf(Node)or
+ self.element.oclIsTypeOf(Class)or
+ self.element.oclIsTypeOf(Expression)or
+ self.element.oclIsTypeOf(IntervalConstraint)or
+ self.element.oclIsTypeOf(InteractionConstraint)or
+ self.element.oclIsTypeOf(TimeConstraint)or
+ self.element.oclIsTypeOf(OpaqueBehavior)or
+ self.element.oclIsTypeOf(Duration)or
+ self.element.oclIsTypeOf(Actor)or
+ self.element.oclIsTypeOf(TimeEvent)or
+ self.element.oclIsTypeOf(DurationConstraint)or
+ //self.element.oclIsTypeOf(Interface)or
+ self.element.oclIsTypeOf(SignalEvent)or
+ self.element.oclIsTypeOf(TimeExpression)or
+ self.element.oclIsTypeOf(Enumeration)or
+ self.element.oclIsTypeOf(OpaqueExpression)or
+ self.element.oclIsTypeOf(LiteralBoolean)or
+ self.element.oclIsTypeOf(AnyReceiveEvent)or
+ self.element.oclIsTypeOf(FunctionBehavior)or
+ self.element.oclIsTypeOf(LiteralUnlimitedNatural)or
+ self.element.oclIsTypeOf(Activity)or
+ self.element.oclIsTypeOf(Signal)or
+ self.element.oclIsTypeOf(Parameter)or
+ self.element.oclIsTypeOf(StringExpression)or
+ self.element.oclIsTypeOf(Interval)or
+ self.element.oclIsTypeOf(PrimitiveType)or
+ self.element.oclIsTypeOf(CollaborationUse)or
+ self.element.oclIsTypeOf(TimeObservation)or
+ self.element.oclIsTypeOf(DeploymentSpecification)or
+ self.element.oclIsTypeOf(StateMachine)or
+ self.element.oclIsTypeOf(Device)or
+ self.element.oclIsTypeOf(Comment)or
+ self.element.oclIsTypeOf(InformationItem)or
+ self.element.oclIsTypeOf(Artifact)or
+ self.element.oclIsTypeOf(Collaboration)or
+ self.element.oclIsTypeOf(ProtocolStateMachine)or
+ self.element.oclIsTypeOf(TimeInterval)or
+ self.element.oclIsTypeOf(CallEvent)or
+ self.element.oclIsTypeOf(InstanceValue)or
+ self.element.oclIsTypeOf(DurationObservation)or
+ self.element.oclIsTypeOf(Property)or
+ self.element.oclIsTypeOf(Constraint)or
+ self.element.oclIsTypeOf(ExecutionEnvironment)or
+ self.element.oclIsTypeOf(LiteralString)or
+ self.element.oclIsTypeOf(DataType)or
+ self.element.oclIsTypeOf(ChangeEvent)or
+ self.element.oclIsTypeOf(Component)or
+ self.element.oclIsTypeOf(LiteralNull)or
+ self.element.oclIsTypeOf(Interaction)
+ )
+}{
+
+}
+
+
+/****** Connector Labels ******/
+
+mapping BasicDecorationNode::toConnectorLabel() : DecorationNode inherits Node::toPapyrusConnectorLabel when {
+ not self.getType().oclIsUndefined() and (
+ self.type = 'ToMultiplicityLabel' or
+ self.type = 'ToRoleLabel' or
+ self.type = 'FromMultiplicityLabel' or
+ self.type = 'FromRoleLabel' or
+ self.type = 'NameLabel' or
+ self.type = 'KindLabel' or
+ self.type = 'PartTextCompartment' or
+ self.type = 'PartName' or
+ self.type = 'CommentBody'
+ )
+}{
+
+}
+
+/****** Compartments *******/
+
+mapping BasicDecorationNode::toLabel() : DecorationNode inherits Node::toPapyrusNode when {
+ not self.getType().oclIsUndefined() and
+ self.element.oclIsKindOf(uml::NamedElement) and
+ self.type = 'Name' or self.type = 'PartName'
+}{
+
+}
+
+mapping BasicSemanticCompartment::toListCompartment() : BasicCompartment inherits Node::toPapyrusNode, DrawerStyle::toDrawerStyle when {
+ self.type.endsWith('Compartment') and not self.getType().oclIsUndefined()
+}{
+ result.children := self.findElement().map toContents(self);
+}
+
+mapping Element::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Enumeration::toContents,
+ DataType::toContents
+;
+
+mapping Enumeration::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ Enumeration::toliteralsContents
+;
+
+mapping DataType::toContents(node : BasicSemanticCompartment) : Sequence(Node) disjuncts
+ DataType::topropertiesContents,
+ DataType::tooperationsContents
+;
+
+mapping Enumeration::toliteralsContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'EnumerationLiteralCompartment';
+}{
+ init {
+ result := (self.map fillEnumerationLiteral(node))
+ }
+}
+
+mapping DataType::topropertiesContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'Compartment';
+}{
+ init {
+ result := (self.map fillProperty(node))
+ }
+}
+
+mapping DataType::tooperationsContents(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type = 'Compartment';
+}{
+ init {
+ result := (self.map fillOperation(node))
+ }
+}
+
+mapping uml::DataType::fillProperty(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='Compartment';
+}{
+ init {
+ result := self.ownedAttribute->selectByKind(Property).map toPropertyInDataType(node)->asSequence();
+ }
+}
+
+mapping uml::DataType::fillOperation(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='Compartment';
+}{
+ init {
+ result := self.ownedOperation->selectByKind(Operation).map toOperationInDataType(node)->asSequence();
+ }
+}
+
+
+
+mapping uml::Enumeration::fillEnumerationLiteral(node : BasicSemanticCompartment) : Sequence(Node) when {
+ node.type='EnumerationLiteralCompartment';
+}{
+ init {
+ result := self.ownedLiteral->selectByKind(EnumerationLiteral).map toEnumerationLiteralInEnumeration(node)->asSequence();
+ }
+}
+
+mapping UMLConnector::toCommentLink() : Connector inherits Connector::toCommentLink when{
+ self.type='Reference'
+}{
+ result.type :='4002';
+ result.bendpoints := self.bendpoints.toBendpoint(self.diagram);
+ result.sourceAnchor := object IdentityAnchor{};
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mapping Property::toPropertyInDataType(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3101';
+}
+
+mapping Operation::toOperationInDataType(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3102';
+}
+
+mapping Reception::toReceptionIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3100';
+}
+
+mapping EnumerationLiteral::toEnumerationLiteralInEnumeration(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3066';
+}
+
+mapping Activity::toActivityIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3103';
+}
+
+mapping Interaction::toInteractionIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3104';
+}
+
+mapping ProtocolStateMachine::toProtocolStateMachineIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3105';
+}
+
+mapping StateMachine::toStateMachineIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3106';
+}
+
+mapping FunctionBehavior::toFunctionBehaviorIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3107';
+}
+
+mapping OpaqueBehavior::toOpaqueBehaviorIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3108';
+}
+
+mapping Collaboration::toCollaborationIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3109';
+}
+
+mapping Interface::toInterfaceIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3110';
+}
+
+mapping Enumeration::toEnumerationIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3111';
+}
+
+mapping PrimitiveType::toPrimitiveTypeIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3112';
+}
+
+mapping DataType::toDataTypeIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3113';
+}
+
+mapping Class::toClassIn(node : Node) : Shape inherits Element::toCompartmentEntry {
+ result.type := '3114';
+}
+
+
+
+/******* Edges ********/
+
+
+mapping UMLConnector::toPapyrusConnector() : notation::Connector inherits Connector::toPapyrusConnector when {
+ not self.getType().oclIsUndefined() and (
+ self.element.oclIsTypeOf(ComponentRealization)or
+ self.element.oclIsTypeOf(InterfaceRealization)or
+ self.element.oclIsTypeOf(Substitution)or
+ self.element.oclIsTypeOf(Realization)or
+ self.element.oclIsTypeOf(Manifestation)or
+ self.element.oclIsTypeOf(Abstraction)or
+ self.element.oclIsTypeOf(Usage)or
+ self.element.oclIsTypeOf(Deployment)or
+ self.element.oclIsTypeOf(Dependency)or
+ self.element.oclIsTypeOf(Dependency)or
+ self.element.oclIsTypeOf(uml::Connector)or
+ self.element.oclIsTypeOf(Generalization)or
+ self.element.oclIsTypeOf(InformationFlow)
+ )
+}{
+ result.styles := self.map toFontStyle();
+}
+
+/****** Element Type queries ******/
+
+query View::getNodeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(DurationInterval) then '2106'
+ elif element.oclIsTypeOf(UseCase) then '2082'
+ elif element.oclIsTypeOf(Port) then '3069'
+ elif element.oclIsTypeOf(LiteralInteger) then '2096'
+ elif element.oclIsTypeOf(Node) then '2072'
+ elif element.oclIsTypeOf(Class) then '2073'
+ elif element.oclIsTypeOf(Expression) then '2103'
+ elif element.oclIsTypeOf(IntervalConstraint) then '2112'
+ elif element.oclIsTypeOf(InteractionConstraint) then '2113'
+ elif element.oclIsTypeOf(TimeConstraint) then '2111'
+ elif element.oclIsTypeOf(OpaqueBehavior) then '2065'
+ elif element.oclIsTypeOf(Duration) then '2104'
+ elif element.oclIsTypeOf(Actor) then '2077'
+ elif element.oclIsTypeOf(TimeEvent) then '2089'
+ elif element.oclIsTypeOf(DurationConstraint) then '2110'
+ //elif element.oclIsTypeOf(Interface) then '2076'
+ elif element.oclIsTypeOf(SignalEvent) then '2083'
+ elif element.oclIsTypeOf(TimeExpression) then '2102'
+ elif element.oclIsTypeOf(Enumeration) then '2067'
+ elif element.oclIsTypeOf(OpaqueExpression) then '2101'
+ elif element.oclIsTypeOf(LiteralBoolean) then '2095'
+ elif element.oclIsTypeOf(AnyReceiveEvent) then '2085'
+ elif element.oclIsTypeOf(FunctionBehavior) then '2064'
+ elif element.oclIsTypeOf(LiteralUnlimitedNatural) then '2099'
+ elif element.oclIsTypeOf(Activity) then '2060'
+ elif element.oclIsTypeOf(Signal) then '2081'
+ elif element.oclIsTypeOf(Parameter) then '3088'
+ elif element.oclIsTypeOf(StringExpression) then '2100'
+ elif element.oclIsTypeOf(Interval) then '2107'
+ elif element.oclIsTypeOf(PrimitiveType) then '2066'
+ elif element.oclIsTypeOf(CollaborationUse) then '3071'
+ elif element.oclIsTypeOf(TimeObservation) then '2094'
+ elif element.oclIsTypeOf(DeploymentSpecification) then '2078'
+ elif element.oclIsTypeOf(StateMachine) then '2063'
+ elif element.oclIsTypeOf(Device) then '2070'
+ elif element.oclIsTypeOf(Comment) then '2109'
+ elif element.oclIsTypeOf(InformationItem) then '2080'
+ elif element.oclIsTypeOf(Artifact) then '2079'
+ elif element.oclIsTypeOf(Collaboration) then '2075'
+ elif element.oclIsTypeOf(ProtocolStateMachine) then '2062'
+ elif element.oclIsTypeOf(TimeInterval) then '2105'
+ elif element.oclIsTypeOf(CallEvent) then '2084'
+ elif element.oclIsTypeOf(InstanceValue) then '2108'
+ elif element.oclIsTypeOf(DurationObservation) then '2093'
+ elif element.oclIsTypeOf(Property) then '3070'
+ elif element.oclIsTypeOf(Constraint) then '2114'
+ elif element.oclIsTypeOf(ExecutionEnvironment) then '2071'
+ elif element.oclIsTypeOf(LiteralString) then '2098'
+ elif element.oclIsTypeOf(DataType) then '2068'
+ elif element.oclIsTypeOf(ChangeEvent) then '2088'
+ elif element.oclIsTypeOf(Component) then '2069'
+ elif element.oclIsTypeOf(LiteralNull) then '2097'
+ elif element.oclIsTypeOf(Interaction) then '2061'
+ else self.fail()
+ endif;
+}
+
+
+query View::getDecorationType(element : Element) : String{
+ var res := self.doGetDecorationType(element);
+
+
+ /*log('Get papyrus ID for'+ self.element.eClass().name+', '+self.type);
+
+ log(res);
+
+ if self.container().oclIsKindOf(Node) then
+ log('IsNode')
+ else
+ log('IsEdge')
+ endif;*/
+
+
+ return res;
+}
+
+query View::doGetDecorationType(element : Element) : String{
+ return if self.container().oclIsKindOf(Node) then {
+ return if element.oclIsTypeOf(DurationInterval) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5189';
+
+ }
+ elif element.oclIsTypeOf(UseCase) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5165';
+
+ }
+ elif element.oclIsTypeOf(Port) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5125';
+
+ }
+ elif element.oclIsTypeOf(LiteralInteger) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5179';
+
+ }
+ elif element.oclIsTypeOf(Node) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5124';
+ case (self.type = 'StructureCompartment') '7072';
+ }
+ elif element.oclIsTypeOf(Class) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5156';
+ case (self.type = 'StructureCompartment') '7073';
+ }
+ elif element.oclIsTypeOf(Expression) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5186';
+
+ }
+ elif element.oclIsTypeOf(IntervalConstraint) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5195';
+
+ }
+ elif element.oclIsTypeOf(InteractionConstraint) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5196';
+
+ }
+ elif element.oclIsTypeOf(TimeConstraint) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5194';
+
+ }
+ elif element.oclIsTypeOf(OpaqueBehavior) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5117';
+ case (self.type = 'StructureCompartment') '7068';
+ }
+ elif element.oclIsTypeOf(Duration) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5187';
+
+ }
+ elif element.oclIsTypeOf(Actor) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5160';
+
+ }
+ elif element.oclIsTypeOf(TimeEvent) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5172';
+
+ }
+ elif element.oclIsTypeOf(DurationConstraint) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5193';
+
+ }
+ elif element.oclIsTypeOf(Interface) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5159';
+
+ }
+ elif element.oclIsTypeOf(SignalEvent) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5166';
+
+ }
+ elif element.oclIsTypeOf(TimeExpression) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5185';
+
+ }
+ elif element.oclIsTypeOf(Enumeration) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5119';
+ case (self.type = 'EnumerationLiteralCompartment') '7048';
+ }
+ elif element.oclIsTypeOf(OpaqueExpression) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5184';
+
+ }
+ elif element.oclIsTypeOf(LiteralBoolean) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5178';
+
+ }
+ elif element.oclIsTypeOf(AnyReceiveEvent) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5168';
+
+ }
+ elif element.oclIsTypeOf(FunctionBehavior) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5116';
+ case (self.type = 'StructureCompartment') '7067';
+ }
+ elif element.oclIsTypeOf(LiteralUnlimitedNatural) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5182';
+
+ }
+ elif element.oclIsTypeOf(Activity) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5112';
+ case (self.type = 'StructureCompartment') '7063';
+ }
+ elif element.oclIsTypeOf(Signal) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5164';
+
+ }
+ elif element.oclIsTypeOf(Parameter) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '6033';
+
+ }
+ elif element.oclIsTypeOf(StringExpression) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5183';
+
+ }
+ elif element.oclIsTypeOf(Interval) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5190';
+
+ }
+ elif element.oclIsTypeOf(PrimitiveType) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5118';
+
+ }
+ elif element.oclIsTypeOf(CollaborationUse) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5127';
+
+ }
+ elif element.oclIsTypeOf(TimeObservation) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5142';
+
+ }
+ elif element.oclIsTypeOf(DeploymentSpecification) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5161';
+
+ }
+ elif element.oclIsTypeOf(StateMachine) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5115';
+ case (self.type = 'StructureCompartment') '7066';
+ }
+ elif element.oclIsTypeOf(Device) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5122';
+ case (self.type = 'StructureCompartment') '7070';
+ }
+ elif element.oclIsTypeOf(InformationItem) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5163';
+
+ }
+ elif element.oclIsTypeOf(Artifact) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5162';
+
+ }
+ elif element.oclIsTypeOf(Collaboration) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5158';
+ case (self.type = 'StructureCompartment') '7075';
+ }
+ elif element.oclIsTypeOf(ProtocolStateMachine) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5114';
+ case (self.type = 'StructureCompartment') '7065';
+ }
+ elif element.oclIsTypeOf(TimeInterval) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5188';
+
+ }
+ elif element.oclIsTypeOf(CallEvent) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5167';
+
+ }
+ elif element.oclIsTypeOf(InstanceValue) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5191';
+
+ }
+ elif element.oclIsTypeOf(DurationObservation) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5151';
+
+ }
+ elif element.oclIsTypeOf(Property) then
+ return switch {
+ case (self.type = 'PartName' or self.type='PartTextCompartment') '5126';
+ case (self.type = 'StructureCompartment') '7077';
+ }
+ elif element.oclIsTypeOf(Constraint) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5197';
+
+ }
+ elif element.oclIsTypeOf(ExecutionEnvironment) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5123';
+ case (self.type = 'StructureCompartment') '7071';
+ }
+ elif element.oclIsTypeOf(LiteralString) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5181';
+
+ }
+ elif element.oclIsTypeOf(DataType) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5120';
+ case (self.type = 'Compartment') '7033';
+ case (self.type = 'Compartment') '7034';
+ }
+ elif element.oclIsTypeOf(ChangeEvent) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5171';
+
+ }
+ elif element.oclIsTypeOf(Component) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5121';
+ case (self.type = 'StructureCompartment') '7069';
+ }
+ elif element.oclIsTypeOf(LiteralNull) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5180';
+
+ }
+ elif element.oclIsTypeOf(Interaction) then
+ return switch {
+ case (self.type = 'Name' or self.type = 'PartName') '5113';
+ case (self.type = 'StructureCompartment') '7064';
+ }
+ elif element.oclIsTypeOf(Comment) then
+ return switch {
+ case (self.type = 'CommentBody') '5192';
+ }
+ endif
+ } else {
+ return if element.oclIsTypeOf(ComponentRealization) then
+ return switch {
+ case (self.type='Name') '6001';
+ case (self.type = 'NameLabel') '6001';
+ case (self.type = 'KindLabel') '6015';
+ }
+ elif element.oclIsTypeOf(InterfaceRealization) then
+ return switch {
+ case (self.type='Name') '6002';
+ case (self.type = 'NameLabel') '6002';
+ case (self.type = 'KindLabel') '6016';
+ }
+ elif element.oclIsTypeOf(Substitution) then
+ return switch {
+ case (self.type='Name') '6003';
+ case (self.type = 'NameLabel') '6003';
+ case (self.type = 'KindLabel') '6017';
+ }
+ elif element.oclIsTypeOf(Realization) then
+ return switch {
+ case (self.type='Name') '6004';
+ case (self.type = 'NameLabel') '6004';
+ case (self.type = 'KindLabel') '6018';
+ }
+ elif element.oclIsTypeOf(Manifestation) then
+ return switch {
+ case (self.type='Name') '6005';
+ case (self.type = 'NameLabel') '6005';
+ case (self.type = 'KindLabel') '6019';
+ }
+ elif element.oclIsTypeOf(Abstraction) then
+ return switch {
+ case (self.type='Name') '6006';
+ case (self.type = 'NameLabel') '6006';
+ case (self.type = 'KindLabel') '6020';
+ }
+ elif element.oclIsTypeOf(Usage) then
+ return switch {
+ case (self.type='Name') '6007';
+ case (self.type = 'NameLabel') '6007';
+ case (self.type = 'KindLabel') '6021';
+ }
+ elif element.oclIsTypeOf(Deployment) then
+ return switch {
+ case (self.type='Name') '6008';
+ case (self.type = 'NameLabel') '6008';
+ case (self.type = 'KindLabel') '6022';
+ }
+ elif element.oclIsTypeOf(Dependency) then
+ return switch {
+ case (self.type='Name') '6027';
+ case (self.type = 'NameLabel') '6027';
+ case (self.type = 'KindLabel') '6028';
+ }
+ elif element.oclIsTypeOf(Dependency) then
+ return switch {
+ case (self.type='Name') '6009';
+ case (self.type = 'NameLabel') '6009';
+ case (self.type = 'KindLabel') '6023';
+ }
+ elif element.oclIsTypeOf(uml::Connector) then
+ return switch {
+ case (self.type='Name') '6050';
+ case (self.type = 'KindLabel') '6025';
+ case (self.type = 'NameLabel') '6050';
+ case (self.type = 'FromMultiplicityLabel') '6051';
+ case (self.type = 'ToMultiplicityLabel') '6052';
+ }
+ elif element.oclIsTypeOf(Generalization) then
+ return switch {
+
+ case (self.type = 'KindLabel') '6024';
+ }
+ elif element.oclIsTypeOf(InformationFlow) then
+ return switch {
+
+
+ case (self.type = 'KindLabel') '6032';
+ }
+ endif
+ } endif;
+}
+
+
+query View::getEdgeType(element : Element) : String {
+ return
+ if element.oclIsTypeOf(ComponentRealization) then '4004'
+ elif element.oclIsTypeOf(InterfaceRealization) then '4005'
+ elif element.oclIsTypeOf(Substitution) then '4011'
+ elif element.oclIsTypeOf(Realization) then '4006'
+ elif element.oclIsTypeOf(Manifestation) then '4012'
+ elif element.oclIsTypeOf(Abstraction) then '4007'
+ elif element.oclIsTypeOf(Usage) then '4008'
+ elif element.oclIsTypeOf(Deployment) then '4009'
+ elif element.oclIsTypeOf(Dependency) then '4017'
+ elif element.oclIsTypeOf(Dependency) then '4010'
+ elif element.oclIsTypeOf(uml::Connector) then '4013'
+ elif element.oclIsTypeOf(Generalization) then '4015'
+ elif element.oclIsTypeOf(InformationFlow) then '4021'
+ else self.fail()
+ endif;
+}
+
diff --git a/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAToPapyrus.qvto b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAToPapyrus.qvto
new file mode 100644
index 00000000000..a863bb69f6a
--- /dev/null
+++ b/extraplugins/migration/org.eclipse.papyrus.migration.rsa/transform/RSAToPapyrus.qvto
@@ -0,0 +1,364 @@
+/*****************************************************************************
+ * Copyright (c) 2013, 2014 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:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+import org.eclipse.papyrus.m2m.qvto.UI;
+import org.eclipse.papyrus.m2m.qvto.NotationTypes;
+import libraries.EclipseUI;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype umlNotation "strict" uses 'http://www.eclipse.org/papyrus/umlnotation';
+modeltype uml "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+
+/**
+* Abstract transformation rules for importing notation diagrams into Papyrus
+*/
+transformation RSAToPapyrus(inout semantics : uml, out graphics : notation);
+
+
+main() {
+ semantics.rootObjects()[uml::Element]->map toOwnedDiagrams();
+}
+
+mapping inout Element::toOwnedDiagrams(){
+ self.ownedElement.map toOwnedDiagrams();
+
+ self.eAnnotations->select (source = 'uml2.diagrams' or source = 'uml2.profile.diagrams').map toOwnedDiagrams();
+ //self.eAnnotations := self.eAnnotations->reject(source = 'uml2.diagrams' or source = 'uml2.profile.diagrams'); /* Delete diagrams from resulting UML Model */
+}
+
+mapping EAnnotation::toOwnedDiagrams()
+ when { self.source = 'uml2.diagrams' or self.source = 'uml2.profile.diagrams'}{
+
+ self.contents->selectByKind(notation::Diagram).map generateDiagram();
+
+}
+
+
+
+
+/** Abstract mappings. Never called directly, inherited only */
+
+
+abstract mapping notation::View::toPapyrusView() : notation::View {
+ result.element := self.element; /* UML Model is in-out. No mapping required. */
+ result.visible := self.visible;
+
+ result.children := self.children.map toNode();
+ result.type := self.getType();
+}
+
+abstract mapping Edge::toPapyrusEdge() : Edge inherits View::toPapyrusView {
+ result.bendpoints := self.bendpoints.map toBendpoint(self.diagram);
+ result.sourceAnchor := self.sourceAnchor.map toAnchor();
+ result.targetAnchor := self.targetAnchor.map toAnchor();
+
+ result.source := self.source.map toView();
+ result.target := self.target.map toView();
+}
+
+abstract mapping Connector::toPapyrusConnector() : Connector inherits Edge::toPapyrusEdge, RoutingStyle::toRoutingstyle{};
+
+abstract mapping Connector::toCommentLink() : Connector inherits Connector::toPapyrusConnector{};
+
+abstract mapping Node::toPapyrusNode() : Node inherits View::toPapyrusView{};
+
+abstract mapping inout Shape::addCommentDecoration(){};
+
+abstract mapping Node::toPapyrusConnectorLabel() : Node {
+ result.visible := self.visible;
+ result.type := self.getType();
+
+ var initX := self.layoutConstraint.oclAsType(Location).x;
+ var initY := self.layoutConstraint.oclAsType(Location).y;
+
+ if self.diagram.isHimetric() then {
+ initX := initX.toPixels();
+ initY := initY.toPixels();
+ } endif;
+
+ result.layoutConstraint := object Location {
+ x := initX;
+ y := initY;
+ };
+
+ //Do not set element
+ //Do not set children
+}
+
+abstract mapping Shape::toPapyrusShape() : Shape inherits Node::toPapyrusNode, FillStyle::toFillStyle, FontStyle::toFontStyle, LineStyle::toLineStyle{
+ result.layoutConstraint := self.layoutConstraint.map toLayout(self.diagram);
+}
+
+abstract mapping DrawerStyle::toDrawerStyle() : DrawerStyle {
+ result.collapsed := self.collapsed;
+}
+
+abstract mapping BasicSemanticCompartment::toBasicCompartment() : BasicCompartment inherits Node::toPapyrusNode, DrawerStyle::toDrawerStyle {
+ result.styles := object TitleStyle{
+ showTitle := self.styles->selectByKind(TitleStyle)->any(true).showTitle;
+ };
+}
+
+abstract mapping UMLShapeCompartment::toAbstractStructureCompartment() : DecorationNode inherits Node::toPapyrusNode {
+ result.styles := object TitleStyle{
+ showTitle := self.showTitle;
+ };
+}
+
+abstract mapping Diagram::toPapyrusDiagram() : notation::Diagram inherits notation::View::toPapyrusView {
+
+ population {
+ result.name := self.name;
+
+ /* Papyrus uses Pixel, whereas RSA uses Himetric. Forcing the conversion to Pixel is a bad idea */
+ result.measurementUnit := MeasurementUnit::Pixel;
+ result.styles := createDiagramStyle();
+
+ result.element := self.findElement().oclAsType(EObject);
+ log(result.element.eClass().name);
+ // log(result.element.toString());
+ result.edges := self.edges.map toEdge();
+ }
+
+ end {
+ worked(1);
+ }
+}
+
+query Diagram::findElement() : Element {
+ return if self.container().container().oclIsUndefined() then semantics.rootObjects()[Element]->any(true) else self.container().container().oclAsType(Element) endif;
+}
+
+abstract mapping Element::toCompartmentEntry(node : Node) : Shape {
+ result.element := self.oclAsType(EObject);
+ //result.type := self.findType(node);
+}
+
+helper createDiagramStyle() : DiagramStyle {
+ return object DiagramStyle {
+
+ };
+}
+
+
+/** Common mappings: Copy (Call or Inherit) */
+
+mapping FontStyle::toFontStyle() : FontStyle {
+ result.fontColor := self.fontColor;
+ result.fontName := self.fontName;
+ result.fontHeight := self.fontHeight;
+ result.bold := self.bold;
+ result.italic := self.italic;
+ result.underline := self.underline;
+ result.strikeThrough := self.strikeThrough;
+}
+
+mapping FillStyle::toFillStyle() : FillStyle {
+ result.fillColor := self.fillColor;
+ result.transparency := self.transparency;
+
+ //TODO: Gradient
+}
+
+mapping LineStyle::toLineStyle() : LineStyle {
+ result.lineColor := self.lineColor;
+ result.lineWidth := self.lineWidth;
+}
+
+mapping RoutingStyle::toRoutingstyle() : RoutingStyle {
+ result.roundedBendpointsRadius := self.roundedBendpointsRadius;
+ result.routing := self.routing;
+ result.smoothness := self.smoothness;
+ result.avoidObstructions := self.avoidObstructions;
+ result.closestDistance := self.closestDistance;
+ result.jumpLinkStatus := self.jumpLinkStatus;
+ result.jumpLinkType := self.jumpLinkType;
+ result.jumpLinksReverse := self.jumpLinksReverse;
+}
+
+abstract mapping Bendpoints::toBendpoint(diagram: Diagram) : Bendpoints disjuncts
+ RelativeBendpoints::toBendpoint
+;
+
+mapping RelativeBendpoints::toBendpoint(diagram: Diagram) : Bendpoints {
+ init {
+ result := object RelativeBendpoints {}
+ }
+
+ var convertToPixels := diagram.isHimetric();
+ self.copyBendpoints(result.oclAsType(RelativeBendpoints), convertToPixels);
+}
+
+mapping LayoutConstraint::toLayout(diagram : Diagram) : LayoutConstraint disjuncts
+ Bounds::toLayout{
+}
+
+mapping Bounds::toLayout(diagram : Diagram) : LayoutConstraint {
+ init {
+ result := object Bounds{}
+ }
+
+ var bounds : Bounds := result.oclAsType(Bounds);
+
+ if diagram.isHimetric() then {
+ bounds.x := self.x.toPixels();
+ bounds.y := self.y.toPixels();
+ if self.width > 0 then bounds.width := self.width.toPixels() endif;
+ if self.height > 0 then bounds.height := self.height.toPixels() endif;
+ } else{
+ bounds.x := self.x;
+ bounds.y := self.y;
+ if self.width > 0 then bounds.width := self.width endif;
+ if self.height > 0 then bounds.height := self.height endif;
+ } endif;
+}
+
+query View::isHimetric() : Boolean {
+ return self.diagram.measurementUnit = MeasurementUnit::Himetric
+}
+
+query Integer::toPixels() : Integer{
+ return self.div(25); //FIXME: Approx.
+}
+
+mapping Anchor::toAnchor() : Anchor disjuncts
+ IdentityAnchor::toAnchor{
+
+}
+
+mapping IdentityAnchor::toAnchor() : Anchor {
+ init {
+ result := object IdentityAnchor {
+ }
+ }
+
+ var id := if self.oclAsType(EObject).isHimetric() then {
+ var id := self.id;
+ var part1 := id.substringBefore(':').asInteger();
+ var part2 := id.substringAfter(':').asInteger();
+ var newId := if part1.oclIsInvalid() or part2.oclIsInvalid() then
+ self.id
+ else
+ (part1.toPixels().toString())+':'+(part2.toPixels().toString())
+ endif;
+ newId;
+ } else {
+ self.id;
+ } endif;
+
+ result.oclAsType(IdentityAnchor).id := id;
+}
+
+query EObject::isHimetric() : Boolean {
+ return if self.oclIsKindOf(Diagram) then
+ self.oclAsType(Diagram).isHimetric()
+ else
+ self.eContainer().isHimetric()
+ endif;
+}
+
+helper View::fail() : String {
+ var type := self.type;
+ var isProxy := self.element != null and self.element.oclIsUndefined();
+ var semanticEClassName := if isProxy then 'Unresolved (proxy) reference' elif self.element = null then 'No semantic element' else self.element.eClass().name endif;
+ warning('Unknown element type. Type = "'+self.type+'", element type = "'+semanticEClassName+'"');
+ return '';
+}
+
+
+/** Generic mapping logic */
+
+query View::getType(): String{
+ var element : Element := self.findElement();
+
+ return
+
+ if self.oclIsKindOf(Diagram) then
+ self.getDiagramType()
+ elif self.oclIsKindOf(Edge) then
+ self.getEdgeType(element)
+ elif self.oclIsKindOf(BasicDecorationNode) then
+ self.getDecorationType(element)
+ elif self.oclIsKindOf(Node) then
+ self.getNodeType(element)
+ else self.fail()
+
+ endif;
+}
+
+query View::findElement() : Element {
+ return self.findAssociatedElement().oclAsType(Element);
+}
+
+query View::findAssociatedElement() : EObject {
+ return if self.element.oclIsUndefined() then
+ self.container().oclAsType(View).findAssociatedElement()
+ else
+ self.element
+ endif;
+}
+
+query Sequence(Node)::safeUnion(unionWith: Sequence(Node)) : Sequence(Node) {
+ log('C1', self);
+ log('C2', unionWith);
+
+
+
+ var res := if self->oclIsUndefined() and unionWith->oclIsUndefined() then
+ object Sequence(Object){}
+ elif self->oclIsUndefined() then
+ unionWith
+ elif unionWith->oclIsUndefined() then
+ self
+ else
+ self->union(unionWith)
+ endif;
+
+ log('Result', res);
+
+ return res;
+}
+
+mapping View::toView() : View disjuncts Node::toNode, Edge::toEdge;
+
+
+/** Diagram-specific transformations (Implement only) */
+
+abstract mapping Node::toNode() : Node;
+
+abstract mapping Edge::toEdge() : Edge;
+
+abstract query View::getDiagramType() : String;
+
+//Distinction between TopNode and ChildNode is not important in the Notation model.
+//Simply use the TopNode Type.
+abstract query View::getNodeType(element : Element) : String;
+
+abstract query View::getEdgeType(element : Element) : String;
+
+abstract query View::getDecorationType(element : Element) : String;
+
+/** Main diagram mapping */
+abstract mapping notation::Diagram::generateDiagram() : notation::Diagram;
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/features/papyrus-extra-features/org.eclipse.papyrus.extra.feature/feature.xml b/features/papyrus-extra-features/org.eclipse.papyrus.extra.feature/feature.xml
index 0fb8aeaad6a..c9b66ed23d0 100644
--- a/features/papyrus-extra-features/org.eclipse.papyrus.extra.feature/feature.xml
+++ b/features/papyrus-extra-features/org.eclipse.papyrus.extra.feature/feature.xml
@@ -1,13 +1,18 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><feature id="org.eclipse.papyrus.extra.feature" label="%featureName" provider-name="%providerName" version="1.0.1.qualifier">
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.papyrus.extra.feature"
+ label="%featureName"
+ version="1.0.1.qualifier"
+ provider-name="%providerName">
<copyright url="http://www.eclipse.org/legal/epl-v10.html">
- Copyright (c) 2008-2013 CEA LIST, Atos Origin, Conselleria de
-Infraestructuras y Transporte, Generalitat de la Comunitat Valenciana
-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
+ Copyright (c) 2008-2013 CEA LIST, Atos Origin, Conselleria de
+Infraestructuras y Transporte, Generalitat de la Comunitat Valenciana
+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
</copyright>
@@ -15,48 +20,96 @@ http://www.eclipse.org/legal/epl-v10.html
%license
</license>
- <includes id="org.eclipse.papyrus.extra.migration.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.migration.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.uml.export.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.uml.export.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.cdo.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.cdo.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.diagramtemplate.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.diagramtemplate.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.dsml.validation.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.dsml.validation.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.eastadl.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.eastadl.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.marte.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.marte.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.marte.properties.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.marte.properties.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.marte.textedit.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.marte.textedit.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.uml.compare.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.uml.compare.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.umlrt.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.umlrt.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.java.generator.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.java.generator.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.java.reverse.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.java.reverse.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.robotml.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.robotml.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.qompass.designer.basic.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.qompass.designer.basic.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.qompass.designer.tracing.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.qompass.designer.tracing.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.cpp.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.cpp.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.java.profile.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.java.profile.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.tablemigration.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.tablemigration.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.layers.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.layers.feature"
+ version="0.0.0"/>
- <includes id="org.eclipse.papyrus.extra.moka.feature" version="0.0.0"/>
+ <includes
+ id="org.eclipse.papyrus.extra.moka.feature"
+ version="0.0.0"/>
-</feature> \ No newline at end of file
+ <includes
+ id="org.eclipse.papyrus.migration.rsa.feature"
+ version="0.0.0"/>
+
+</feature>
diff --git a/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/.project b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/.project
new file mode 100644
index 00000000000..e8253e4c703
--- /dev/null
+++ b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.migration.rsa.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/build.properties b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/build.properties
new file mode 100644
index 00000000000..a22994c721f
--- /dev/null
+++ b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/build.properties
@@ -0,0 +1,5 @@
+bin.includes = feature.xml,\
+ epl-v10.html,\
+ license.html
+src.includes = epl-v10.html,\
+ license.html
diff --git a/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/epl-v10.html b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/epl-v10.html
new file mode 100644
index 00000000000..cb1073a4bad
--- /dev/null
+++ b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/epl-v10.html
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ }
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ }
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+
+ }
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style>
+</head>
+
+<body lang="EN-US" style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal></p>
+
+</div>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/feature.xml b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/feature.xml
new file mode 100644
index 00000000000..a33ee492d3d
--- /dev/null
+++ b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/feature.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><feature id="org.eclipse.papyrus.migration.rsa.feature" label="RSA Import Feature" provider-name="Eclipse Modeling Project" version="1.0.1.qualifier">
+
+ <description>
+ Prototype (Work in progress) version of a component for importing diagrams from IBM RSA.
+ </description>
+
+ <copyright>
+ Copyright (c) 2013 CEA LIST.
+
+ All rights reserved.
+ </copyright>
+
+ <plugin download-size="0" id="org.eclipse.papyrus.m2m.qvto" install-size="0" unpack="false" version="0.0.0"/>
+
+ <plugin download-size="0" id="org.eclipse.papyrus.migration.rsa" install-size="0" unpack="false" version="0.0.0"/>
+
+</feature> \ No newline at end of file
diff --git a/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/license.html b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/license.html
new file mode 100644
index 00000000000..0fd3dd13aac
--- /dev/null
+++ b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/pom.xml b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/pom.xml
new file mode 100644
index 00000000000..94854d86ca2
--- /dev/null
+++ b/features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.0.1-SNAPSHOT</version>
+ <relativePath>../../../releng/top-pom-extras.xml</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.migration.rsa.feature</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.0.1-SNAPSHOT</version>
+ <packaging>eclipse-feature</packaging>
+</project> \ No newline at end of file
diff --git a/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.feature/feature.xml b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.feature/feature.xml
index e5d92a5c754..8d273367eb3 100644
--- a/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.feature/feature.xml
+++ b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.feature/feature.xml
@@ -1,69 +1,98 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><feature id="org.eclipse.papyrus.tests.extra.feature" label="Papyrus extra-plugins tests Feature" provider-name="Eclipse Modeling Project" version="1.0.1.qualifier">
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.papyrus.tests.extra.feature"
+ label="Papyrus extra-plugins tests Feature"
+ version="1.0.1.qualifier"
+ provider-name="Eclipse Modeling Project">
<copyright url="http://www.eclipse.org/legal/epl-v10.html">
- Copyright (c) 2011 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) 2011 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
</copyright>
<license url="license.html">
- Eclipse Foundation Software User Agreement
-March 17, 2005
-
-Usage Of Content
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.
-
-Applicable Licenses
-Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.
-
-Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS modules ("Modules") and made available as downloadable archives ("Downloads").
-
-Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
-Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java" ARchive) in a directory named "plugins".
-A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
-Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
-The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:
-
-The top-level (root) directory
-Plug-in and Fragment directories
-Inside Plug-ins and Fragments packaged as JARs
-Sub-directories of the directory named "src" of certain Plug-ins
-Feature directories
-Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in that directory.
-
-THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):
-
-Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
-Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
-Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
-IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)
-Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)
-Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.
-
-Cryptography
-Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.
-
+ Eclipse Foundation Software User Agreement
+March 17, 2005
+
+Usage Of Content
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.
+
+Applicable Licenses
+Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, &quot;Program&quot; will mean the Content.
+
+Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).
+
+Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).
+Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&quot; ARchive) in a directory named &quot;plugins&quot;.
+A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
+Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.
+The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:
+
+The top-level (root) directory
+Plug-in and Fragment directories
+Inside Plug-ins and Fragments packaged as JARs
+Sub-directories of the directory named &quot;src&quot; of certain Plug-ins
+Feature directories
+Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in that directory.
+
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):
+
+Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
+Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
+Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
+IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)
+Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)
+Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.
+
+Cryptography
+Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country&apos;s laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.
+
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
</license>
- <includes id="org.eclipse.papyrus.tests.extra.cdo.feature" version="0.0.0"/>
-
- <includes id="org.eclipse.papyrus.tests.extra.codegen.cpp.feature" version="0.0.0"/>
-
- <requires>
- <import match="compatible" plugin="com.google.guava" version="12.0.0"/>
- </requires>
-
- <plugin download-size="0" id="org.eclipse.papyrus.tests.extra" install-size="0" unpack="false" version="0.0.0"/>
-
- <plugin download-size="0" id="org.eclipse.papyrus.bundles.tests" install-size="0" unpack="false" version="0.0.0"/>
-
- <plugin download-size="0" id="org.eclipse.papyrus.moka.tests" install-size="0" unpack="false" version="0.0.0"/>
-
- <plugin download-size="0" id="org.eclipse.papyrus.umlrt.validation.tests" install-size="0" unpack="false" version="0.0.0"/>
-
-</feature> \ No newline at end of file
+ <includes
+ id="org.eclipse.papyrus.tests.extra.cdo.feature"
+ version="0.0.0"/>
+
+ <includes
+ id="org.eclipse.papyrus.tests.extra.codegen.cpp.feature"
+ version="0.0.0"/>
+
+ <includes
+ id="org.eclipse.papyrus.tests.extra.migration.rsa.featire"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.papyrus.tests.extra"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.bundles.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.moka.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.umlrt.validation.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/.project b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/.project
new file mode 100644
index 00000000000..40012aff036
--- /dev/null
+++ b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.tests.extra.migration.rsa.featire</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/build.properties b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/build.properties
new file mode 100644
index 00000000000..a22994c721f
--- /dev/null
+++ b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/build.properties
@@ -0,0 +1,5 @@
+bin.includes = feature.xml,\
+ epl-v10.html,\
+ license.html
+src.includes = epl-v10.html,\
+ license.html
diff --git a/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/epl-v10.html b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/epl-v10.html
new file mode 100644
index 00000000000..cb1073a4bad
--- /dev/null
+++ b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/epl-v10.html
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ }
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ }
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+
+ }
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style>
+</head>
+
+<body lang="EN-US" style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style='font-size:10.0pt'>For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal></p>
+
+</div>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/feature.xml b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/feature.xml
new file mode 100644
index 00000000000..0cc4f5e3950
--- /dev/null
+++ b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/feature.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.papyrus.tests.extra.migration.rsa.featire"
+ label="Papyrus RSA Import Test Feature"
+ version="1.0.1.qualifier">
+
+ <description url="http://www.example.com/description">
+ [Enter Feature Description here.]
+ </description>
+
+ <copyright url="http://www.example.com/copyright">
+ [Enter Copyright Description here.]
+ </copyright>
+
+ <license url="http://www.example.com/license">
+ [Enter License Description here.]
+ </license>
+
+</feature>
diff --git a/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/license.html b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/license.html
new file mode 100644
index 00000000000..0fd3dd13aac
--- /dev/null
+++ b/features/papyrus-tests-extra-features/org.eclipse.papyrus.tests.extra.migration.rsa.featire/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/releng/top-pom-extra-tests.xml b/releng/top-pom-extra-tests.xml
index 06772960d48..65bab29c1ba 100644
--- a/releng/top-pom-extra-tests.xml
+++ b/releng/top-pom-extra-tests.xml
@@ -20,6 +20,7 @@
<module>../tests/junit/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.tests</module>
<module>../tests/junit/extraplugins/moka/org.eclipse.papyrus.moka.tests</module>
<module>../tests/junit/extraplugins/org.eclipse.papyrus.tests.extra</module>
+ <module>../tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests</module>
<!-- Tests for umlrt -->
<module>../tests/junit/extraplugins/umlrt/org.eclipse.papyrus.umlrt.validation.tests</module>
</modules>
diff --git a/releng/top-pom-extras.xml b/releng/top-pom-extras.xml
index 88b1aecb71b..dbba5ad7ae9 100755
--- a/releng/top-pom-extras.xml
+++ b/releng/top-pom-extras.xml
@@ -29,6 +29,7 @@
<module>../features/papyrus-extra-features/org.eclipse.papyrus.robotml.generators.intempora.rtmaps.feature</module>
<module>../features/papyrus-extra-features/org.eclipse.papyrus.tablemigration.feature</module>
<module>../features/papyrus-extra-features/org.eclipse.papyrus.uml.export.feature</module>
+ <module>../features/papyrus-extra-features/org.eclipse.papyrus.migration.rsa.feature</module>
<module>../extraplugins/codegen/org.eclipse.papyrus.acceleo</module>
<module>../extraplugins/codegen/org.eclipse.papyrus.acceleo.debug</module>
<module>../extraplugins/codegen/org.eclipse.papyrus.acceleo.ui</module>
@@ -135,6 +136,8 @@
<module>../extraplugins/umlrt/org.eclipse.papyrus.umlrt.properties</module>
<module>../extraplugins/umlrt/org.eclipse.papyrus.umlrt.validation</module>
<module>../extraplugins/umlrt/org.eclipse.papyrus.umlrt.wizard</module>
+ <module>../extraplugins/migration/org.eclipse.papyrus.m2m.qvto</module>
+ <module>../extraplugins/migration/org.eclipse.papyrus.migration.rsa</module>
<module>../extraplugins/codegen/org.eclipse.papyrus.views.cpp</module>
<module>../extraplugins/qompass-designer/tracing/org.eclipse.papyrus.views.tracepoints</module>
<module>extras</module>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.classpath b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.classpath
new file mode 100644
index 00000000000..2d1a4302f04
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.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/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.project b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.project
new file mode 100644
index 00000000000..5787642c84a
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.migration.rsa.tests</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/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..44217f8c068
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.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
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/META-INF/MANIFEST.MF b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..60a973ae5f6
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,43 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.uml2.uml,
+ org.eclipse.emf;bundle-version="2.6.0",
+ org.eclipse.m2m.qvt.oml;bundle-version="3.4.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.1",
+ org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="1.0.1",
+ org.eclipse.papyrus.migration.rsa;bundle-version="1.0.1",
+ org.eclipse.ui;bundle-version="3.106.0",
+ org.junit;bundle-version="4.11.0",
+ org.eclipse.papyrus.m2m.qvto;bundle-version="1.0.1",
+ org.eclipse.papyrus.junit.utils;bundle-version="1.0.1",
+ org.eclipse.papyrus.infra.core;bundle-version="1.0.1",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.0.1",
+ org.eclipse.core.resources,
+ org.eclipse.ui.workbench,
+ org.eclipse.ui.ide,
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="1.0.1",
+ org.eclipse.gmf.runtime.notation.edit,
+ org.eclipse.gmf.runtime.emf.core,
+ org.eclipse.papyrus.uml.diagram.common;bundle-version="1.0.1",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="1.0.1",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.7.0",
+ org.eclipse.emf.ecore,
+ org.eclipse.papyrus.uml.tools;bundle-version="1.0.1",
+ org.eclipse.emf.common,
+ org.eclipse.core.commands,
+ org.eclipse.emf.transaction,
+ org.eclipse.uml2.uml.resources,
+ org.eclipse.papyrus.infra.core.sasheditor;bundle-version="1.0.1",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.0.1",
+ org.eclipse.gef
+Export-Package: org.eclipse.papyrus.migration.rsa.tests,
+ org.eclipse.papyrus.migration.rsa.tests.qvt
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.0.1.qualifier
+Bundle-Name: Model import migration Tests (Incubation)
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.migration.rsa.tests.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.migration.rsa.tests
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/about.html b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/about.html
new file mode 100644
index 00000000000..5ddc72c177f
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/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 20, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). 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, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/build.properties b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/build.properties
new file mode 100644
index 00000000000..fdd2cc92d34
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ resources/
+src.includes = about.html
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/org.eclipse.papyrus.migration.rsa.tests.launch b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/org.eclipse.papyrus.migration.rsa.tests.launch
new file mode 100644
index 00000000000..9ccdfb31e31
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/org.eclipse.papyrus.migration.rsa.tests.launch
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-migration-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.migration.rsa.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.migration.rsa.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -Xms512m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=512M"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/pom.xml b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/pom.xml
new file mode 100644
index 00000000000..3f77cc99c9d
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus</artifactId>
+ <version>1.0.1-SNAPSHOT</version>
+ <relativePath>../../../../../releng/top-pom-extra-tests.xml</relativePath>
+ </parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.migration.rsa.tests</artifactId>
+ <version>1.0.1-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+</project>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/ModelTestClass.emx b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/ModelTestClass.emx
new file mode 100644
index 00000000000..c0499ebacc8
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/ModelTestClass.emx
@@ -0,0 +1,606 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--xtools2_universal_type_manager-->
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.uml.msl.model" version="7.0.0"><feature description="" name="com.ibm.xtools.ruml.feature" url="" version="7.0.0"/></signature>?>
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.mmi.ui.signatures.diagram" version="7.0.0"><feature description="" name="Rational Modeling Platform (com.ibm.xtools.rmp)" url="" version="7.0.0"/></signature>?>
+<uml:Package xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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/3.0.0/UML" xmlns:umlnotation="http://www.ibm.com/xtools/1.5.3/Umlnotation" xmi:id="_CpI9orM9EeOedMT5QMT8fQ" name="ModelTestClass">
+ <eAnnotations xmi:id="_CpI9o7M9EeOedMT5QMT8fQ" source="uml2.diagrams">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_G_f54LM9EeOedMT5QMT8fQ" type="Class" name="ClassDiagramTest">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_JlYXALM9EeOedMT5QMT8fQ" element="_JkyhILM9EeOedMT5QMT8fQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JlYXArM9EeOedMT5QMT8fQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_JlYXA7M9EeOedMT5QMT8fQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_JliIALM9EeOedMT5QMT8fQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_JliIAbM9EeOedMT5QMT8fQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_JliIArM9EeOedMT5QMT8fQ" type="Parent"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_JliIA7M9EeOedMT5QMT8fQ" type="PackageContents" collapsed="true" canonical="false"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlYXAbM9EeOedMT5QMT8fQ" x="3095" y="2090" width="9918" height="7641"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_KpEooLM9EeOedMT5QMT8fQ" element="_KoojwLM9EeOedMT5QMT8fQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_KprFkLM9EeOedMT5QMT8fQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_KprFkbM9EeOedMT5QMT8fQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KprFkrM9EeOedMT5QMT8fQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KprFk7M9EeOedMT5QMT8fQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_KprFlLM9EeOedMT5QMT8fQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KprFlbM9EeOedMT5QMT8fQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KprFlrM9EeOedMT5QMT8fQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_KprFl7M9EeOedMT5QMT8fQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_KprFmLM9EeOedMT5QMT8fQ" visible="false" type="StructureCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KpEoobM9EeOedMT5QMT8fQ" x="4259" y="3889" width="3859" height="3331"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_RwU_MLM9EeOedMT5QMT8fQ" element="_RwLOMLM9EeOedMT5QMT8fQ" fontName="Times New Roman" fontHeight="8" transparency="69" gradient="11102764, 16777215, 0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_RwU_MrM9EeOedMT5QMT8fQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_RwU_M7M9EeOedMT5QMT8fQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_RwU_NLM9EeOedMT5QMT8fQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_RwU_NbM9EeOedMT5QMT8fQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_RwU_NrM9EeOedMT5QMT8fQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_RwU_N7M9EeOedMT5QMT8fQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_RwU_OLM9EeOedMT5QMT8fQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_RwU_ObM9EeOedMT5QMT8fQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_RwU_OrM9EeOedMT5QMT8fQ" visible="false" type="StructureCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RwU_MbM9EeOedMT5QMT8fQ" x="15180" y="5544" height="1926"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_rrrG4LM9EeOedMT5QMT8fQ" element="_rrh88LM9EeOedMT5QMT8fQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_rrrG4rM9EeOedMT5QMT8fQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_rrrG47M9EeOedMT5QMT8fQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_rrrG5LM9EeOedMT5QMT8fQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_rrrG5bM9EeOedMT5QMT8fQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_rrrG5rM9EeOedMT5QMT8fQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_rrrG57M9EeOedMT5QMT8fQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_rrrG6LM9EeOedMT5QMT8fQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_rrrG6bM9EeOedMT5QMT8fQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_rrrG6rM9EeOedMT5QMT8fQ" visible="false" type="StructureCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rrrG4bM9EeOedMT5QMT8fQ" x="13596" y="792"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_sgDKIbM9EeOedMT5QMT8fQ" element="_sgDKILM9EeOedMT5QMT8fQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_sgDKI7M9EeOedMT5QMT8fQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_sgDKJLM9EeOedMT5QMT8fQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_sgDKJbM9EeOedMT5QMT8fQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_sgDKJrM9EeOedMT5QMT8fQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_sgDKJ7M9EeOedMT5QMT8fQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_sgDKKLM9EeOedMT5QMT8fQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_sgDKKbM9EeOedMT5QMT8fQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_sgDKKrM9EeOedMT5QMT8fQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_sgDKK7M9EeOedMT5QMT8fQ" visible="false" type="StructureCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sgDKIrM9EeOedMT5QMT8fQ" x="17952" y="792"/>
+ </children>
+ <element xsi:nil="true"/>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_TPivMLM9EeOedMT5QMT8fQ" element="_TPGDQLM9EeOedMT5QMT8fQ" source="_KpEooLM9EeOedMT5QMT8fQ" target="_RwU_MLM9EeOedMT5QMT8fQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TPivMrM9EeOedMT5QMT8fQ" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_TPivNLM9EeOedMT5QMT8fQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_TPivNbM9EeOedMT5QMT8fQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TPivM7M9EeOedMT5QMT8fQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TPivNrM9EeOedMT5QMT8fQ" type="ToMultiplicityLabel" element="_TPP0Q7M9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_TPivOLM9EeOedMT5QMT8fQ" type="ToMultiplicity"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TPivN7M9EeOedMT5QMT8fQ" y="396"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TPivObM9EeOedMT5QMT8fQ" type="ToRoleLabel" element="_TPP0Q7M9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_TPivO7M9EeOedMT5QMT8fQ" type="ToRole"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TPivOrM9EeOedMT5QMT8fQ" y="-397"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TPivPLM9EeOedMT5QMT8fQ" type="FromMultiplicityLabel" element="_TPP0QLM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_TPivPrM9EeOedMT5QMT8fQ" type="FromMultiplicity"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TPivPbM9EeOedMT5QMT8fQ" y="396"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TPivP7M9EeOedMT5QMT8fQ" type="FromRoleLabel" element="_TPP0QLM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_TPivQbM9EeOedMT5QMT8fQ" type="FromRole"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TPivQLM9EeOedMT5QMT8fQ" y="-397"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TPivQrM9EeOedMT5QMT8fQ" type="ToQualifierLabel" element="_TPP0Q7M9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_TPivRLM9EeOedMT5QMT8fQ" type="QualifierCompartment"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TPivQ7M9EeOedMT5QMT8fQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TPivRbM9EeOedMT5QMT8fQ" type="FromQualifierLabel" element="_TPP0QLM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_TPivR7M9EeOedMT5QMT8fQ" type="QualifierCompartment"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TPivRrM9EeOedMT5QMT8fQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TPivSLM9EeOedMT5QMT8fQ" type="ToConstraintLabel" element="_TPP0Q7M9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:ListCompartment" xmi:id="_TPsgMLM9EeOedMT5QMT8fQ" type="ToConstraintCompartment"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TPivSbM9EeOedMT5QMT8fQ" y="1058"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TPsgMbM9EeOedMT5QMT8fQ" type="FromConstraintLabel" element="_TPP0QLM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:ListCompartment" xmi:id="_TPsgM7M9EeOedMT5QMT8fQ" type="FromConstraintCompartment"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TPsgMrM9EeOedMT5QMT8fQ" y="1058"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TPivMbM9EeOedMT5QMT8fQ" points="[1890, -237, -8382, -2641]$[5201, -237, -5071, -2641]$[5201, 2174, -5071, -230]$[9295, 2174, -977, -230]"/>
+ </edges>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_vmXa0LM9EeOedMT5QMT8fQ" element="_vmNp0LM9EeOedMT5QMT8fQ" source="_rrrG4LM9EeOedMT5QMT8fQ" target="_sgDKIbM9EeOedMT5QMT8fQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_vmXa0rM9EeOedMT5QMT8fQ" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_vmXa1LM9EeOedMT5QMT8fQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_vmXa1bM9EeOedMT5QMT8fQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vmXa07M9EeOedMT5QMT8fQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vmXa1rM9EeOedMT5QMT8fQ" type="ToMultiplicityLabel" element="_vmNp1LM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_vmXa2LM9EeOedMT5QMT8fQ" type="ToMultiplicity"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vmXa17M9EeOedMT5QMT8fQ" y="396"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vmXa2bM9EeOedMT5QMT8fQ" type="ToRoleLabel" element="_vmNp1LM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_vmXa27M9EeOedMT5QMT8fQ" type="ToRole"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vmXa2rM9EeOedMT5QMT8fQ" y="-397"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vmXa3LM9EeOedMT5QMT8fQ" type="FromMultiplicityLabel" element="_vmNp0bM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_vmXa3rM9EeOedMT5QMT8fQ" type="FromMultiplicity"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vmXa3bM9EeOedMT5QMT8fQ" y="396"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vmXa37M9EeOedMT5QMT8fQ" type="FromRoleLabel" element="_vmNp0bM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_vmXa4bM9EeOedMT5QMT8fQ" type="FromRole"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vmXa4LM9EeOedMT5QMT8fQ" y="-397"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vmXa4rM9EeOedMT5QMT8fQ" type="ToQualifierLabel" element="_vmNp1LM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_vmXa5LM9EeOedMT5QMT8fQ" type="QualifierCompartment"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vmXa47M9EeOedMT5QMT8fQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vmXa5bM9EeOedMT5QMT8fQ" type="FromQualifierLabel" element="_vmNp0bM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_vmXa57M9EeOedMT5QMT8fQ" type="QualifierCompartment"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vmXa5rM9EeOedMT5QMT8fQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vmXa6LM9EeOedMT5QMT8fQ" type="ToConstraintLabel" element="_vmNp1LM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:ListCompartment" xmi:id="_vmXa6rM9EeOedMT5QMT8fQ" type="ToConstraintCompartment"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vmXa6bM9EeOedMT5QMT8fQ" y="1058"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vmXa67M9EeOedMT5QMT8fQ" type="FromConstraintLabel" element="_vmNp0bM9EeOedMT5QMT8fQ">
+ <children xmi:type="notation:ListCompartment" xmi:id="_vmXa7bM9EeOedMT5QMT8fQ" type="FromConstraintCompartment"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vmXa7LM9EeOedMT5QMT8fQ" y="1058"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vmXa0bM9EeOedMT5QMT8fQ" points="[40, 634, -5136, 567]$[40, 1326, -5136, 1259]$[1778, 2252, -3398, 2185]$[2439, 1326, -2737, 1259]$[3762, 2517, -1414, 2450]$[5216, 1326, 40, 1259]$[5216, 768, 40, 701]"/>
+ </edges>
+ </contents>
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_k6tgYLmTEeOxHvnUw-zqDQ" type="Object" name="ObjectDiagram1">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_m6XD8LmTEeOxHvnUw-zqDQ" element="_m6NS8bmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_m6XD8rmTEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_m6XD87mTEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_m6XD9LmTEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_m6XD9bmTEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_m6XD9rmTEeOxHvnUw-zqDQ" type="Parent"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_m6XD97mTEeOxHvnUw-zqDQ" type="ValueSpecification"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_m6XD-LmTEeOxHvnUw-zqDQ" visible="false" type="TaggedValueSet"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_m6XD-bmTEeOxHvnUw-zqDQ" type="SlotCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m6XD8bmTEeOxHvnUw-zqDQ" x="3466" y="2592" height="3171"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_n9waobmTEeOxHvnUw-zqDQ" element="_n9waoLmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_n9wao7mTEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_n9wapLmTEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_n9wapbmTEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_n9waprmTEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_n9wap7mTEeOxHvnUw-zqDQ" type="Parent"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_n9waqLmTEeOxHvnUw-zqDQ" type="ValueSpecification"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_n9waqbmTEeOxHvnUw-zqDQ" visible="false" type="TaggedValueSet"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_n9waqrmTEeOxHvnUw-zqDQ" type="SlotCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n9waormTEeOxHvnUw-zqDQ" x="12938" y="3518"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_uFxhwLmTEeOxHvnUw-zqDQ" element="_uFem0bmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Image">
+ <children xmi:type="notation:DecorationNode" xmi:id="_uFxhwrmTEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_uFxhw7mTEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_uFxhxLmTEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_uFxhxbmTEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_uFxhxrmTEeOxHvnUw-zqDQ" type="ValueSpecification"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_uFxhx7mTEeOxHvnUw-zqDQ" visible="false" type="TaggedValueSet"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_uFxhyLmTEeOxHvnUw-zqDQ" type="Parent"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_uFxhybmTEeOxHvnUw-zqDQ" type="InstanceStructureCompartment"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_uF7SwLmTEeOxHvnUw-zqDQ" type="SlotCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_uF7SwbmTEeOxHvnUw-zqDQ" visible="false" type="DeploymentShapeCompartment"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_uF7SwrmTEeOxHvnUw-zqDQ" visible="false" type="DeploymentListCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uFxhwbmTEeOxHvnUw-zqDQ" x="14313" y="7117"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_2bblILmTEeOxHvnUw-zqDQ" element="_2bR0IbmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_2bblIrmTEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_2bblI7mTEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_2bblJLmTEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_2bblJbmTEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_2bblJrmTEeOxHvnUw-zqDQ" type="Parent"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_2bblJ7mTEeOxHvnUw-zqDQ" type="ValueSpecification"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_2bblKLmTEeOxHvnUw-zqDQ" visible="false" type="TaggedValueSet"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_2bblKbmTEeOxHvnUw-zqDQ" type="SlotCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2bblIbmTEeOxHvnUw-zqDQ" x="20399" y="2989"/>
+ </children>
+ <element xsi:nil="true"/>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_qBIAkbmTEeOxHvnUw-zqDQ" element="_qBIAkLmTEeOxHvnUw-zqDQ" source="_n9waobmTEeOxHvnUw-zqDQ" target="_m6XD8LmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qBIAk7mTEeOxHvnUw-zqDQ" visible="false" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_qBIAlbmTEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_qBIAlrmTEeOxHvnUw-zqDQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qBIAlLmTEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qBIAkrmTEeOxHvnUw-zqDQ" points="[-79, -7, 279, 28]$[-279, -26, 79, 9]"/>
+ </edges>
+ </contents>
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_LD2lMLmVEeOxHvnUw-zqDQ" type="Class" name="ClassDiagram1">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_LZYJQLmVEeOxHvnUw-zqDQ" element="_LZNxMLmVEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LZYwULmVEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_LZYwUbmVEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_LZYwUrmVEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_LZZXYLmVEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_LZZXYbmVEeOxHvnUw-zqDQ" type="Parent"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_LZZXYrmVEeOxHvnUw-zqDQ" type="PackageContents" collapsed="true" canonical="false"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LZYJQbmVEeOxHvnUw-zqDQ" x="12170" y="3757"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_N0KwsLmVEeOxHvnUw-zqDQ" element="_N0AYoLmVEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_N0LXwLmVEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_N0LXwbmVEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_N0LXwrmVEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_N0LXw7mVEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_N0LXxLmVEeOxHvnUw-zqDQ" type="Parent"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_N0L-0LmVEeOxHvnUw-zqDQ" type="PackageContents" collapsed="true" canonical="false"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N0KwsbmVEeOxHvnUw-zqDQ" x="8281" y="8228"/>
+ </children>
+ <element xsi:nil="true"/>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_P1TiALmVEeOxHvnUw-zqDQ" element="_P1OpgLmVEeOxHvnUw-zqDQ" source="_N0KwsLmVEeOxHvnUw-zqDQ" target="_LZYJQLmVEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_P1UJELmVEeOxHvnUw-zqDQ" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_P1UJErmVEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_P1UJE7mVEeOxHvnUw-zqDQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P1UJEbmVEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_P1TiAbmVEeOxHvnUw-zqDQ" points="[16, -16, -131, 153]$[152, -141, 5, 28]"/>
+ </edges>
+ </contents>
+ </eAnnotations>
+ <packageImport xmi:id="_CpI9pLM9EeOedMT5QMT8fQ">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Package" xmi:id="_JkyhILM9EeOedMT5QMT8fQ" name="Package1">
+ <eAnnotations xmi:id="_JlFcELM9EeOedMT5QMT8fQ" source="uml2.diagrams"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_KoojwLM9EeOedMT5QMT8fQ" name="Class1">
+ <ownedAttribute xmi:id="_MGNVALM9EeOedMT5QMT8fQ" name="attribute1" visibility="private"/>
+ <ownedAttribute xmi:id="_MU8UkLM9EeOedMT5QMT8fQ" name="attribute2" visibility="private"/>
+ <ownedAttribute xmi:id="_TPP0QLM9EeOedMT5QMT8fQ" name="class2" visibility="private" type="_RwLOMLM9EeOedMT5QMT8fQ" association="_TPGDQLM9EeOedMT5QMT8fQ">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WILJMLM9EeOedMT5QMT8fQ" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WILJMbM9EeOedMT5QMT8fQ" value="1"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_OfmOQLM9EeOedMT5QMT8fQ" name="Operation1"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_TPGDQLM9EeOedMT5QMT8fQ" name="" memberEnd="_TPP0QLM9EeOedMT5QMT8fQ _TPP0Q7M9EeOedMT5QMT8fQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_RwLOMLM9EeOedMT5QMT8fQ" name="Class2">
+ <ownedAttribute xmi:id="_TPP0Q7M9EeOedMT5QMT8fQ" name="class1" visibility="private" type="_KoojwLM9EeOedMT5QMT8fQ" association="_TPGDQLM9EeOedMT5QMT8fQ">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WIU6MLM9EeOedMT5QMT8fQ" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WIU6MbM9EeOedMT5QMT8fQ" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_rrh88LM9EeOedMT5QMT8fQ" name="Class1">
+ <ownedAttribute xmi:id="_vmNp0bM9EeOedMT5QMT8fQ" name="class3" visibility="private" type="_sgDKILM9EeOedMT5QMT8fQ" association="_vmNp0LM9EeOedMT5QMT8fQ">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vmNp07M9EeOedMT5QMT8fQ" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vmNp0rM9EeOedMT5QMT8fQ" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_sgDKILM9EeOedMT5QMT8fQ" name="Class3">
+ <ownedAttribute xmi:id="_vmNp1LM9EeOedMT5QMT8fQ" name="class1" visibility="private" type="_rrh88LM9EeOedMT5QMT8fQ" association="_vmNp0LM9EeOedMT5QMT8fQ">
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vmNp1rM9EeOedMT5QMT8fQ" value="1"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vmNp1bM9EeOedMT5QMT8fQ" value="1"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="_taNsULM9EeOedMT5QMT8fQ" name="OperationClass31"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_vmNp0LM9EeOedMT5QMT8fQ" name="" memberEnd="_vmNp0bM9EeOedMT5QMT8fQ _vmNp1LM9EeOedMT5QMT8fQ"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_ReW1YLmTEeOxHvnUw-zqDQ" name="Class4">
+ <eAnnotations xmi:id="_Rey6QLmTEeOxHvnUw-zqDQ" source="uml2.diagrams">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_Rey6QbmTEeOxHvnUw-zqDQ" type="Structure" element="_ReW1YLmTEeOxHvnUw-zqDQ" measurementUnit="Himetric">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_Rey6QrmTEeOxHvnUw-zqDQ" type="StructureDiagramFrame" element="_ReW1YLmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_Rey6Q7mTEeOxHvnUw-zqDQ" type="StructureCompartment">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_V1micrmTEeOxHvnUw-zqDQ" element="_V1micbmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" showListVisibility="None" showListSignature="true" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <eAnnotations xmi:id="_V1midLmTEeOxHvnUw-zqDQ" source="com.ibm.xtools.uml.ui.diagram.internal.styles">
+ <details xmi:id="_V1wTcLmTEeOxHvnUw-zqDQ" key="ShowTypeLabelStyle" value="Represents Name and Type Name"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_V1wTcbmTEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_V1wTcrmTEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_V1wTc7mTEeOxHvnUw-zqDQ" type="PartTextCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_V1wTdLmTEeOxHvnUw-zqDQ" visible="false" type="PartStructureCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V1mic7mTEeOxHvnUw-zqDQ" x="2877" y="2692"/>
+ </children>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Rey6RLmTEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_UAhQILmTEeOxHvnUw-zqDQ" element="_UAXfILmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" showListVisibility="None" showListSignature="true" fillColor="16116705" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <eAnnotations xmi:id="_UAhQIrmTEeOxHvnUw-zqDQ" source="com.ibm.xtools.uml.ui.diagram.internal.styles">
+ <details xmi:id="_UAhQI7mTEeOxHvnUw-zqDQ" key="ShowTypeLabelStyle" value="Represents Name and Type Name"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_UAhQJLmTEeOxHvnUw-zqDQ" type="PortName">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_UAhQJrmTEeOxHvnUw-zqDQ" type="PartTextCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UAhQJbmTEeOxHvnUw-zqDQ" y="-133"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UAhQIbmTEeOxHvnUw-zqDQ" x="15611" y="3175"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rey6RbmTEeOxHvnUw-zqDQ" x="793" y="793" height="9498"/>
+ </children>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_Xeo80LmTEeOxHvnUw-zqDQ" element="_XeWB4LmTEeOxHvnUw-zqDQ" source="_V1micrmTEeOxHvnUw-zqDQ" target="_UAhQILmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Xeo80rmTEeOxHvnUw-zqDQ" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Xeo81LmTEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Xeo81bmTEeOxHvnUw-zqDQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xeo807mTEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Xeo81rmTEeOxHvnUw-zqDQ" visible="false" type="ToMultiplicityLabel" element="_XefL0bmTEeOxHvnUw-zqDQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Xeo82LmTEeOxHvnUw-zqDQ" type="ToMultiplicity"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Xeo817mTEeOxHvnUw-zqDQ" y="396"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Xeo82bmTEeOxHvnUw-zqDQ" visible="false" type="FromMultiplicityLabel" element="_XefL0LmTEeOxHvnUw-zqDQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Xeo827mTEeOxHvnUw-zqDQ" type="FromMultiplicity"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Xeo82rmTEeOxHvnUw-zqDQ" y="396"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xeo80bmTEeOxHvnUw-zqDQ" points="[-1781, 543, -10724, 1284]$[-1781, 1376, -10724, 2117]$[8282, 1376, -661, 2117]$[8282, -767, -661, -26]$[8705, -767, -238, -26]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xe73wLmTEeOxHvnUw-zqDQ" id="(0.920623671155209,0.5211640211640212)"/>
+ </edges>
+ </contents>
+ </eAnnotations>
+ <ownedAttribute xmi:type="uml:Port" xmi:id="_UAXfILmTEeOxHvnUw-zqDQ" name="class1" type="_rrh88LM9EeOedMT5QMT8fQ" aggregation="composite"/>
+ <ownedAttribute xmi:id="_V1micbmTEeOxHvnUw-zqDQ" name="component" visibility="private" type="_V1micLmTEeOxHvnUw-zqDQ" aggregation="composite"/>
+ <ownedConnector xmi:id="_XeWB4LmTEeOxHvnUw-zqDQ" name="Connector" kind="delegation">
+ <end xmi:id="_XefL0LmTEeOxHvnUw-zqDQ" role="_V1micbmTEeOxHvnUw-zqDQ"/>
+ <end xmi:id="_XefL0bmTEeOxHvnUw-zqDQ" role="_UAXfILmTEeOxHvnUw-zqDQ"/>
+ </ownedConnector>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Component" xmi:id="_V1micLmTEeOxHvnUw-zqDQ" name="component"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_m6NS8LmTEeOxHvnUw-zqDQ" name="Class5"/>
+ <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_m6NS8bmTEeOxHvnUw-zqDQ" name="Class5Instance" classifier="_m6NS8LmTEeOxHvnUw-zqDQ"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_n9mpoLmTEeOxHvnUw-zqDQ" name="Class6"/>
+ <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_n9waoLmTEeOxHvnUw-zqDQ" name="Class6Instance" classifier="_n9mpoLmTEeOxHvnUw-zqDQ"/>
+ <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_qBIAkLmTEeOxHvnUw-zqDQ" name="InstanceSpecification1"/>
+ <packagedElement xmi:type="uml:Device" xmi:id="_uFem0LmTEeOxHvnUw-zqDQ" name="Device1"/>
+ <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_uFem0bmTEeOxHvnUw-zqDQ" name="Device1Instance" classifier="_uFem0LmTEeOxHvnUw-zqDQ"/>
+ <packagedElement xmi:type="uml:Signal" xmi:id="_2bR0ILmTEeOxHvnUw-zqDQ" name="Signal1"/>
+ <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_2bR0IbmTEeOxHvnUw-zqDQ" name="Signal1Instance" classifier="_2bR0ILmTEeOxHvnUw-zqDQ"/>
+ <packagedElement xmi:type="uml:Activity" xmi:id="_8QtWcLmTEeOxHvnUw-zqDQ" name="Activity1">
+ <eAnnotations xmi:id="_8RARYLmTEeOxHvnUw-zqDQ" source="uml2.diagrams">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_8RARYbmTEeOxHvnUw-zqDQ" type="Activity" element="_8QtWcLmTEeOxHvnUw-zqDQ" name="ActivityDiagram1" measurementUnit="Himetric">
+ <children xmi:type="umlnotation:UMLFrame" xmi:id="_8RARYrmTEeOxHvnUw-zqDQ" type="Activity Frame" element="_8QtWcLmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" fillColor="16444909" transparency="23" lineColor="13121592" lineWidth="1" showStereotype="Label">
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_8RARY7mTEeOxHvnUw-zqDQ" type="ActivityCompartment">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_9LxQgLmTEeOxHvnUw-zqDQ" element="_9LoGkLmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" fillColor="15912618" transparency="0" lineColor="15912618" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_9L7BgLmTEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_9L7BgbmTEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9L7BgrmTEeOxHvnUw-zqDQ" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_9L7BhLmTEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_9L7BhbmTEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_9L7BhrmTEeOxHvnUw-zqDQ" type="Parent"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9L7Bg7mTEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9LxQgbmTEeOxHvnUw-zqDQ" x="924" y="1794"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_-p8esLmTEeOxHvnUw-zqDQ" element="_-pzUwLmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" fillColor="16116705" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-p8esrmTEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_-p8es7mTEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-p8etLmTEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-p8etbmTEeOxHvnUw-zqDQ" type="InPartitions"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-p8etrmTEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-p8et7mTEeOxHvnUw-zqDQ" type="Parent"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-p8esbmTEeOxHvnUw-zqDQ" x="5451" y="2013"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_FmfaELmUEeOxHvnUw-zqDQ" element="_FmVpELmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="15912618" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FmfaErmUEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_FmfaE7mUEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FmfaFLmUEeOxHvnUw-zqDQ" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_FmfaFrmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_FmfaF7mUEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_FmfaGLmUEeOxHvnUw-zqDQ" type="Parent"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FmfaFbmUEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FmfaEbmUEeOxHvnUw-zqDQ" x="11616" y="2965"/>
+ </children>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_8RARZLmTEeOxHvnUw-zqDQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8RARZbmTEeOxHvnUw-zqDQ" x="793" y="793"/>
+ </children>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8RARZrmTEeOxHvnUw-zqDQ" name="support_hide_pins"/>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_Cd7tsLmUEeOxHvnUw-zqDQ" element="_CdyjwLmUEeOxHvnUw-zqDQ" source="_9LxQgLmTEeOxHvnUw-zqDQ" target="_-p8esLmTEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Cd7tsrmUEeOxHvnUw-zqDQ" type="ActivityEdgeLabelCompartment">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Cd7ttLmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_Cd7ttbmUEeOxHvnUw-zqDQ" type="ActivityEdgeLabel"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cd7ts7mUEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Cd7tsbmUEeOxHvnUw-zqDQ" points="[0, 264, -5770, -166]$[0, 2230, -5770, 1800]$[1671, 510, -4099, 80]$[5770, 2230, 0, 1800]$[5770, 905, 0, 475]"/>
+ </edges>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_GIG5YLmUEeOxHvnUw-zqDQ" element="_GH9vcLmUEeOxHvnUw-zqDQ" source="_-p8esLmTEeOxHvnUw-zqDQ" target="_FmfaELmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GIG5YrmUEeOxHvnUw-zqDQ" type="ActivityEdgeLabelCompartment">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_GIG5ZLmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_GIG5ZbmUEeOxHvnUw-zqDQ" type="ActivityEdgeLabel"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GIG5Y7mUEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GIG5YbmUEeOxHvnUw-zqDQ" points="[57, 7, -132, -24]$[194, 19, 5, -12]"/>
+ </edges>
+ </contents>
+ </eAnnotations>
+ <node xmi:type="uml:InitialNode" xmi:id="_9LoGkLmTEeOxHvnUw-zqDQ" outgoing="_CdyjwLmUEeOxHvnUw-zqDQ"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_-pzUwLmTEeOxHvnUw-zqDQ" name="OpaqueAction" outgoing="_GH9vcLmUEeOxHvnUw-zqDQ" incoming="_CdyjwLmUEeOxHvnUw-zqDQ"/>
+ <node xmi:type="uml:ActivityFinalNode" xmi:id="_FmVpELmUEeOxHvnUw-zqDQ" incoming="_GH9vcLmUEeOxHvnUw-zqDQ"/>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_CdyjwLmUEeOxHvnUw-zqDQ" source="_9LoGkLmTEeOxHvnUw-zqDQ" target="_-pzUwLmTEeOxHvnUw-zqDQ">
+ <guard xmi:type="uml:OpaqueExpression" xmi:id="_CdyjwbmUEeOxHvnUw-zqDQ">
+ <language></language>
+ <body></body>
+ </guard>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_CdyjwrmUEeOxHvnUw-zqDQ" value="1"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_GH9vcLmUEeOxHvnUw-zqDQ" source="_-pzUwLmTEeOxHvnUw-zqDQ" target="_FmVpELmUEeOxHvnUw-zqDQ">
+ <guard xmi:type="uml:OpaqueExpression" xmi:id="_GH9vcbmUEeOxHvnUw-zqDQ">
+ <language></language>
+ <body></body>
+ </guard>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_GH9vcrmUEeOxHvnUw-zqDQ" value="1"/>
+ </edge>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Collaboration" xmi:id="_NQG20LmUEeOxHvnUw-zqDQ" name="Collaboration1">
+ <ownedBehavior xmi:type="uml:Interaction" xmi:id="_NQZxwLmUEeOxHvnUw-zqDQ" name="Interaction1">
+ <eAnnotations xmi:id="_NQsssLmUEeOxHvnUw-zqDQ" source="uml2.diagrams" references="_NQsssbmUEeOxHvnUw-zqDQ">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_NQsssbmUEeOxHvnUw-zqDQ" type="Sequence" element="_NQZxwLmUEeOxHvnUw-zqDQ" name="SequenceDiagram1" measurementUnit="Himetric">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_NQsssrmUEeOxHvnUw-zqDQ" element="_NQZxwLmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" fillColor="16250871" transparency="0" lineColor="12632258" lineWidth="1" showStereotype="Label">
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_NQsss7mUEeOxHvnUw-zqDQ" type="interaction_compartment">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_QI4awLmUEeOxHvnUw-zqDQ" element="_QIvQ0LmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" fillColor="16116705" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <eAnnotations xmi:id="_QI4awrmUEeOxHvnUw-zqDQ" source="com.ibm.xtools.uml.ui.diagram.internal.styles">
+ <details xmi:id="_QI4aw7mUEeOxHvnUw-zqDQ" key="LifelineLabelStyle" value="Represents Name and Type Name"/>
+ </eAnnotations>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_QI4axLmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_QI4axbmUEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_QI4axrmUEeOxHvnUw-zqDQ" type="Parent"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QI4awbmUEeOxHvnUw-zqDQ" x="3243" y="317" width="1799" height="9525"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_PHt4sLmUEeOxHvnUw-zqDQ" element="_PHa9wLmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" fillColor="16116705" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <eAnnotations xmi:id="_PHt4srmUEeOxHvnUw-zqDQ" source="com.ibm.xtools.uml.ui.diagram.internal.styles">
+ <details xmi:id="_PHt4s7mUEeOxHvnUw-zqDQ" key="LifelineLabelStyle" value="Represents Name and Type Name"/>
+ </eAnnotations>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_PHt4tLmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_PHt4tbmUEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_PHt4trmUEeOxHvnUw-zqDQ" type="Parent"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PHt4sbmUEeOxHvnUw-zqDQ" x="264"/>
+ </children>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_NQsstLmUEeOxHvnUw-zqDQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NQsstbmUEeOxHvnUw-zqDQ" x="793" y="793"/>
+ </children>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_SRKV4LmUEeOxHvnUw-zqDQ" element="_SQkgALmUEeOxHvnUw-zqDQ" source="_PHt4sLmUEeOxHvnUw-zqDQ" target="_QI4awLmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_SRKV4rmUEeOxHvnUw-zqDQ" type="MessageNameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_SRKV5LmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_SRKV5bmUEeOxHvnUw-zqDQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SRKV47mUEeOxHvnUw-zqDQ" y="-317"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SRKV4bmUEeOxHvnUw-zqDQ" points="[0, 0, -214, 0]$[214, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SRdQ0LmUEeOxHvnUw-zqDQ" id="18:2277"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SRdQ0bmUEeOxHvnUw-zqDQ" id="77:0"/>
+ </edges>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_TxHswLmUEeOxHvnUw-zqDQ" element="_Tw0x0LmUEeOxHvnUw-zqDQ" source="_PHt4sLmUEeOxHvnUw-zqDQ" target="_QI4awLmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TxHswrmUEeOxHvnUw-zqDQ" type="MessageNameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_TxHsxLmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_TxHsxbmUEeOxHvnUw-zqDQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TxHsw7mUEeOxHvnUw-zqDQ" y="-317"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TxHswbmUEeOxHvnUw-zqDQ" points="[0, 0, -214, 0]$[214, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TxRdwLmUEeOxHvnUw-zqDQ" id="91:1878"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TxRdwbmUEeOxHvnUw-zqDQ" id="153:0"/>
+ </edges>
+ </contents>
+ </eAnnotations>
+ <ownedConnector xmi:id="_SQkgBrmUEeOxHvnUw-zqDQ">
+ <end xmi:id="_SQkgB7mUEeOxHvnUw-zqDQ" role="_PHkuwLmUEeOxHvnUw-zqDQ"/>
+ <end xmi:id="_SQkgCLmUEeOxHvnUw-zqDQ" role="_QIvQ0bmUEeOxHvnUw-zqDQ"/>
+ </ownedConnector>
+ <lifeline xmi:id="_PHa9wLmUEeOxHvnUw-zqDQ" name="activity" represents="_PHkuwLmUEeOxHvnUw-zqDQ" coveredBy="_SQkgAbmUEeOxHvnUw-zqDQ _Tw0x0bmUEeOxHvnUw-zqDQ _Tw0x1rmUEeOxHvnUw-zqDQ"/>
+ <lifeline xmi:id="_QIvQ0LmUEeOxHvnUw-zqDQ" name="Property" represents="_QIvQ0bmUEeOxHvnUw-zqDQ" coveredBy="_SQkgArmUEeOxHvnUw-zqDQ _SQkgA7mUEeOxHvnUw-zqDQ _SQkgBbmUEeOxHvnUw-zqDQ _Tw0x0rmUEeOxHvnUw-zqDQ _Tw0x07mUEeOxHvnUw-zqDQ _Tw0x1LmUEeOxHvnUw-zqDQ"/>
+ <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_SQkgAbmUEeOxHvnUw-zqDQ" covered="_PHa9wLmUEeOxHvnUw-zqDQ" message="_SQkgALmUEeOxHvnUw-zqDQ"/>
+ <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_SQkgArmUEeOxHvnUw-zqDQ" covered="_QIvQ0LmUEeOxHvnUw-zqDQ" message="_SQkgALmUEeOxHvnUw-zqDQ"/>
+ <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_SQkgA7mUEeOxHvnUw-zqDQ" covered="_QIvQ0LmUEeOxHvnUw-zqDQ" start="_SQkgArmUEeOxHvnUw-zqDQ" finish="_SQkgBbmUEeOxHvnUw-zqDQ"/>
+ <fragment xmi:type="uml:ExecutionOccurrenceSpecification" xmi:id="_SQkgBbmUEeOxHvnUw-zqDQ" covered="_QIvQ0LmUEeOxHvnUw-zqDQ" event="_SQkgBLmUEeOxHvnUw-zqDQ" execution="_SQkgA7mUEeOxHvnUw-zqDQ"/>
+ <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_Tw0x0bmUEeOxHvnUw-zqDQ" covered="_PHa9wLmUEeOxHvnUw-zqDQ" message="_Tw0x0LmUEeOxHvnUw-zqDQ"/>
+ <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_Tw0x0rmUEeOxHvnUw-zqDQ" covered="_QIvQ0LmUEeOxHvnUw-zqDQ" message="_Tw0x0LmUEeOxHvnUw-zqDQ"/>
+ <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_Tw0x07mUEeOxHvnUw-zqDQ" covered="_QIvQ0LmUEeOxHvnUw-zqDQ" start="_Tw0x0rmUEeOxHvnUw-zqDQ" finish="_Tw0x1LmUEeOxHvnUw-zqDQ"/>
+ <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_Tw0x1LmUEeOxHvnUw-zqDQ" covered="_QIvQ0LmUEeOxHvnUw-zqDQ" message="_Tw0x1bmUEeOxHvnUw-zqDQ"/>
+ <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_Tw0x1rmUEeOxHvnUw-zqDQ" covered="_PHa9wLmUEeOxHvnUw-zqDQ" message="_Tw0x1bmUEeOxHvnUw-zqDQ"/>
+ <message xmi:id="_SQkgALmUEeOxHvnUw-zqDQ" name="\Unspecified\" messageSort="asynchCall" receiveEvent="_SQkgArmUEeOxHvnUw-zqDQ" sendEvent="_SQkgAbmUEeOxHvnUw-zqDQ" connector="_SQkgBrmUEeOxHvnUw-zqDQ"/>
+ <message xmi:id="_Tw0x0LmUEeOxHvnUw-zqDQ" name="\Unspecified\" receiveEvent="_Tw0x0rmUEeOxHvnUw-zqDQ" sendEvent="_Tw0x0bmUEeOxHvnUw-zqDQ" connector="_SQkgBrmUEeOxHvnUw-zqDQ"/>
+ <message xmi:id="_Tw0x1bmUEeOxHvnUw-zqDQ" name="\Unspecified\" messageSort="reply" receiveEvent="_Tw0x1rmUEeOxHvnUw-zqDQ" sendEvent="_Tw0x1LmUEeOxHvnUw-zqDQ" connector="_SQkgBrmUEeOxHvnUw-zqDQ"/>
+ </ownedBehavior>
+ <ownedAttribute xmi:id="_PHkuwLmUEeOxHvnUw-zqDQ" name="activity" type="_OpXv0LmUEeOxHvnUw-zqDQ"/>
+ <ownedAttribute xmi:id="_QIvQ0bmUEeOxHvnUw-zqDQ" name="Property"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_OpXv0LmUEeOxHvnUw-zqDQ" name="activity"/>
+ <packagedElement xmi:type="uml:ExecutionEvent" xmi:id="_SQkgBLmUEeOxHvnUw-zqDQ" name="ExecutionEvent1"/>
+ <packagedElement xmi:type="uml:StateMachine" xmi:id="_WGV3sLmUEeOxHvnUw-zqDQ" name="StateMachine1">
+ <eAnnotations xmi:id="_WG8UoLmUEeOxHvnUw-zqDQ" source="uml2.diagrams">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_WG8UobmUEeOxHvnUw-zqDQ" type="Statechart" element="_WGV3sLmUEeOxHvnUw-zqDQ" measurementUnit="Himetric">
+ <children xmi:type="umlnotation:UMLFrame" xmi:id="_WG8UormUEeOxHvnUw-zqDQ" type="Statemachine" element="_WGV3sLmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" fillColor="16250871" transparency="0" lineColor="12632258" lineWidth="1" showStereotype="Label" alignment="Horizontal">
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_WG8Uo7mUEeOxHvnUw-zqDQ" type="Region" element="_WGfosLmUEeOxHvnUw-zqDQ">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_YT-z8LmUEeOxHvnUw-zqDQ" element="_YT1C8LmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" fillColor="15912618" transparency="0" lineColor="15912618" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_YT-z8rmUEeOxHvnUw-zqDQ" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_YT-z9LmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_YT-z9bmUEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_YT-z9rmUEeOxHvnUw-zqDQ" type="Parent"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YT-z87mUEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YT-z8bmUEeOxHvnUw-zqDQ" x="2026" y="1827"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_YtHssLmUEeOxHvnUw-zqDQ" element="_Ys97sLmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="15912618" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_YtHssrmUEeOxHvnUw-zqDQ" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_YtHstLmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_YtHstbmUEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_YtHstrmUEeOxHvnUw-zqDQ" type="Parent"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YtHss7mUEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YtHssbmUEeOxHvnUw-zqDQ" x="11312" y="1933"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_ZA6LYbmUEeOxHvnUw-zqDQ" element="_ZA6LYLmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZA6LY7mUEeOxHvnUw-zqDQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_ZA6LZLmUEeOxHvnUw-zqDQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_ZA6LZbmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_ZA6LZrmUEeOxHvnUw-zqDQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_ZA6LZ7mUEeOxHvnUw-zqDQ" type="Parent"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_ZA6LaLmUEeOxHvnUw-zqDQ" visible="false" type="Activities"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_ZBDVULmUEeOxHvnUw-zqDQ" visible="false" type="InternalTransitionCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZA6LYrmUEeOxHvnUw-zqDQ" x="5809" y="3335"/>
+ </children>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_WG8UpLmUEeOxHvnUw-zqDQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WG8UpbmUEeOxHvnUw-zqDQ" x="793" y="793"/>
+ </children>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_ZsMkELmUEeOxHvnUw-zqDQ" element="_Zr5pILmUEeOxHvnUw-zqDQ" source="_YT-z8LmUEeOxHvnUw-zqDQ" target="_ZA6LYbmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZsMkErmUEeOxHvnUw-zqDQ" type="TransitionLabelCompartment">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_ZsMkFLmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_ZsMkFbmUEeOxHvnUw-zqDQ" type="TransitionLabel"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_ZsMkFrmUEeOxHvnUw-zqDQ" type="Triggers"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZsMkE7mUEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZsMkEbmUEeOxHvnUw-zqDQ" points="[413, 186, -4349, -1771]$[1587, 714, -3175, -1243]$[2196, 2487, -2566, 530]$[3704, 2175, -1058, 218]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZsWVELmUEeOxHvnUw-zqDQ" id="(0.14933837429111532,0.4007561436672968)"/>
+ </edges>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_dnCB8LmUEeOxHvnUw-zqDQ" element="_dm44ALmUEeOxHvnUw-zqDQ" source="_ZA6LYbmUEeOxHvnUw-zqDQ" target="_YtHssLmUEeOxHvnUw-zqDQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_dnCB8rmUEeOxHvnUw-zqDQ" type="TransitionLabelCompartment">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_dnCB9LmUEeOxHvnUw-zqDQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_dnCB9bmUEeOxHvnUw-zqDQ" type="TransitionLabel"/>
+ <children xmi:type="notation:ListCompartment" xmi:id="_dnCB9rmUEeOxHvnUw-zqDQ" type="Triggers"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dnCB87mUEeOxHvnUw-zqDQ" y="-186"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dnCB8bmUEeOxHvnUw-zqDQ" points="[40, -15, -141, 50]$[180, -77, -1, -12]"/>
+ </edges>
+ </contents>
+ </eAnnotations>
+ <region xmi:id="_WGfosLmUEeOxHvnUw-zqDQ" name="Region1">
+ <subvertex xmi:type="uml:Pseudostate" xmi:id="_YT1C8LmUEeOxHvnUw-zqDQ"/>
+ <subvertex xmi:type="uml:FinalState" xmi:id="_Ys97sLmUEeOxHvnUw-zqDQ"/>
+ <subvertex xmi:type="uml:State" xmi:id="_ZA6LYLmUEeOxHvnUw-zqDQ" name="State1"/>
+ <transition xmi:id="_Zr5pILmUEeOxHvnUw-zqDQ" name="test" source="_YT1C8LmUEeOxHvnUw-zqDQ" target="_ZA6LYLmUEeOxHvnUw-zqDQ">
+ <eAnnotations xmi:id="_Zr5pIbmUEeOxHvnUw-zqDQ" source="uml2.alias">
+ <details xmi:id="_Zr5pIrmUEeOxHvnUw-zqDQ" key="Initial"/>
+ </eAnnotations>
+ </transition>
+ <transition xmi:id="_dm44ALmUEeOxHvnUw-zqDQ" source="_ZA6LYLmUEeOxHvnUw-zqDQ" target="_Ys97sLmUEeOxHvnUw-zqDQ"/>
+ </region>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_LZNxMLmVEeOxHvnUw-zqDQ" name="Package2">
+ <eAnnotations xmi:id="_LZOYQLmVEeOxHvnUw-zqDQ" source="uml2.diagrams" references="_LZOYQbmVEeOxHvnUw-zqDQ">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_LZOYQbmVEeOxHvnUw-zqDQ" type="Freeform" name="Main">
+ <element xsi:nil="true"/>
+ </contents>
+ </eAnnotations>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_N0AYoLmVEeOxHvnUw-zqDQ" name="Package3" clientDependency="_P1OpgLmVEeOxHvnUw-zqDQ">
+ <eAnnotations xmi:id="_N0A_sLmVEeOxHvnUw-zqDQ" source="uml2.diagrams" references="_N0A_sbmVEeOxHvnUw-zqDQ">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_N0A_sbmVEeOxHvnUw-zqDQ" type="Freeform" name="Main">
+ <element xsi:nil="true"/>
+ </contents>
+ </eAnnotations>
+ <packagedElement xmi:type="uml:Dependency" xmi:id="_P1OpgLmVEeOxHvnUw-zqDQ" supplier="_LZNxMLmVEeOxHvnUw-zqDQ" client="_N0AYoLmVEeOxHvnUw-zqDQ"/>
+ </packagedElement>
+ <profileApplication xmi:id="_CpI9pbM9EeOedMT5QMT8fQ">
+ <eAnnotations xmi:id="_CpI9prM9EeOedMT5QMT8fQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Standard.profile.uml#_yzU58YinEdqtvbnfB2L_5w"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+ <profileApplication xmi:id="_CpI9p7M9EeOedMT5QMT8fQ">
+ <eAnnotations xmi:id="_CpI9qLM9EeOedMT5QMT8fQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML2_MSL_PROFILES/Default.epx#_fNwoAAqoEd6-N_NOT9vsCA?Default/Default?"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default?"/>
+ </profileApplication>
+ <profileApplication xmi:id="_CpI9qbM9EeOedMT5QMT8fQ">
+ <eAnnotations xmi:id="_CpI9qrM9EeOedMT5QMT8fQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_IrdAUMmBEdqBcN1R6EvWUw?Deployment/Deployment?"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment?"/>
+ </profileApplication>
+</uml:Package>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/Profile.epx b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/Profile.epx
new file mode 100644
index 00000000000..b0def6c7841
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/resources/Profile.epx
@@ -0,0 +1,499 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--xtools2_universal_type_manager-->
+<?com.ibm.xtools.emf.core.signature <signature id="com.ibm.xtools.uml.msl.profile" version="7.0.0"><feature description="" name="com.ibm.xtools.ruml.feature" url="" version="7.0.0"/></signature>?>
+<uml:Profile xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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/3.0.0/UML" xmlns:umlnotation="http://www.ibm.com/xtools/1.5.3/Umlnotation" xmi:id="_S0ev0JpPEeOk3ovACNQDQQ" name="Profile" metamodelReference="_S0jBQZpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_S0og0JpPEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_Q88J8ZpQEeOk3ovACNQDQQ" name="Profile" nsURI="http:///schemas/Profile/_Q88J8JpQEeOk3ovACNQDQQ/3" nsPrefix="Profile">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q88J8ppQEeOk3ovACNQDQQ" name="Participant">
+ <eAnnotations xmi:id="_Q88J85pQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_2w-zYJpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q88J9JpQEeOk3ovACNQDQQ" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q88J9ppQEeOk3ovACNQDQQ" name="Agent" eSuperTypes="_Q88J8ppQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_Q88J95pQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_5dk8gJpPEeOk3ovACNQDQQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q88J-ZpQEeOk3ovACNQDQQ" name="Stereotype1">
+ <eAnnotations xmi:id="_Q88J-ppQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_97pqUJpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q88J-5pQEeOk3ovACNQDQQ" name="base_Port" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Port"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q88J_ZpQEeOk3ovACNQDQQ" name="Stereotype2">
+ <eAnnotations xmi:id="_Q88J_ppQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-TEr0JpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q88J_5pQEeOk3ovACNQDQQ" name="base_Port" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Port"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_Q88KAZpQEeOk3ovACNQDQQ" name="TESt" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q88KA5pQEeOk3ovACNQDQQ" name="Stereotype3">
+ <eAnnotations xmi:id="_Q88KBJpQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-pIbYJpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q88KBZpQEeOk3ovACNQDQQ" name="base_Port" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Port"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_Q88KB5pQEeOk3ovACNQDQQ" name="Stereotype4">
+ <eAnnotations xmi:id="_Q88KCJpQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_D_RZoJpQEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q88KCZpQEeOk3ovACNQDQQ" name="base_Interface" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Interface"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_Q88KC5pQEeOk3ovACNQDQQ" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_P77Y4ZpQEeOk3ovACNQDQQ" name="Profile" nsURI="http:///schemas/Profile/_P77Y4JpQEeOk3ovACNQDQQ/2" nsPrefix="Profile">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_P77Y4ppQEeOk3ovACNQDQQ" name="Participant">
+ <eAnnotations xmi:id="_P77Y45pQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_2w-zYJpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_P77Y5JpQEeOk3ovACNQDQQ" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_P77Y5ppQEeOk3ovACNQDQQ" name="Agent" eSuperTypes="_P77Y4ppQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_P77Y55pQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_5dk8gJpPEeOk3ovACNQDQQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_P77_8JpQEeOk3ovACNQDQQ" name="Stereotype1">
+ <eAnnotations xmi:id="_P77_8ZpQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_97pqUJpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_P77_8ppQEeOk3ovACNQDQQ" name="base_Port" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Port"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_P77_9JpQEeOk3ovACNQDQQ" name="Stereotype2">
+ <eAnnotations xmi:id="_P77_9ZpQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-TEr0JpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_P77_9ppQEeOk3ovACNQDQQ" name="base_Port" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Port"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_P77_-JpQEeOk3ovACNQDQQ" name="TESt" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_P77_-ppQEeOk3ovACNQDQQ" name="Stereotype3">
+ <eAnnotations xmi:id="_P77_-5pQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-pIbYJpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_P77__JpQEeOk3ovACNQDQQ" name="base_Port" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Port"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_P77__ppQEeOk3ovACNQDQQ" name="Stereotype4">
+ <eAnnotations xmi:id="_P77__5pQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_D_RZoJpQEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_P78AAJpQEeOk3ovACNQDQQ" name="base_Interface" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Interface"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_P78AAppQEeOk3ovACNQDQQ" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_FTKDYJpQEeOk3ovACNQDQQ" name="Profile" nsURI="http:///schemas/Profile/_FTI1QJpQEeOk3ovACNQDQQ/1" nsPrefix="Profile">
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_FTKDYZpQEeOk3ovACNQDQQ" name="Participant">
+ <eAnnotations xmi:id="_FTKDYppQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_2w-zYJpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_FTKDY5pQEeOk3ovACNQDQQ" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_FTKDZZpQEeOk3ovACNQDQQ" name="Agent" eSuperTypes="_FTKDYZpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTKDZppQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_5dk8gJpPEeOk3ovACNQDQQ"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_FTKDaJpQEeOk3ovACNQDQQ" name="Stereotype1">
+ <eAnnotations xmi:id="_FTKDaZpQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_97pqUJpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_FTKDappQEeOk3ovACNQDQQ" name="base_Port" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Port"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_FTKDbJpQEeOk3ovACNQDQQ" name="Stereotype2">
+ <eAnnotations xmi:id="_FTKDbZpQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-TEr0JpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_FTKDbppQEeOk3ovACNQDQQ" name="base_Port" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Port"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_FTKDcJpQEeOk3ovACNQDQQ" name="Stereotype3">
+ <eAnnotations xmi:id="_FTKDcZpQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-pIbYJpPEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_FTKDcppQEeOk3ovACNQDQQ" name="base_Port" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Port"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_FTKDdJpQEeOk3ovACNQDQQ" name="Stereotype4">
+ <eAnnotations xmi:id="_FTKDdZpQEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_D_RZoJpQEeOk3ovACNQDQQ"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_FTKDdppQEeOk3ovACNQDQQ" name="base_Interface" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Interface"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_FTKDeJpQEeOk3ovACNQDQQ" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/3.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_S0og0ZpPEeOk3ovACNQDQQ" name="Profile" nsURI="http:///schemas/Profile/_S0n5wJpPEeOk3ovACNQDQQ/0" nsPrefix="Profile"/>
+ </eAnnotations>
+ <eAnnotations xmi:id="_UQpy4JpPEeOk3ovACNQDQQ" source="uml2.profile.diagrams">
+ <contents xmi:type="umlnotation:UMLDiagram" xmi:id="_UQpy4ZpPEeOk3ovACNQDQQ" type="Class" name="ClassDiagram1">
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_jMSrwJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_jMTS0JpPEeOk3ovACNQDQQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_jMTS0ZpPEeOk3ovACNQDQQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_jMTS0ppPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_jMT54JpPEeOk3ovACNQDQQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_jMT54ZpPEeOk3ovACNQDQQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_jMT54ppPEeOk3ovACNQDQQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_jMT545pPEeOk3ovACNQDQQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_jMUg8JpPEeOk3ovACNQDQQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_jMUg8ZpPEeOk3ovACNQDQQ" visible="false" type="StructureCompartment"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jMSrwZpPEeOk3ovACNQDQQ" x="1188" y="2640"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_kDJbQJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kDKCUJpPEeOk3ovACNQDQQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_kDKCUZpPEeOk3ovACNQDQQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_kDKCUppPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_kDKpYJpPEeOk3ovACNQDQQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_kDKpYZpPEeOk3ovACNQDQQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_kDKpYppPEeOk3ovACNQDQQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_kDKpY5pPEeOk3ovACNQDQQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_kDLQcJpPEeOk3ovACNQDQQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_kDLQcZpPEeOk3ovACNQDQQ" visible="false" type="StructureCompartment"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kDJbQZpPEeOk3ovACNQDQQ" x="14138" y="528"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_u4w58JpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_u4xhAJpPEeOk3ovACNQDQQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_u4xhAZpPEeOk3ovACNQDQQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_u4xhAppPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_u4xhA5pPEeOk3ovACNQDQQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_u4yIEJpPEeOk3ovACNQDQQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_u4yIEZpPEeOk3ovACNQDQQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_u4yIEppPEeOk3ovACNQDQQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_u4yIE5pPEeOk3ovACNQDQQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_u4yvIJpPEeOk3ovACNQDQQ" visible="false" type="StructureCompartment"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u4w58ZpPEeOk3ovACNQDQQ" x="7920" y="1452"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_xMkIkJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xMkvoJpPEeOk3ovACNQDQQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_xMkvoZpPEeOk3ovACNQDQQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_xMkvoppPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_xMlWsJpPEeOk3ovACNQDQQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_xMlWsZpPEeOk3ovACNQDQQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_xMlWsppPEeOk3ovACNQDQQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_xMlWs5pPEeOk3ovACNQDQQ" type="OperationCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_xMlWtJpPEeOk3ovACNQDQQ" visible="false" type="SignalCompartment"/>
+ <children xmi:type="umlnotation:UMLShapeCompartment" xmi:id="_xMl9wJpPEeOk3ovACNQDQQ" visible="false" type="StructureCompartment"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xMkIkZpPEeOk3ovACNQDQQ" x="20724" y="3828"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_2xBPoJpPEeOk3ovACNQDQQ" element="_2w-zYJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_2xB2sJpPEeOk3ovACNQDQQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_2xB2sZpPEeOk3ovACNQDQQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_2xB2sppPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_2xB2s5pPEeOk3ovACNQDQQ" type="Kind"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_2xB2tJpPEeOk3ovACNQDQQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_2xCdwJpPEeOk3ovACNQDQQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_2xCdwZpPEeOk3ovACNQDQQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_2xCdwppPEeOk3ovACNQDQQ" visible="false" type="OperationCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2xBPoZpPEeOk3ovACNQDQQ" x="2508" y="8844"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_5dsRQJpPEeOk3ovACNQDQQ" element="_5dk8gJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5dsRQppPEeOk3ovACNQDQQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_5dsRQ5pPEeOk3ovACNQDQQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_5ds4UJpPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_5ds4UZpPEeOk3ovACNQDQQ" type="Kind"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_5ds4UppPEeOk3ovACNQDQQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_5ds4U5pPEeOk3ovACNQDQQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_5dtfYJpPEeOk3ovACNQDQQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_5dtfYZpPEeOk3ovACNQDQQ" visible="false" type="OperationCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5dsRQZpPEeOk3ovACNQDQQ" x="1534" y="12911"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_97sGkJpPEeOk3ovACNQDQQ" element="_97pqUJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_97stoJpPEeOk3ovACNQDQQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_97stoZpPEeOk3ovACNQDQQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_97stoppPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_97tUsJpPEeOk3ovACNQDQQ" type="Kind"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_97tUsZpPEeOk3ovACNQDQQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_97tUsppPEeOk3ovACNQDQQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_97tUs5pPEeOk3ovACNQDQQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_97tUtJpPEeOk3ovACNQDQQ" visible="false" type="OperationCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_97sGkZpPEeOk3ovACNQDQQ" x="20577" y="10956"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_-THIEJpPEeOk3ovACNQDQQ" element="_-TEr0JpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-THvIJpPEeOk3ovACNQDQQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_-THvIZpPEeOk3ovACNQDQQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-THvIppPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-TIWMJpPEeOk3ovACNQDQQ" type="Kind"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-TIWMZpPEeOk3ovACNQDQQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-TIWMppPEeOk3ovACNQDQQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_-TIWM5pPEeOk3ovACNQDQQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_-TIWNJpPEeOk3ovACNQDQQ" visible="false" type="OperationCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-THIEZpPEeOk3ovACNQDQQ" x="12936" y="6732" height="2325"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_-pLesJpPEeOk3ovACNQDQQ" element="_-pIbYJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-pLesppPEeOk3ovACNQDQQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_-pLes5pPEeOk3ovACNQDQQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-pMFwJpPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-pMFwZpPEeOk3ovACNQDQQ" type="Kind"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-pMFwppPEeOk3ovACNQDQQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_-pMFw5pPEeOk3ovACNQDQQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_-pMFxJpPEeOk3ovACNQDQQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_-pMs0JpPEeOk3ovACNQDQQ" visible="false" type="OperationCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-pLesZpPEeOk3ovACNQDQQ" x="16368" y="11352"/>
+ </children>
+ <children xmi:type="umlnotation:UMLShape" xmi:id="_D_VEAJpQEeOk3ovACNQDQQ" element="_D_RZoJpQEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" transparency="0" lineColor="14263149" lineWidth="1" showStereotype="Label">
+ <children xmi:type="notation:DecorationNode" xmi:id="_D_VrEJpQEeOk3ovACNQDQQ" type="ImageCompartment">
+ <layoutConstraint xmi:type="notation:Size" xmi:id="_D_VrEZpQEeOk3ovACNQDQQ" width="1320" height="1320"/>
+ </children>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_D_VrEppQEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_D_VrE5pQEeOk3ovACNQDQQ" type="Kind"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_D_WSIJpQEeOk3ovACNQDQQ" type="Name"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_D_WSIZpQEeOk3ovACNQDQQ" type="Parent"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_D_WSIppQEeOk3ovACNQDQQ" type="AttributeCompartment"/>
+ <children xmi:type="notation:SemanticListCompartment" xmi:id="_D_W5MJpQEeOk3ovACNQDQQ" visible="false" type="OperationCompartment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D_VEAZpQEeOk3ovACNQDQQ" x="8678" y="7699"/>
+ </children>
+ <element xsi:nil="true"/>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_7iBggJpPEeOk3ovACNQDQQ" element="_7h49oJpPEeOk3ovACNQDQQ" source="_2xBPoJpPEeOk3ovACNQDQQ" target="_jMSrwJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7iBggppPEeOk3ovACNQDQQ" visible="false" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_7iCHkJpPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_7iCHkZpPEeOk3ovACNQDQQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7iBgg5pPEeOk3ovACNQDQQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7iCHkppPEeOk3ovACNQDQQ" type="ToMultiplicityLabel" element="_7h5ksZpPEeOk3ovACNQDQQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_7iCHlJpPEeOk3ovACNQDQQ" type="ExtensionRequired"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7iCHk5pPEeOk3ovACNQDQQ" y="396"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7iBggZpPEeOk3ovACNQDQQ" points="[-2, -22, 1, 150]$[-2, -111, 1, 61]"/>
+ </edges>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_8PLhcJpPEeOk3ovACNQDQQ" element="_8PIeIJpPEeOk3ovACNQDQQ" source="_5dsRQJpPEeOk3ovACNQDQQ" target="_2xBPoJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8PLhcppPEeOk3ovACNQDQQ" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_8PMIgJpPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_8PMIgZpPEeOk3ovACNQDQQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8PLhc5pPEeOk3ovACNQDQQ" y="-186"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8PLhcZpPEeOk3ovACNQDQQ" points="[7, -22, -31, 117]$[41, -117, 3, 22]"/>
+ </edges>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="__x7PcJpPEeOk3ovACNQDQQ" element="__x1I0JpPEeOk3ovACNQDQQ" source="_-pLesJpPEeOk3ovACNQDQQ" target="_xMkIkJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="__x7PcppPEeOk3ovACNQDQQ" visible="false" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="__x7PdJpPEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="__x72gJpPEeOk3ovACNQDQQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__x7Pc5pPEeOk3ovACNQDQQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__x72gZpPEeOk3ovACNQDQQ" type="ToMultiplicityLabel" element="__x1v4ZpPEeOk3ovACNQDQQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="__x72g5pPEeOk3ovACNQDQQ" type="ExtensionRequired"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__x72gppPEeOk3ovACNQDQQ" y="396"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__x7PcZpPEeOk3ovACNQDQQ" points="[24, -22, -163, 136]$[111, -112, -76, 46]"/>
+ </edges>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_AUfJ8JpQEeOk3ovACNQDQQ" element="_AUZqYJpQEeOk3ovACNQDQQ" source="_-THIEJpPEeOk3ovACNQDQQ" target="_xMkIkJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AUfxAJpQEeOk3ovACNQDQQ" visible="false" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_AUfxAppQEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_AUfxA5pQEeOk3ovACNQDQQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AUfxAZpQEeOk3ovACNQDQQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AUgYEJpQEeOk3ovACNQDQQ" type="ToMultiplicityLabel" element="_AUaRcZpQEeOk3ovACNQDQQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_AUgYEppQEeOk3ovACNQDQQ" type="ExtensionRequired"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AUgYEZpQEeOk3ovACNQDQQ" y="396"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AUfJ8ZpQEeOk3ovACNQDQQ" points="[45, -22, -284, 143]$[245, -119, -84, 46]"/>
+ </edges>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_BRrK8JpQEeOk3ovACNQDQQ" element="_BRlrYJpQEeOk3ovACNQDQQ" source="_97sGkJpPEeOk3ovACNQDQQ" target="_xMkIkJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_BRrK8ppQEeOk3ovACNQDQQ" visible="false" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_BRrK9JpQEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_BRryAJpQEeOk3ovACNQDQQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BRrK85pQEeOk3ovACNQDQQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_BRryAZpQEeOk3ovACNQDQQ" type="ToMultiplicityLabel" element="_BRlrYppQEeOk3ovACNQDQQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_BRryA5pQEeOk3ovACNQDQQ" type="ExtensionRequired"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BRryAppQEeOk3ovACNQDQQ" y="396"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BRrK8ZpQEeOk3ovACNQDQQ" points="[47, -15, -428, 147]$[485, -116, 10, 46]"/>
+ </edges>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_EX2RsJpQEeOk3ovACNQDQQ" element="_EXwLEJpQEeOk3ovACNQDQQ" source="_D_VEAJpQEeOk3ovACNQDQQ" target="_u4w58JpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_EX2RsppQEeOk3ovACNQDQQ" visible="false" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_EX2RtJpQEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_EX24wJpQEeOk3ovACNQDQQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EX2Rs5pQEeOk3ovACNQDQQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EX24wZpQEeOk3ovACNQDQQ" type="ToMultiplicityLabel" element="_EXwyIZpQEeOk3ovACNQDQQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_EX24w5pQEeOk3ovACNQDQQ" type="ExtensionRequired"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EX24wppQEeOk3ovACNQDQQ" y="396"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EX2RsZpQEeOk3ovACNQDQQ" points="[-6, -22, -9, 175]$[-6, -160, -9, 37]"/>
+ </edges>
+ <edges xmi:type="umlnotation:UMLConnector" xmi:id="_E3cXwJpQEeOk3ovACNQDQQ" element="_E3WRIJpQEeOk3ovACNQDQQ" source="_D_VEAJpQEeOk3ovACNQDQQ" target="_kDJbQJpPEeOk3ovACNQDQQ" fontName="Segoe UI" fontHeight="8" roundedBendpointsRadius="4" routing="Rectilinear" lineColor="8421504" lineWidth="1" showStereotype="Text">
+ <children xmi:type="notation:DecorationNode" xmi:id="_E3c-0JpQEeOk3ovACNQDQQ" visible="false" type="NameLabel">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_E3c-0ppQEeOk3ovACNQDQQ" type="Stereotype"/>
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_E3c-05pQEeOk3ovACNQDQQ" type="Name"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_E3c-0ZpQEeOk3ovACNQDQQ" y="-186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_E3dl4JpQEeOk3ovACNQDQQ" type="ToMultiplicityLabel" element="_E3W4MZpQEeOk3ovACNQDQQ">
+ <children xmi:type="notation:BasicDecorationNode" xmi:id="_E3dl4ppQEeOk3ovACNQDQQ" type="ExtensionRequired"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_E3dl4ZpQEeOk3ovACNQDQQ" y="396"/>
+ </children>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_E3cXwZpQEeOk3ovACNQDQQ" points="[25, -22, -200, 183]$[169, -144, -56, 61]"/>
+ </edges>
+ </contents>
+ </eAnnotations>
+ <packageImport xmi:id="_S0jBQJpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTKqcJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTKqcZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:id="_S0jBQZpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTKqcppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTKqc5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_2w-zYJpPEeOk3ovACNQDQQ" name="Participant">
+ <eAnnotations xmi:id="_FTKqdJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTKqdZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedAttribute xmi:id="_7h5ksZpPEeOk3ovACNQDQQ" name="base_Class" association="_7h49oJpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTLRgJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTLRgZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_5dk8gJpPEeOk3ovACNQDQQ" name="Agent">
+ <eAnnotations xmi:id="_FTLRgppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTLRg5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <generalization xmi:id="_8PIeIJpPEeOk3ovACNQDQQ" general="_2w-zYJpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTLRhJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTLRhZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </generalization>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_7h49oJpPEeOk3ovACNQDQQ" name="Class_Participant" memberEnd="_7h5ksJpPEeOk3ovACNQDQQ _7h5ksZpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTLRhppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTLRh5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_7h5ksJpPEeOk3ovACNQDQQ" name="extension_Participant" type="_2w-zYJpPEeOk3ovACNQDQQ" aggregation="composite" association="_7h49oJpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTLRiJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTLRiZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_97pqUJpPEeOk3ovACNQDQQ" name="Stereotype1">
+ <eAnnotations xmi:id="_FTLRippQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTLRi5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedAttribute xmi:id="_BRlrYppQEeOk3ovACNQDQQ" name="base_Port" association="_BRlrYJpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTLRjJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTLRjZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_-TEr0JpPEeOk3ovACNQDQQ" name="Stereotype2">
+ <eAnnotations xmi:id="_FTLRjppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTLRj5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedAttribute xmi:id="_AUaRcZpQEeOk3ovACNQDQQ" name="base_Port" association="_AUZqYJpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTLRkJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTLRkZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_ISrvkJpQEeOk3ovACNQDQQ" name="TESt" visibility="public">
+ <eAnnotations xmi:id="_P78nAJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_P78nAZpQEeOk3ovACNQDQQ" key="addedInVersion" value="2"/>
+ </eAnnotations>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_-pIbYJpPEeOk3ovACNQDQQ" name="Stereotype3">
+ <eAnnotations xmi:id="_FTL4kJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTL4kZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedAttribute xmi:id="__x1v4ZpPEeOk3ovACNQDQQ" name="base_Port" association="__x1I0JpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTL4kppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTL4k5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="__x1I0JpPEeOk3ovACNQDQQ" name="Port_Stereotype3" memberEnd="__x1v4JpPEeOk3ovACNQDQQ __x1v4ZpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTL4lJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTL4lZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="__x1v4JpPEeOk3ovACNQDQQ" name="extension_Stereotype3" type="_-pIbYJpPEeOk3ovACNQDQQ" aggregation="composite" association="__x1I0JpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTL4lppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTL4l5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_AUZqYJpQEeOk3ovACNQDQQ" name="Port_Stereotype2" memberEnd="_AUaRcJpQEeOk3ovACNQDQQ _AUaRcZpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTL4mJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTL4mZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_AUaRcJpQEeOk3ovACNQDQQ" name="extension_Stereotype2" type="_-TEr0JpPEeOk3ovACNQDQQ" aggregation="composite" association="_AUZqYJpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTL4mppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTL4m5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_BRlrYJpQEeOk3ovACNQDQQ" name="Port_Stereotype1" memberEnd="_BRlrYZpQEeOk3ovACNQDQQ _BRlrYppQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTL4nJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTL4nZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_BRlrYZpQEeOk3ovACNQDQQ" name="extension_Stereotype1" type="_97pqUJpPEeOk3ovACNQDQQ" aggregation="composite" association="_BRlrYJpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTL4nppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTL4n5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_D_RZoJpQEeOk3ovACNQDQQ" name="Stereotype4">
+ <eAnnotations xmi:id="_FTL4oJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTL4oZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedAttribute xmi:id="_EXwyIZpQEeOk3ovACNQDQQ" name="base_Interface" association="_EXwLEJpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTMfoJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTMfoZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_E3W4MZpQEeOk3ovACNQDQQ" name="base_Class" association="_E3WRIJpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTMfoppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTMfo5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_EXwLEJpQEeOk3ovACNQDQQ" name="Interface_Stereotype4" memberEnd="_EXwyIJpQEeOk3ovACNQDQQ _EXwyIZpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTMfpJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTMfpZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_EXwyIJpQEeOk3ovACNQDQQ" name="extension_Stereotype4" type="_D_RZoJpQEeOk3ovACNQDQQ" aggregation="composite" association="_EXwLEJpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTMfpppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTMfp5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_E3WRIJpQEeOk3ovACNQDQQ" name="Class_Stereotype4" memberEnd="_E3W4MJpQEeOk3ovACNQDQQ _E3W4MZpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTMfqJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTMfqZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_E3W4MJpQEeOk3ovACNQDQQ" name="extension_Stereotype4" type="_D_RZoJpQEeOk3ovACNQDQQ" aggregation="composite" association="_E3WRIJpQEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_FTMfqppQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTMfq5pQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ </ownedEnd>
+ </packagedElement>
+ <profileApplication xmi:id="_S0joUJpPEeOk3ovACNQDQQ">
+ <eAnnotations xmi:id="_S0joUZpPEeOk3ovACNQDQQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML2_MSL_PROFILES/ProfileBase.epx#_IfFYQMmBEdqBcN1R6EvWUw?ProfileBase/ProfileBase?"/>
+ </eAnnotations>
+ <eAnnotations xmi:id="_FTMfrJpQEeOk3ovACNQDQQ" source="uml2.extensions">
+ <details xmi:id="_FTMfrZpQEeOk3ovACNQDQQ" key="addedInVersion" value="1"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://UML2_MSL_PROFILES/ProfileBase.epx#_bFUAMdWLEdiy4IqP8whjFA?ProfileBase?"/>
+ </profileApplication>
+</uml:Profile>
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/Activator.java b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/Activator.java
new file mode 100644
index 00000000000..4bb4da9f3f4
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/Activator.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2014 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:
+ * Thibault Le Ouay (Sherpa Engineering) t.leouay@sherpa-eng.com - Initial API and implementation
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.tests;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.migration.rsa.tests"; //$NON-NLS-1$
+
+ public static LogHelper log;
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ 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/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/AllTests.java b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/AllTests.java
new file mode 100644
index 00000000000..3384279b571
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/AllTests.java
@@ -0,0 +1,26 @@
+/*****************************************************************************
+ * Copyright (c) 2014 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:
+ * Thibault Le Ouay (Sherpa Engineering) t.leouay@sherpa-eng.com - Initial API and implementation
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.tests;
+
+import org.eclipse.papyrus.migration.rsa.tests.qvt.ImportDiagramTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+
+
+@RunWith(Suite.class)
+@SuiteClasses({ ImportDiagramTest.class })
+public class AllTests {
+ //Test suite
+}
diff --git a/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/ImportDiagramTest.java b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/ImportDiagramTest.java
new file mode 100644
index 00000000000..98c1f85bf2c
--- /dev/null
+++ b/tests/junit/extraplugins/migration/org.eclipse.papyrus.migration.rsa.tests/src/org/eclipse/papyrus/migration/rsa/tests/qvt/ImportDiagramTest.java
@@ -0,0 +1,308 @@
+/*****************************************************************************
+ * Copyright (c) 2014 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:
+ * Thibault Le Ouay (Sherpa Engineering) t.leouay@sherpa-eng.com - Initial API and implementation
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr
+ *****************************************************************************/
+package org.eclipse.papyrus.migration.rsa.tests.qvt;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramWorkbenchPart;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.commands.OpenDiagramCommand;
+import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.resource.ModelMultiException;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.resource.ModelsReader;
+import org.eclipse.papyrus.infra.core.services.ExtensionServicesRegistry;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationUtils;
+import org.eclipse.papyrus.junit.utils.EditorUtils;
+import org.eclipse.papyrus.junit.utils.FilesUtils;
+import org.eclipse.papyrus.junit.utils.ProjectUtils;
+import org.eclipse.papyrus.migration.rsa.tests.Activator;
+import org.eclipse.papyrus.migration.rsa.transformation.ImportTransformation;
+import org.eclipse.papyrus.uml.diagram.common.util.DiagramEditPartsUtil;
+import org.eclipse.papyrus.uml.tools.commands.ApplyProfileCommand;
+import org.eclipse.papyrus.uml.tools.model.UmlUtils;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.resource.UMLResource;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class ImportDiagramTest {
+
+ private static IProject targetProject;
+
+ protected static IMultiDiagramEditor editor;
+
+ protected static URI fileDiagram, fileProfile;
+
+
+ @AfterClass
+ public static void dispose() throws CoreException {
+
+ IWorkbench wb = PlatformUI.getWorkbench();
+ IWorkbenchPage page = wb.getActiveWorkbenchWindow().getActivePage();
+ page.closeAllEditors(false);
+ targetProject.delete(true, new NullProgressMonitor());
+ }
+
+
+ @BeforeClass
+ public static void init() throws CoreException {
+ targetProject = ProjectUtils.createProject(Activator.PLUGIN_ID + ".testProject");
+ URI rsaDiagramModelUri = URI.createPlatformPluginURI(Activator.PLUGIN_ID + "/resources/ModelTestClass.emx", false);
+ URI rsaProfileModelUri = URI.createPlatformPluginURI(Activator.PLUGIN_ID + "/resources/Profile.epx", false);
+
+ try {
+ FilesUtils.copyFiles(targetProject, "ModelTestClass.emx", new URL(rsaDiagramModelUri.toString()));
+ FilesUtils.copyFiles(targetProject, "Profile.epx", new URL(rsaProfileModelUri.toString()));
+
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ fileDiagram = URI.createPlatformResourceURI(Activator.PLUGIN_ID + ".testProject" + "/ModelTestClass.emx", false);
+
+ ImportTransformation transfoDiagram = new ImportTransformation(fileDiagram) {
+
+ /**
+ * @see org.eclipse.papyrus.migration.rsa.transformation.ImportTransformation#run()
+ *
+ */
+
+ @Override
+ public void run() {
+ this.run(new NullProgressMonitor());
+ }
+ };
+ fileProfile = URI.createPlatformResourceURI(Activator.PLUGIN_ID + ".testProject" + "/Profile.epx", false);
+ ImportTransformation transfoProfile = new ImportTransformation(fileProfile) {
+
+ /**
+ * @see org.eclipse.papyrus.migration.rsa.transformation.ImportTransformation#run()
+ *
+ */
+
+ @Override
+ public void run() {
+ this.run(new NullProgressMonitor());
+ }
+ };
+
+ transfoDiagram.run();
+ transfoProfile.run();
+ }
+
+
+
+ //Test should be more generic
+
+ @Test
+ public void openModelTest() throws Exception {
+ ModelSet modelSet = new ModelSet();
+ ModelsReader reader = new ModelsReader();
+ reader.readModel(modelSet);
+ try {
+ modelSet.loadModels(fileDiagram.trimFileExtension().appendFileExtension("di"));
+ } catch (ModelMultiException e) {
+ e.printStackTrace();
+ }
+ final ServicesRegistry registry = new ExtensionServicesRegistry(org.eclipse.papyrus.infra.core.Activator.PLUGIN_ID);
+ try {
+ registry.add(ModelSet.class, Integer.MAX_VALUE, modelSet);
+ registry.startRegistry();
+ } catch (ServiceException ex) {
+ //Ignored: we don't need all services
+ }
+
+
+
+ TransactionalEditingDomain editingDomain = modelSet.getTransactionalEditingDomain();
+ Resource umlResource = UmlUtils.getUmlResource(modelSet);
+
+ //Profile should be applied during the transformation
+
+ if(umlResource instanceof UMLResource) {
+ EList<EObject> umlresourceContent = umlResource.getContents();
+ Iterator<EObject> umlite = umlresourceContent.iterator();
+ while(umlite.hasNext()) {
+ Object currentobject = umlite.next();
+ if(currentobject instanceof org.eclipse.uml2.uml.Package) {
+ URI uri = URI.createURI(UMLResource.STANDARD_PROFILE_URI, true);
+ Resource resource = modelSet.getResource(uri, true);
+ Profile profile = (Profile)EcoreUtil.getObjectByType(resource.getContents(), UMLPackage.Literals.PROFILE);
+ Command command = new ApplyProfileCommand((org.eclipse.uml2.uml.Package)currentobject, profile, editingDomain);
+ try {
+ editingDomain.getCommandStack().execute(command);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ }
+ }
+ }
+
+ Display.getDefault().syncExec(new Runnable() {
+
+ public void run() {
+ try {
+ IFile fileToOpen = (IFile)ResourcesPlugin.getWorkspace().getRoot().findMember(fileDiagram.trimFileExtension().appendFileExtension("di").toPlatformString(true));
+ editor = EditorUtils.openPapyrusEditor(fileToOpen);
+ } catch (Exception ex) {
+ Activator.log.error(ex);
+ Assert.fail(ex.getMessage());
+ }
+ }
+ });
+ Assert.assertNotNull("Cannot open the Papyrus editor", editor);
+
+ Resource notationResource = NotationUtils.getNotationModel(editor.getServicesRegistry().getService(ModelSet.class)).getResource();
+ List<EObject> listcontent = notationResource.getContents();
+ Assert.assertEquals(7, listcontent.size()); //Expected is 7 valid migrated diagrams
+ for(EObject cont : listcontent) {
+ Assert.assertTrue(cont instanceof Diagram);
+
+ Diagram currentDia = (Diagram)cont;
+ editingDomain.getCommandStack().execute(new GMFtoEMFCommandWrapper(new OpenDiagramCommand(editingDomain, currentDia)));
+ IEditorPart currentEditor = editor.getActiveEditor();
+ Assert.assertNotNull("could not open the diagram editor", currentEditor);
+ Assert.assertTrue("The active editor should be a GMF Diagram Editor", editor.getActiveEditor() instanceof IDiagramWorkbenchPart);
+ Object temp = currentEditor.getAdapter(EditPart.class);
+ Assert.assertNotNull(temp);
+ EditPart editPart = (EditPart)temp;
+ List<IGraphicalEditPart> listEditPart = DiagramEditPartsUtil.getAllEditParts(editPart);
+ for(EditPart currentEditPart : listEditPart) {
+ Assert.assertNotNull("should not be invalid view", currentEditPart);
+ }
+ }
+
+ try {
+ registry.disposeRegistry();
+ } catch (ServiceException ex) {
+ //Ignore
+ }
+ }
+
+ @Test
+ public void openProfileTest() throws Exception {
+ ModelSet modelSet = new ModelSet();
+ ModelsReader reader = new ModelsReader();
+ reader.readModel(modelSet);
+ try {
+ modelSet.loadModels(fileProfile.trimFileExtension().appendFileExtension("profile.di"));
+ } catch (ModelMultiException e) {
+ e.printStackTrace();
+ }
+ final ServicesRegistry registry = new ExtensionServicesRegistry(org.eclipse.papyrus.infra.core.Activator.PLUGIN_ID);
+ try {
+ registry.add(ModelSet.class, Integer.MAX_VALUE, modelSet);
+ registry.startRegistry();
+ } catch (ServiceException ex) {
+ //Ignored: we don't need all services
+ }
+
+ TransactionalEditingDomain editingDomain = modelSet.getTransactionalEditingDomain();
+ Resource umlResource = UmlUtils.getUmlResource(modelSet);
+
+ //Profile should be applied during the transformation
+
+ if(umlResource instanceof UMLResource) {
+ EList<EObject> umlresourceContent = umlResource.getContents();
+ Iterator<EObject> umlite = umlresourceContent.iterator();
+ while(umlite.hasNext()) {
+ Object currentobject = umlite.next();
+ if(currentobject instanceof org.eclipse.uml2.uml.Package) {
+ URI uri = URI.createURI(UMLResource.STANDARD_PROFILE_URI, true);
+ Resource resource = modelSet.getResource(uri, true);
+ Profile profile = (Profile)EcoreUtil.getObjectByType(resource.getContents(), UMLPackage.Literals.PROFILE);
+ Command command = new ApplyProfileCommand((org.eclipse.uml2.uml.Package)currentobject, profile, editingDomain);
+ try {
+ editingDomain.getCommandStack().execute(command);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ }
+ }
+ }
+
+ Display.getDefault().syncExec(new Runnable() {
+
+ public void run() {
+ try {
+ IFile fileToOpen = (IFile)ResourcesPlugin.getWorkspace().getRoot().findMember(fileProfile.trimFileExtension().appendFileExtension("profile.di").toPlatformString(true));
+ editor = EditorUtils.openPapyrusEditor(fileToOpen);
+ } catch (Exception ex) {
+ Activator.log.error(ex);
+ Assert.fail(ex.getMessage());
+ }
+ }
+ });
+ Assert.assertNotNull("Cannot open the Papyrus editor", editor);
+
+ Resource notationResource = NotationUtils.getNotationModel(editor.getServicesRegistry().getService(ModelSet.class)).getResource();
+ List<EObject> listcontent = notationResource.getContents();
+ Assert.assertEquals(1, listcontent.size());
+ for(EObject cont : listcontent) {
+ Assert.assertTrue(cont instanceof Diagram);
+
+ Diagram currentDia = (Diagram)cont;
+ editingDomain.getCommandStack().execute(new GMFtoEMFCommandWrapper(new OpenDiagramCommand(editingDomain, currentDia)));
+ IEditorPart currentEditor = editor.getActiveEditor();
+ Assert.assertNotNull("could not open the diagram editor", currentEditor);
+ Assert.assertTrue("The active editor should be a GMF Diagram Editor", editor.getActiveEditor() instanceof IDiagramWorkbenchPart);
+ Object temp = currentEditor.getAdapter(EditPart.class);
+ Assert.assertNotNull(temp);
+ EditPart editPart = (EditPart)temp;
+ List<IGraphicalEditPart> listEditPart = DiagramEditPartsUtil.getAllEditParts(editPart);
+ for(EditPart currentEditPart : listEditPart) {
+ Assert.assertNotNull("should not be invalid view", currentEditPart);
+ }
+ }
+
+ try {
+ registry.disposeRegistry();
+ } catch (ServiceException ex) {
+ //Ignore
+ }
+ }
+
+}
diff --git a/tests/junit/extraplugins/org.eclipse.papyrus.tests.extra/META-INF/MANIFEST.MF b/tests/junit/extraplugins/org.eclipse.papyrus.tests.extra/META-INF/MANIFEST.MF
index 894e60e6c49..6845e1ed68f 100644
--- a/tests/junit/extraplugins/org.eclipse.papyrus.tests.extra/META-INF/MANIFEST.MF
+++ b/tests/junit/extraplugins/org.eclipse.papyrus.tests.extra/META-INF/MANIFEST.MF
@@ -10,7 +10,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.cdo.validation.problems.tests;bundle-version="1.0.1",
org.eclipse.papyrus.cpp.codegen.tests;bundle-version="1.0.1",
org.eclipse.papyrus.moka.tests;bundle-version="1.0.1",
- org.eclipse.papyrus.umlrt.validation.tests;bundle-version="1.0.1"
+ org.eclipse.papyrus.umlrt.validation.tests;bundle-version="1.0.1",
+ org.eclipse.papyrus.migration.rsa.tests;bundle-version="1.0.1"
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.0.1.qualifier
diff --git a/tests/junit/extraplugins/org.eclipse.papyrus.tests.extra/src/org/eclipse/papyrus/tests/extra/AllTests.java b/tests/junit/extraplugins/org.eclipse.papyrus.tests.extra/src/org/eclipse/papyrus/tests/extra/AllTests.java
index 332e051bdbc..8b098f59f38 100644
--- a/tests/junit/extraplugins/org.eclipse.papyrus.tests.extra/src/org/eclipse/papyrus/tests/extra/AllTests.java
+++ b/tests/junit/extraplugins/org.eclipse.papyrus.tests.extra/src/org/eclipse/papyrus/tests/extra/AllTests.java
@@ -44,6 +44,9 @@ public class AllTests {
/* UmlRT tests */
suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.umlrt.validation.tests.AllTests.class));
+ /* Migration tests */
+ suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.migration.rsa.tests.AllTests.class));
+
/* UML Compare tests */
/**
* UML Compare tests have been temporarily disabled. See:
@@ -51,9 +54,9 @@ public class AllTests {
* 389811: [Papyrus Compare] The Papyrus Compare feature is not compatible with Kepler
* https://bugs.eclipse.org/bugs/show_bug.cgi?id=389811
*/
- // suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.compare.tests.AllTests.class));
- // suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.compare.file.tests.AllTests.class));
- // suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.compare.diff.tests.AllTests.class));
+ // suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.compare.tests.AllTests.class));
+ // suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.compare.file.tests.AllTests.class));
+ // suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.compare.diff.tests.AllTests.class));
/* **************** plugins *********************** */
}
@@ -67,9 +70,9 @@ public class AllTests {
* Constructor.
*
* @param clazz
- * the suite class � AllTests2
+ * the suite class � AllTests2
* @throws InitializationError
- * if there's a problem
+ * if there's a problem
* @throws org.junit.runners.model.InitializationError
*/
public AllTestsRunner(final Class<?> clazz) throws InitializationError {
@@ -85,14 +88,14 @@ public class AllTests {
private static Class<?>[] getSuites() {
// retrieve all test suites.
Collection<Class<?>> suites = new ArrayList<Class<?>>();
- for(ITestSuiteClass testSuiteClass : suiteClasses) {
+ for (ITestSuiteClass testSuiteClass : suiteClasses) {
Class<?> class_ = testSuiteClass.getMainTestSuiteClass();
- if(class_ != null) {
+ if (class_ != null) {
suites.add(class_);
} else {
System.err.println(testSuiteClass + " does not give a correct test suite class");
}
}
- return suites.toArray(new Class<?>[]{});
+ return suites.toArray(new Class<?>[] {});
}
}

Back to the top