Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian W. Damus2015-02-08 23:26:32 +0000
committerChristian W. Damus2015-02-08 23:26:32 +0000
commitc6128168bb854cbcf001139bb9bf7a6dc67eccec (patch)
tree1329e4aa3fb377ba7a7aa794eaa1b27a0961f10f /tests
parentf88c47d042015e59bfef4f923d9cb142574d3c54 (diff)
downloadorg.eclipse.papyrus-c6128168bb854cbcf001139bb9bf7a6dc67eccec.tar.gz
org.eclipse.papyrus-c6128168bb854cbcf001139bb9bf7a6dc67eccec.tar.xz
org.eclipse.papyrus-c6128168bb854cbcf001139bb9bf7a6dc67eccec.zip
451230: Modeling assistants customization for profiles
https://bugs.eclipse.org/bugs/show_bug.cgi?id=451230 Infrastructure for dynamically provisionable modeled Diagram Assistants in Papyrus diagrams, based on the element types described by Element Type Configuration models. Includes: - common model for filters - UML-specific filters - Modeling Assistant Providers model - dynamic registry of modeled assistant providers, with extension point for static registrations - GMF modeling assistant provider extension that delegates to modeled providers - Element Type Configurations and Diagram Assistants model generators with wizards, generating models based on UML Profiles targeting specific element-type config models (for a diagram or for UML generally) - Assistants model generation from a GMFGen model for a particular UML diagram - refactoring of JUnit test suite framework for better partitioning of the All-Tests suite-of-suites - automated tests for the filters model, assistants model, assistant provider extension, and model transformations
Diffstat (limited to 'tests')
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/AllTestsWithMemoryDump.launch83
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF3
-rw-r--r--[-rwxr-xr-x]tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllSysMLTests.java66
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java88
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.classpath8
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.project28
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/META-INF/MANIFEST.MF32
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/about.html28
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/build.properties21
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/org.eclipse.papyrus.infra.gmfdiag.assistant.tests.launch43
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/plugin.properties12
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/plugin.xml32
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/pom.xml26
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.assistants271
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.elementtypesconfigurations99
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.assistants125
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.elementtypesconfigurations183
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee.profile.uml351
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.di15
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.notation120
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.uml35
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants17
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantAllTests.java60
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantTest.java94
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantTests.java64
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistedElementTypeFilterTest.java198
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ConnectionAssistantTest.java85
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ElementTypeFilterTest.java195
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/IModelingAssistantProviderTest.java279
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/IProviderTest.java120
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ModelingAssistantProviderTest.java483
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/PopupAssistantTest.java85
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AbstractModelingAssistantIntegrationTest.java165
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AllTests.java40
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantsFixture.java74
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/DiagramSpecificModelingAssistantIntegrationTest.java122
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ElementTypesUtil.java126
-rw-r--r--tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/GenericModelingAssistantIntegrationTest.java189
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.classpath8
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.project28
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/META-INF/MANIFEST.MF16
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/about.html28
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/build.properties19
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/org.eclipse.papyrus.infra.filters.tests.launch16
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/plugin.properties12
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/pom.xml26
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/CompoundFilterTest.java208
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/EqualsTest.java135
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FilterTest.java89
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FiltersAllTests.java60
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FiltersTests.java61
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src/org/eclipse/papyrus/infra/filters/tests/AllTests.java27
-rw-r--r--tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src/org/eclipse/papyrus/infra/filters/tests/FilterTestsUtil.java43
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/META-INF/MANIFEST.MF3
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/classification/ClassificationConfig.java157
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/AllTestsRunner.java111
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/FragmentTestSuiteClass.java (renamed from tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/launcher/FragmentTestSuiteClass.java)5
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/ITestSuiteClass.java (renamed from tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/launcher/ITestSuiteClass.java)5
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/PluginTestSuiteClass.java (renamed from tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/launcher/PluginTestSuiteClass.java)5
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/SuiteSpot.java29
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/.classpath14
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/META-INF/MANIFEST.MF2
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/pom.xml13
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/matchers/MoreMatchers.java15
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/JUnitUtils.java116
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/rules/AbstractModelFixture.java32
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/rules/ProjectFixture.java33
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.classpath7
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.project28
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/META-INF/MANIFEST.MF22
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/Papyrus Diagram Assistants tests.launch63
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/about.html28
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/build.properties17
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/documentation.pdoc4
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/plugin.properties12
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/pom.xml15
-rw-r--r--tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/src/org/eclipse/papyrus/tests/diagramassistants/AllTests.java55
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.classpath7
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.project28
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/META-INF/MANIFEST.MF31
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/about.html28
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/build.properties19
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.launch45
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/plugin.properties13
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/pom.xml27
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.di18
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.notation454
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.uml321
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.di2
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.notation200
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.uml117
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/AllTests.java29
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/BasicAssistantsGenerationTest.java176
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/DiagramSpecificAssistantsGenerationTest.java194
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/ModelGenFixture.java198
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/ProfilesWithPackageNestingTest.java175
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.classpath7
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.project28
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/META-INF/MANIFEST.MF27
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/about.html28
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/build.properties19
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.launch45
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/plugin.properties13
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/pom.xml27
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.di18
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.notation437
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.uml228
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.di2
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.notation200
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.uml117
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/AllTests.java29
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/BaseElementTypes.java31
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/BasicElementTypesGenerationTest.java89
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/DiagramSpecificElementTypesGenerationTest.java107
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/ModelGenFixture.java290
-rw-r--r--tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/ProfilesWithPackageNestingTest.java143
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/src/org/eclipse/papyrus/uml/diagram/activity/tests/edit/helper/ExpansionRegionHelperTest.java13
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.classpath8
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.project28
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.settings/org.eclipse.jdt.core.prefs288
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/META-INF/MANIFEST.MF20
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/about.html28
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/build.properties19
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/org.eclipse.papyrus.uml.filters.tests.launch16
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/plugin.properties13
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/pom.xml26
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/ProfileAppliedTest.java209
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/UMLFiltersAllTests.java60
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/UMLFiltersTests.java60
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src/org/eclipse/papyrus/uml/filters/tests/AllTests.java27
-rw-r--r--tests/junit/plugins/uml/org.eclipse.papyrus.uml.service.types.tests/src/org/eclipse/papyrus/uml/service/types/tests/registry/TestElementTypeRegistryContent.java13
143 files changed, 12044 insertions, 252 deletions
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.tests/AllTestsWithMemoryDump.launch b/tests/junit/plugins/core/org.eclipse.papyrus.tests/AllTestsWithMemoryDump.launch
index 13cc26600af..028d768c36a 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.tests/AllTestsWithMemoryDump.launch
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.tests/AllTestsWithMemoryDump.launch
@@ -1,41 +1,42 @@
-<?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-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/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="true"/>
-<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/J2SE-1.5"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.tests.AllTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.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 -Xms1024m -Xmx2048m -DsuppressRawWhenUnchecked=true -XX:MaxPermSize=1024M"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
-<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>
+<?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-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/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="true"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.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 -Xms1024m -Xmx2048m -DsuppressRawWhenUnchecked=true -XX:MaxPermSize=1024M"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
+<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/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF
index 5766ad740b6..66e25b3a71f 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF
@@ -67,7 +67,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.uml.decoratormodel.tests;bundle-version="1.1.0",
org.eclipse.papyrus.uml.decoratormodel.controlmode.tests;bundle-version="1.1.0",
org.eclipse.papyrus.infra.gmfdiag.menu.tests;bundle-version="1.1.0",
- org.eclipse.papyrus.infra.nattable.model.tests;bundle-version="1.1.0"
+ org.eclipse.papyrus.infra.nattable.model.tests;bundle-version="1.1.0",
+ org.eclipse.papyrus.tests.diagramassistants;bundle-version="1.1.0"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.1.0.qualifier
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllSysMLTests.java b/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllSysMLTests.java
index b8238bac961..2acb3dbcf03 100755..100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllSysMLTests.java
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllSysMLTests.java
@@ -1,19 +1,32 @@
+/*****************************************************************************
+ * Copyright (c) 2010, 2015 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 451230
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.tests;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.List;
-import org.eclipse.papyrus.tests.launcher.FragmentTestSuiteClass;
-import org.eclipse.papyrus.tests.launcher.ITestSuiteClass;
-import org.eclipse.papyrus.tests.launcher.PluginTestSuiteClass;
+import org.eclipse.papyrus.junit.framework.runner.AllTestsRunner;
+import org.eclipse.papyrus.junit.framework.runner.FragmentTestSuiteClass;
+import org.eclipse.papyrus.junit.framework.runner.ITestSuiteClass;
+import org.eclipse.papyrus.junit.framework.runner.PluginTestSuiteClass;
+import org.eclipse.papyrus.junit.framework.runner.SuiteSpot;
import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.model.InitializationError;
-@RunWith(AllSysMLTests.AllTestsRunner.class)
+@RunWith(AllTestsRunner.class)
public class AllSysMLTests {
+ @SuiteSpot
public static final List<ITestSuiteClass> suiteClasses;
static {
@@ -30,43 +43,4 @@ public class AllSysMLTests {
suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.sysml.nattable.requirement.tests.tests.AllTests.class));
suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.sysml.nattable.allocation.tests.tests.AllTests.class));
}
-
-
- /**
- * Finds and runs tests.
- */
- public static class AllTestsRunner extends Suite {
-
- /**
- * Constructor.
- *
- * @param clazz
- * the suite class � AllTests2
- * @throws InitializationError
- * if there's a problem
- * @throws org.junit.runners.model.InitializationError
- */
- public AllTestsRunner(final Class<?> clazz) throws InitializationError {
- super(clazz, getSuites());
- }
- }
-
- /**
- * Returns the list of test classes
- *
- * @return the list of test classes
- */
- private static Class<?>[] getSuites() {
- // retrieve all test suites.
- final Collection<Class<?>> suites = new ArrayList<Class<?>>();
- for(final ITestSuiteClass testSuiteClass : suiteClasses) {
- final Class<?> class_ = testSuiteClass.getMainTestSuiteClass();
- if(class_ != null) {
- suites.add(class_);
- } else {
- System.err.println(testSuiteClass + " does not give a correct test suite class");
- }
- }
- return suites.toArray(new Class<?>[]{});
- }
}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java b/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java
index 6b5194fb343..ab440dee641 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java
+++ b/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllTests.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010, 2014 CEA LIST, Christian W. Damus, and others.
+ * Copyright (c) 2010, 2015 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -10,45 +10,31 @@
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
* Christian W. Damus (CEA) - bugs 402525, 323802, 431953, 433310, 434993
* Christian W. Damus - bug 399859
+ * Christian W. Damus - bug 451230
*
*****************************************************************************/
package org.eclipse.papyrus.tests;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.papyrus.junit.framework.classification.ClassificationConfig;
-import org.eclipse.papyrus.junit.framework.classification.TestCategory;
-import org.eclipse.papyrus.tests.launcher.FragmentTestSuiteClass;
-import org.eclipse.papyrus.tests.launcher.ITestSuiteClass;
-import org.eclipse.papyrus.tests.launcher.PluginTestSuiteClass;
+
+import org.eclipse.papyrus.junit.framework.runner.AllTestsRunner;
+import org.eclipse.papyrus.junit.framework.runner.FragmentTestSuiteClass;
+import org.eclipse.papyrus.junit.framework.runner.ITestSuiteClass;
+import org.eclipse.papyrus.junit.framework.runner.PluginTestSuiteClass;
+import org.eclipse.papyrus.junit.framework.runner.SuiteSpot;
import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.model.InitializationError;
/**
* Test class for all tests for Papyrus
*/
-@RunWith(AllTests.AllTestsRunner.class)
+@RunWith(AllTestsRunner.class)
public class AllTests {
- static Map<String, Set<TestCategory>> availableConfigs = new HashMap<String, Set<TestCategory>>();
-
- static {
- availableConfigs.put("CI_TESTS_CONFIG", ClassificationConfig.CI_TESTS_CONFIG);
- availableConfigs.put("FAILING_TESTS_CONFIG", ClassificationConfig.FAILING_TESTS_CONFIG);
- availableConfigs.put("FULL_CI_TESTS_CONFIG", ClassificationConfig.FULL_CI_TESTS_CONFIG);
- availableConfigs.put("FULL_TESTS_CONFIG", ClassificationConfig.FULL_TESTS_CONFIG);
- availableConfigs.put("LIGTHWEIGHT_TESTS_CONFIG", ClassificationConfig.LIGTHWEIGHT_TESTS_CONFIG);
- }
-
+ @SuiteSpot
public static final List<ITestSuiteClass> suiteClasses;
+
/** list of classes to launch */
static {
suiteClasses = new ArrayList<ITestSuiteClass>();
@@ -95,6 +81,9 @@ public class AllTests {
/* control mode */
suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.infra.services.controlmode.tests.AllTests.class));
+ /* Diagram Assistants test suite */
+ org.eclipse.papyrus.tests.diagramassistants.AllTests.appendTo(suiteClasses);
+
if (System.getProperty("no.SysML.tests") == null) {
// SysML tests
suiteClasses.addAll(AllSysMLTests.suiteClasses);
@@ -146,53 +135,4 @@ public class AllTests {
// end
}
- /**
- * Finds and runs tests.
- */
- public static class AllTestsRunner extends Suite {
-
- /**
- * Constructor.
- *
- * @param clazz
- * the suite class � AllTests2
- * @throws InitializationError
- * if there's a problem
- * @throws org.junit.runners.model.InitializationError
- */
- public AllTestsRunner(final Class<?> clazz) throws InitializationError {
- super(clazz, getSuites());
-
- for (String arg : Platform.getApplicationArgs()) {
- if (arg.contains("-testConfig=")) {
- String configName = arg.substring("-testConfig=".length());
- Set<TestCategory> testsConfig = availableConfigs.get(configName);
- if (testsConfig != null) {
- ClassificationConfig.setTestsConfiguration(testsConfig);
- }
- break;
- }
- }
- }
- }
-
- /**
- * Returns the list of test classes
- *
- * @return the list of test classes
- */
- private static Class<?>[] getSuites() {
- // retrieve all test suites.
- final Collection<Class<?>> suites = new ArrayList<Class<?>>();
- for (final ITestSuiteClass testSuiteClass : suiteClasses) {
- final Class<?> class_ = testSuiteClass.getMainTestSuiteClass();
- if (class_ != null) {
- suites.add(class_);
- } else {
- System.err.println(testSuiteClass + " does not give a correct test suite class");
- }
- }
- return suites.toArray(new Class<?>[] {});
- }
-
}
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.classpath b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.classpath
new file mode 100644
index 00000000000..6cc5414644b
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.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.7"/>
+ <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/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.project b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.project
new file mode 100644
index 00000000000..262d9c58138
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.gmfdiag.assistant.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.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f08be2b06c4
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..80e5b18bfb3
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,32 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.assistant.tests;singleton:=true
+Bundle-Version: 1.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.eclipse.papyrus.infra.gmfdiag.assistant.tests
+Require-Bundle: org.eclipse.core.runtime,
+ org.junit;visibility:=reexport,
+ org.eclipse.papyrus.infra.gmfdiag.assistant;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="2.11.0";visibility:=reexport,
+ org.eclipse.papyrus.infra.filters;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="2.0.0";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="2.11.0";visibility:=reexport,
+ org.eclipse.gmf.runtime.emf.ui;bundle-version="1.7.0",
+ org.eclipse.papyrus.uml.service.types;bundle-version="1.1.0",
+ org.eclipse.uml2.uml;bundle-version="5.1.0",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="1.1.0",
+ org.eclipse.papyrus.infra.core;bundle-version="1.1.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.1.0",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.1.0",
+ org.eclipse.papyrus.infra.elementtypesconfigurations;bundle-version="1.1.0",
+ org.eclipse.papyrus.junit.utils;bundle-version="1.1.0",
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.gef;bundle-version="3.10.0",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.8.0",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="1.1.0",
+ org.eclipse.papyrus.uml.diagram.usecase;bundle-version="1.1.0"
+Bundle-ActivationPolicy: lazy
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/about.html b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.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>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/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/build.properties b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/build.properties
new file mode 100644
index 00000000000..a353b61e14b
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/build.properties
@@ -0,0 +1,21 @@
+# Copyright (c) 2014, 2015 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.properties,\
+ about.html,\
+ resources/,\
+ plugin.xml
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = bin/
+src.includes = about.html
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/org.eclipse.papyrus.infra.gmfdiag.assistant.tests.launch b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/org.eclipse.papyrus.infra.gmfdiag.assistant.tests.launch
new file mode 100644
index 00000000000..dc6a17a4c71
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/org.eclipse.papyrus.infra.gmfdiag.assistant.tests.launch
@@ -0,0 +1,43 @@
+<?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-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/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"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<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.7"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.infra.gmfdiag.assistant.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.infra.gmfdiag.assistant.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="-Xmx2048M -XX:MaxPermSize=512M"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
+<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/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/plugin.properties b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/plugin.properties
new file mode 100644
index 00000000000..ae577a19990
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/plugin.properties
@@ -0,0 +1,12 @@
+# Copyright (c) 2014 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+pluginName = Papyrus Diagram Modeling Assistants Core Tests
+providerName = Eclipse Modeling Project
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/plugin.xml b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/plugin.xml
new file mode 100644
index 00000000000..c5bf3eb091f
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/plugin.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2015 Christian W. Damus and others.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Christian W. Damus - Initial API and implementation
+-->
+
+<plugin>
+ <extension
+ point="org.eclipse.papyrus.infra.elementtypesconfigurations.elementTypeSetConfiguration">
+ <elementTypeSet
+ id="org.eclipse.papyrus.infra.gmfdiag.assistant.tests.j2ee-all"
+ path="resources/j2ee-all.elementtypesconfigurations">
+ </elementTypeSet>
+ </extension>
+ <extension
+ point="org.eclipse.papyrus.infra.elementtypesconfigurations.elementTypeSetConfiguration">
+ <elementTypeSet
+ id="org.eclipse.papyrus.infra.gmfdiag.assistant.tests.j2ee-usecase"
+ path="resources/j2ee-usecase.elementtypesconfigurations">
+ </elementTypeSet>
+ </extension>
+
+</plugin>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/pom.xml b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/pom.xml
new file mode 100644
index 00000000000..6799cc29556
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/pom.xml
@@ -0,0 +1,26 @@
+<?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.1.0-SNAPSHOT</version>
+ <relativePath>../../../../../../../releng/top-pom-main-tests.xml</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.assistant.tests</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useProjectSettings>true</useProjectSettings>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.assistants b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.assistants
new file mode 100644
index 00000000000..2fc1faa9cfd
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.assistants
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="ASCII"?>
+<assistant:ModelingAssistantProvider xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:assistant="http://www.eclipse.org/Papyrus/2014/diagram/assistant" xmlns:filters="http://www.eclipse.org/Papyrus/2014/common/filters" xmlns:umlfilters="http://www.eclipse.org/Papyrus/2014/uml/filters" name="j2ee">
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Activity" elementTypeID="org.eclipse.papyrus.uml.Activity"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::AssociationClass" elementTypeID="org.eclipse.papyrus.uml.AssociationClass"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Behavior" elementTypeID="org.eclipse.papyrus.uml.Behavior"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Class" elementTypeID="org.eclipse.papyrus.uml.Class"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ClassifierTemplateParameter" elementTypeID="org.eclipse.papyrus.uml.ClassifierTemplateParameter"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Component" elementTypeID="org.eclipse.papyrus.uml.Component"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ConnectableElementTemplateParameter" elementTypeID="org.eclipse.papyrus.uml.ConnectableElementTemplateParameter"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Device" elementTypeID="org.eclipse.papyrus.uml.Device"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ExecutionEnvironment" elementTypeID="org.eclipse.papyrus.uml.ExecutionEnvironment"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::FunctionBehavior" elementTypeID="org.eclipse.papyrus.uml.FunctionBehavior"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Interaction" elementTypeID="org.eclipse.papyrus.uml.Interaction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Interface" elementTypeID="org.eclipse.papyrus.uml.Interface"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Model" elementTypeID="org.eclipse.papyrus.uml.Model"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Node" elementTypeID="org.eclipse.papyrus.uml.Node"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::OpaqueBehavior" elementTypeID="org.eclipse.papyrus.uml.OpaqueBehavior"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::OperationTemplateParameter" elementTypeID="org.eclipse.papyrus.uml.OperationTemplateParameter"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Package" elementTypeID="org.eclipse.papyrus.uml.Package"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Profile" elementTypeID="org.eclipse.papyrus.uml.Profile"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ProtocolStateMachine" elementTypeID="org.eclipse.papyrus.uml.ProtocolStateMachine"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::StateMachine" elementTypeID="org.eclipse.papyrus.uml.StateMachine"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Stereotype" elementTypeID="org.eclipse.papyrus.uml.Stereotype"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::TemplateParameter" elementTypeID="org.eclipse.papyrus.uml.TemplateParameter"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::TemplateParameterSubstitution" elementTypeID="org.eclipse.papyrus.uml.TemplateParameterSubstitution"/>
+ <ownedFilter xsi:type="filters:CompoundFilter" name="pertains to Profile j2ee" filter="//@ownedFilter.23/@ownedFilter.0 //@ownedFilter.23/@ownedFilter.1" operator="or">
+ <ownedFilter xsi:type="umlfilters:ProfileApplied" name="j2ee is applied in context" profileQualifiedName="j2ee" profileURI="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ <ownedFilter xsi:type="assistant:AssistedElementTypeFilter"/>
+ </ownedFilter>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Artifact" elementTypeID="org.eclipse.papyrus.uml.Artifact"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DataType" elementTypeID="org.eclipse.papyrus.uml.DataType"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DeploymentSpecification" elementTypeID="org.eclipse.papyrus.uml.DeploymentSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Enumeration" elementTypeID="org.eclipse.papyrus.uml.Enumeration"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::PrimitiveType" elementTypeID="org.eclipse.papyrus.uml.PrimitiveType"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::AcceptCallAction" elementTypeID="org.eclipse.papyrus.uml.AcceptCallAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::AcceptEventAction" elementTypeID="org.eclipse.papyrus.uml.AcceptEventAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Action" elementTypeID="org.eclipse.papyrus.uml.Action"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ActionExecutionSpecification" elementTypeID="org.eclipse.papyrus.uml.ActionExecutionSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ActionInputPin" elementTypeID="org.eclipse.papyrus.uml.ActionInputPin"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ActivityEdge" elementTypeID="org.eclipse.papyrus.uml.ActivityEdge"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ActivityFinalNode" elementTypeID="org.eclipse.papyrus.uml.ActivityFinalNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ActivityGroup" elementTypeID="org.eclipse.papyrus.uml.ActivityGroup"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ActivityNode" elementTypeID="org.eclipse.papyrus.uml.ActivityNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ActivityParameterNode" elementTypeID="org.eclipse.papyrus.uml.ActivityParameterNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ActivityPartition" elementTypeID="org.eclipse.papyrus.uml.ActivityPartition"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Actor" elementTypeID="org.eclipse.papyrus.uml.Actor"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::AddStructuralFeatureValueAction" elementTypeID="org.eclipse.papyrus.uml.AddStructuralFeatureValueAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::AddVariableValueAction" elementTypeID="org.eclipse.papyrus.uml.AddVariableValueAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::AnyReceiveEvent" elementTypeID="org.eclipse.papyrus.uml.AnyReceiveEvent"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::BehaviorExecutionSpecification" elementTypeID="org.eclipse.papyrus.uml.BehaviorExecutionSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::BehavioralFeature" elementTypeID="org.eclipse.papyrus.uml.BehavioralFeature"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::BehavioredClassifier" elementTypeID="org.eclipse.papyrus.uml.BehavioredClassifier"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::BroadcastSignalAction" elementTypeID="org.eclipse.papyrus.uml.BroadcastSignalAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CallAction" elementTypeID="org.eclipse.papyrus.uml.CallAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CallBehaviorAction" elementTypeID="org.eclipse.papyrus.uml.CallBehaviorAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CallEvent" elementTypeID="org.eclipse.papyrus.uml.CallEvent"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CallOperationAction" elementTypeID="org.eclipse.papyrus.uml.CallOperationAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CentralBufferNode" elementTypeID="org.eclipse.papyrus.uml.CentralBufferNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ChangeEvent" elementTypeID="org.eclipse.papyrus.uml.ChangeEvent"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Classifier" elementTypeID="org.eclipse.papyrus.uml.Classifier"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ClearAssociationAction" elementTypeID="org.eclipse.papyrus.uml.ClearAssociationAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ClearStructuralFeatureAction" elementTypeID="org.eclipse.papyrus.uml.ClearStructuralFeatureAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ClearVariableAction" elementTypeID="org.eclipse.papyrus.uml.ClearVariableAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Collaboration" elementTypeID="org.eclipse.papyrus.uml.Collaboration"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CollaborationUse" elementTypeID="org.eclipse.papyrus.uml.CollaborationUse"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CombinedFragment" elementTypeID="org.eclipse.papyrus.uml.CombinedFragment"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ConditionalNode" elementTypeID="org.eclipse.papyrus.uml.ConditionalNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ConnectableElement" elementTypeID="org.eclipse.papyrus.uml.ConnectableElement"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ConnectionPointReference" elementTypeID="org.eclipse.papyrus.uml.ConnectionPointReference"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Connector" elementTypeID="org.eclipse.papyrus.uml.Connector"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ConsiderIgnoreFragment" elementTypeID="org.eclipse.papyrus.uml.ConsiderIgnoreFragment"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Constraint" elementTypeID="org.eclipse.papyrus.uml.Constraint"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Constraint::constrainedElements" elementTypeID="org.eclipse.papyrus.uml.Constraint.constrainedElements"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Continuation" elementTypeID="org.eclipse.papyrus.uml.Continuation"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ControlFlow" elementTypeID="org.eclipse.papyrus.uml.ControlFlow"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ControlNode" elementTypeID="org.eclipse.papyrus.uml.ControlNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CreateLinkAction" elementTypeID="org.eclipse.papyrus.uml.CreateLinkAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CreateLinkObjectAction" elementTypeID="org.eclipse.papyrus.uml.CreateLinkObjectAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CreateObjectAction" elementTypeID="org.eclipse.papyrus.uml.CreateObjectAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DataStoreNode" elementTypeID="org.eclipse.papyrus.uml.DataStoreNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DecisionNode" elementTypeID="org.eclipse.papyrus.uml.DecisionNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DeployedArtifact" elementTypeID="org.eclipse.papyrus.uml.DeployedArtifact"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DeploymentTarget" elementTypeID="org.eclipse.papyrus.uml.DeploymentTarget"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DestroyLinkAction" elementTypeID="org.eclipse.papyrus.uml.DestroyLinkAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DestroyObjectAction" elementTypeID="org.eclipse.papyrus.uml.DestroyObjectAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DestructionOccurrenceSpecification" elementTypeID="org.eclipse.papyrus.uml.DestructionOccurrenceSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Duration" elementTypeID="org.eclipse.papyrus.uml.Duration"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DurationConstraint" elementTypeID="org.eclipse.papyrus.uml.DurationConstraint"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DurationInterval" elementTypeID="org.eclipse.papyrus.uml.DurationInterval"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::DurationObservation" elementTypeID="org.eclipse.papyrus.uml.DurationObservation"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::EncapsulatedClassifier" elementTypeID="org.eclipse.papyrus.uml.EncapsulatedClassifier"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::EnumerationLiteral" elementTypeID="org.eclipse.papyrus.uml.EnumerationLiteral"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Event" elementTypeID="org.eclipse.papyrus.uml.Event"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ExecutableNode" elementTypeID="org.eclipse.papyrus.uml.ExecutableNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ExecutionOccurrenceSpecification" elementTypeID="org.eclipse.papyrus.uml.ExecutionOccurrenceSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ExecutionSpecification" elementTypeID="org.eclipse.papyrus.uml.ExecutionSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ExpansionNode" elementTypeID="org.eclipse.papyrus.uml.ExpansionNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ExpansionRegion" elementTypeID="org.eclipse.papyrus.uml.ExpansionRegion"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Expression" elementTypeID="org.eclipse.papyrus.uml.Expression"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ExtensionEnd" elementTypeID="org.eclipse.papyrus.uml.ExtensionEnd"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ExtensionPoint" elementTypeID="org.eclipse.papyrus.uml.ExtensionPoint"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Feature" elementTypeID="org.eclipse.papyrus.uml.Feature"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::FinalNode" elementTypeID="org.eclipse.papyrus.uml.FinalNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::FinalState" elementTypeID="org.eclipse.papyrus.uml.FinalState"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::FlowFinalNode" elementTypeID="org.eclipse.papyrus.uml.FlowFinalNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ForkNode" elementTypeID="org.eclipse.papyrus.uml.ForkNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Gate" elementTypeID="org.eclipse.papyrus.uml.Gate"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::GeneralOrdering" elementTypeID="org.eclipse.papyrus.uml.GeneralOrdering"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::GeneralizationSet" elementTypeID="org.eclipse.papyrus.uml.GeneralizationSet"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InformationItem" elementTypeID="org.eclipse.papyrus.uml.InformationItem"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InitialNode" elementTypeID="org.eclipse.papyrus.uml.InitialNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InputPin" elementTypeID="org.eclipse.papyrus.uml.InputPin"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InstanceSpecification" elementTypeID="org.eclipse.papyrus.uml.InstanceSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InstanceValue" elementTypeID="org.eclipse.papyrus.uml.InstanceValue"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InteractionConstraint" elementTypeID="org.eclipse.papyrus.uml.InteractionConstraint"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InteractionFragment" elementTypeID="org.eclipse.papyrus.uml.InteractionFragment"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InteractionOperand" elementTypeID="org.eclipse.papyrus.uml.InteractionOperand"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InteractionUse" elementTypeID="org.eclipse.papyrus.uml.InteractionUse"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InterruptibleActivityRegion" elementTypeID="org.eclipse.papyrus.uml.InterruptibleActivityRegion"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Interval" elementTypeID="org.eclipse.papyrus.uml.Interval"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::IntervalConstraint" elementTypeID="org.eclipse.papyrus.uml.IntervalConstraint"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::InvocationAction" elementTypeID="org.eclipse.papyrus.uml.InvocationAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::JoinNode" elementTypeID="org.eclipse.papyrus.uml.JoinNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Lifeline" elementTypeID="org.eclipse.papyrus.uml.Lifeline"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::LinkAction" elementTypeID="org.eclipse.papyrus.uml.LinkAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::LiteralBoolean" elementTypeID="org.eclipse.papyrus.uml.LiteralBoolean"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::LiteralInteger" elementTypeID="org.eclipse.papyrus.uml.LiteralInteger"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::LiteralNull" elementTypeID="org.eclipse.papyrus.uml.LiteralNull"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::LiteralReal" elementTypeID="org.eclipse.papyrus.uml.LiteralReal"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::LiteralSpecification" elementTypeID="org.eclipse.papyrus.uml.LiteralSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::LiteralString" elementTypeID="org.eclipse.papyrus.uml.LiteralString"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::LiteralUnlimitedNatural" elementTypeID="org.eclipse.papyrus.uml.LiteralUnlimitedNatural"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::LoopNode" elementTypeID="org.eclipse.papyrus.uml.LoopNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::MergeNode" elementTypeID="org.eclipse.papyrus.uml.MergeNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Message" elementTypeID="org.eclipse.papyrus.uml.Message"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::MessageEnd" elementTypeID="org.eclipse.papyrus.uml.MessageEnd"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::MessageEvent" elementTypeID="org.eclipse.papyrus.uml.MessageEvent"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::MessageOccurrenceSpecification" elementTypeID="org.eclipse.papyrus.uml.MessageOccurrenceSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::NamedElement" elementTypeID="org.eclipse.papyrus.uml.NamedElement"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Namespace" elementTypeID="org.eclipse.papyrus.uml.Namespace"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ObjectFlow" elementTypeID="org.eclipse.papyrus.uml.ObjectFlow"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ObjectNode" elementTypeID="org.eclipse.papyrus.uml.ObjectNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Observation" elementTypeID="org.eclipse.papyrus.uml.Observation"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::OccurrenceSpecification" elementTypeID="org.eclipse.papyrus.uml.OccurrenceSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::OpaqueAction" elementTypeID="org.eclipse.papyrus.uml.OpaqueAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::OpaqueExpression" elementTypeID="org.eclipse.papyrus.uml.OpaqueExpression"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Operation" elementTypeID="org.eclipse.papyrus.uml.Operation"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::OutputPin" elementTypeID="org.eclipse.papyrus.uml.OutputPin"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::PackageableElement" elementTypeID="org.eclipse.papyrus.uml.PackageableElement"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Parameter" elementTypeID="org.eclipse.papyrus.uml.Parameter"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ParameterSet" elementTypeID="org.eclipse.papyrus.uml.ParameterSet"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::PartDecomposition" elementTypeID="org.eclipse.papyrus.uml.PartDecomposition"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Pin" elementTypeID="org.eclipse.papyrus.uml.Pin"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Port" elementTypeID="org.eclipse.papyrus.uml.Port"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Property" elementTypeID="org.eclipse.papyrus.uml.Property"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ProtocolTransition" elementTypeID="org.eclipse.papyrus.uml.ProtocolTransition"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Pseudostate" elementTypeID="org.eclipse.papyrus.uml.Pseudostate"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::RaiseExceptionAction" elementTypeID="org.eclipse.papyrus.uml.RaiseExceptionAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReadExtentAction" elementTypeID="org.eclipse.papyrus.uml.ReadExtentAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReadIsClassifiedObjectAction" elementTypeID="org.eclipse.papyrus.uml.ReadIsClassifiedObjectAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReadLinkAction" elementTypeID="org.eclipse.papyrus.uml.ReadLinkAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReadLinkObjectEndAction" elementTypeID="org.eclipse.papyrus.uml.ReadLinkObjectEndAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReadLinkObjectEndQualifierAction" elementTypeID="org.eclipse.papyrus.uml.ReadLinkObjectEndQualifierAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReadSelfAction" elementTypeID="org.eclipse.papyrus.uml.ReadSelfAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReadStructuralFeatureAction" elementTypeID="org.eclipse.papyrus.uml.ReadStructuralFeatureAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReadVariableAction" elementTypeID="org.eclipse.papyrus.uml.ReadVariableAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Reception" elementTypeID="org.eclipse.papyrus.uml.Reception"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReclassifyObjectAction" elementTypeID="org.eclipse.papyrus.uml.ReclassifyObjectAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::RedefinableElement" elementTypeID="org.eclipse.papyrus.uml.RedefinableElement"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::RedefinableTemplateSignature" elementTypeID="org.eclipse.papyrus.uml.RedefinableTemplateSignature"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReduceAction" elementTypeID="org.eclipse.papyrus.uml.ReduceAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Region" elementTypeID="org.eclipse.papyrus.uml.Region"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::RemoveStructuralFeatureValueAction" elementTypeID="org.eclipse.papyrus.uml.RemoveStructuralFeatureValueAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::RemoveVariableValueAction" elementTypeID="org.eclipse.papyrus.uml.RemoveVariableValueAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ReplyAction" elementTypeID="org.eclipse.papyrus.uml.ReplyAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::SendObjectAction" elementTypeID="org.eclipse.papyrus.uml.SendObjectAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::SendSignalAction" elementTypeID="org.eclipse.papyrus.uml.SendSignalAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::SequenceNode" elementTypeID="org.eclipse.papyrus.uml.SequenceNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Signal" elementTypeID="org.eclipse.papyrus.uml.Signal"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::SignalEvent" elementTypeID="org.eclipse.papyrus.uml.SignalEvent"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::StartClassifierBehaviorAction" elementTypeID="org.eclipse.papyrus.uml.StartClassifierBehaviorAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::StartObjectBehaviorAction" elementTypeID="org.eclipse.papyrus.uml.StartObjectBehaviorAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::State" elementTypeID="org.eclipse.papyrus.uml.State"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::StateInvariant" elementTypeID="org.eclipse.papyrus.uml.StateInvariant"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::StringExpression" elementTypeID="org.eclipse.papyrus.uml.StringExpression"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::StructuralFeature" elementTypeID="org.eclipse.papyrus.uml.StructuralFeature"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::StructuralFeatureAction" elementTypeID="org.eclipse.papyrus.uml.StructuralFeatureAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::StructuredActivityNode" elementTypeID="org.eclipse.papyrus.uml.StructuredActivityNode"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::StructuredClassifier" elementTypeID="org.eclipse.papyrus.uml.StructuredClassifier"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::TestIdentityAction" elementTypeID="org.eclipse.papyrus.uml.TestIdentityAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::TimeConstraint" elementTypeID="org.eclipse.papyrus.uml.TimeConstraint"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::TimeEvent" elementTypeID="org.eclipse.papyrus.uml.TimeEvent"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::TimeExpression" elementTypeID="org.eclipse.papyrus.uml.TimeExpression"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::TimeInterval" elementTypeID="org.eclipse.papyrus.uml.TimeInterval"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::TimeObservation" elementTypeID="org.eclipse.papyrus.uml.TimeObservation"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Transition" elementTypeID="org.eclipse.papyrus.uml.Transition"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Trigger" elementTypeID="org.eclipse.papyrus.uml.Trigger"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Type" elementTypeID="org.eclipse.papyrus.uml.Type"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::TypedElement" elementTypeID="org.eclipse.papyrus.uml.TypedElement"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::UnmarshallAction" elementTypeID="org.eclipse.papyrus.uml.UnmarshallAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::UseCase" elementTypeID="org.eclipse.papyrus.uml.UseCase"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ValuePin" elementTypeID="org.eclipse.papyrus.uml.ValuePin"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ValueSpecification" elementTypeID="org.eclipse.papyrus.uml.ValueSpecification"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::ValueSpecificationAction" elementTypeID="org.eclipse.papyrus.uml.ValueSpecificationAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Variable" elementTypeID="org.eclipse.papyrus.uml.Variable"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::VariableAction" elementTypeID="org.eclipse.papyrus.uml.VariableAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Vertex" elementTypeID="org.eclipse.papyrus.uml.Vertex"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::WriteLinkAction" elementTypeID="org.eclipse.papyrus.uml.WriteLinkAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::WriteStructuralFeatureAction" elementTypeID="org.eclipse.papyrus.uml.WriteStructuralFeatureAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::WriteVariableAction" elementTypeID="org.eclipse.papyrus.uml.WriteVariableAction"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::AssociationBase" elementTypeID="org.eclipse.papyrus.uml.AssociationBase"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Association" elementTypeID="org.eclipse.papyrus.uml.Association"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::CommunicationPath" elementTypeID="org.eclipse.papyrus.uml.CommunicationPath"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="UML::Extension" elementTypeID="org.eclipse.papyrus.uml.Extension"/>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Bean" filter="//@popupAssistant.0/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.23 //@popupAssistant.0/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.0 //@ownedFilter.1 //@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.4 //@ownedFilter.5 //@ownedFilter.6 //@ownedFilter.7 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15 //@ownedFilter.16 //@ownedFilter.17 //@ownedFilter.18 //@ownedFilter.19 //@ownedFilter.20 //@ownedFilter.21 //@ownedFilter.22" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Finder" filter="//@popupAssistant.1/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.23 //@popupAssistant.1/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.0 //@ownedFilter.24 //@ownedFilter.1 //@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.4 //@ownedFilter.5 //@ownedFilter.6 //@ownedFilter.25 //@ownedFilter.26 //@ownedFilter.7 //@ownedFilter.27 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15 //@ownedFilter.28 //@ownedFilter.18 //@ownedFilter.19 //@ownedFilter.20 //@ownedFilter.21 //@ownedFilter.22" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.User" filter="//@popupAssistant.2/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.23 //@popupAssistant.2/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.0 //@ownedFilter.1 //@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.4 //@ownedFilter.5 //@ownedFilter.6 //@ownedFilter.7 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15 //@ownedFilter.16 //@ownedFilter.17 //@ownedFilter.18 //@ownedFilter.19 //@ownedFilter.20 //@ownedFilter.21 //@ownedFilter.22" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Browser" filter="//@popupAssistant.3/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.23 //@popupAssistant.3/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.0 //@ownedFilter.1 //@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.4 //@ownedFilter.5 //@ownedFilter.6 //@ownedFilter.7 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15 //@ownedFilter.16 //@ownedFilter.17 //@ownedFilter.18 //@ownedFilter.19 //@ownedFilter.20 //@ownedFilter.21 //@ownedFilter.22" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.BranchPoint" filter="//@popupAssistant.4/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.23 //@ownedFilter.195"/>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.WebScenario" filter="//@popupAssistant.5/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.23 //@popupAssistant.5/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.0 //@ownedFilter.40 //@ownedFilter.24 //@ownedFilter.205 //@ownedFilter.206 //@ownedFilter.1 //@ownedFilter.2 //@ownedFilter.46 //@ownedFilter.3 //@ownedFilter.54 //@ownedFilter.4 //@ownedFilter.58 //@ownedFilter.207 //@ownedFilter.5 //@ownedFilter.6 //@ownedFilter.25 //@ownedFilter.26 //@ownedFilter.7 //@ownedFilter.85 //@ownedFilter.27 //@ownedFilter.8 //@ownedFilter.208 //@ownedFilter.9 //@ownedFilter.104 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15 //@ownedFilter.16 //@ownedFilter.28 //@ownedFilter.17 //@ownedFilter.18 //@ownedFilter.173 //@ownedFilter.19 //@ownedFilter.20 //@ownedFilter.183 //@ownedFilter.21 //@ownedFilter.22 //@ownedFilter.195" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <connectionAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Import" sourceFilter="//@connectionAssistant.0/@ownedSourceFilter" targetFilter="//@connectionAssistant.0/@ownedTargetFilter">
+ <ownedSourceFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.23 //@connectionAssistant.0/@ownedSourceFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.29 //@ownedFilter.30 //@ownedFilter.31 //@ownedFilter.32 //@ownedFilter.33 //@ownedFilter.0 //@ownedFilter.34 //@ownedFilter.35 //@ownedFilter.36 //@ownedFilter.37 //@ownedFilter.38 //@ownedFilter.39 //@ownedFilter.40 //@ownedFilter.41 //@ownedFilter.42 //@ownedFilter.43 //@ownedFilter.24 //@ownedFilter.2 //@ownedFilter.44 //@ownedFilter.45 //@ownedFilter.46 //@ownedFilter.47 //@ownedFilter.48 //@ownedFilter.49 //@ownedFilter.50 //@ownedFilter.51 //@ownedFilter.52 //@ownedFilter.53 //@ownedFilter.3 //@ownedFilter.54 //@ownedFilter.55 //@ownedFilter.56 //@ownedFilter.57 //@ownedFilter.58 //@ownedFilter.59 //@ownedFilter.60 //@ownedFilter.5 //@ownedFilter.61 //@ownedFilter.62 //@ownedFilter.63 //@ownedFilter.64 //@ownedFilter.65 //@ownedFilter.66 //@ownedFilter.67 //@ownedFilter.68 //@ownedFilter.69 //@ownedFilter.70 //@ownedFilter.71 //@ownedFilter.72 //@ownedFilter.73 //@ownedFilter.74 //@ownedFilter.25 //@ownedFilter.75 //@ownedFilter.76 //@ownedFilter.26 //@ownedFilter.77 //@ownedFilter.78 //@ownedFilter.79 //@ownedFilter.80 //@ownedFilter.7 //@ownedFilter.81 //@ownedFilter.82 //@ownedFilter.83 //@ownedFilter.84 //@ownedFilter.85 //@ownedFilter.27 //@ownedFilter.86 //@ownedFilter.87 //@ownedFilter.88 //@ownedFilter.8 //@ownedFilter.89 //@ownedFilter.90 //@ownedFilter.91 //@ownedFilter.92 //@ownedFilter.93 //@ownedFilter.94 //@ownedFilter.95 //@ownedFilter.96 //@ownedFilter.97 //@ownedFilter.98 //@ownedFilter.99 //@ownedFilter.100 //@ownedFilter.9 //@ownedFilter.101 //@ownedFilter.102 //@ownedFilter.103 //@ownedFilter.104 //@ownedFilter.105 //@ownedFilter.106 //@ownedFilter.107 //@ownedFilter.108 //@ownedFilter.10 //@ownedFilter.109 //@ownedFilter.110 //@ownedFilter.111 //@ownedFilter.112 //@ownedFilter.11 //@ownedFilter.113 //@ownedFilter.114 //@ownedFilter.115 //@ownedFilter.116 //@ownedFilter.117 //@ownedFilter.118 //@ownedFilter.119 //@ownedFilter.120 //@ownedFilter.121 //@ownedFilter.122 //@ownedFilter.123 //@ownedFilter.124 //@ownedFilter.125 //@ownedFilter.126 //@ownedFilter.127 //@ownedFilter.128 //@ownedFilter.129 //@ownedFilter.130 //@ownedFilter.131 //@ownedFilter.132 //@ownedFilter.12 //@ownedFilter.133 //@ownedFilter.134 //@ownedFilter.13 //@ownedFilter.135 //@ownedFilter.136 //@ownedFilter.137 //@ownedFilter.138 //@ownedFilter.139 //@ownedFilter.14 //@ownedFilter.140 //@ownedFilter.141 //@ownedFilter.142 //@ownedFilter.16 //@ownedFilter.143 //@ownedFilter.144 //@ownedFilter.145 //@ownedFilter.146 //@ownedFilter.147 //@ownedFilter.148 //@ownedFilter.28 //@ownedFilter.17 //@ownedFilter.149 //@ownedFilter.18 //@ownedFilter.150 //@ownedFilter.151 //@ownedFilter.152 //@ownedFilter.153 //@ownedFilter.154 //@ownedFilter.155 //@ownedFilter.156 //@ownedFilter.157 //@ownedFilter.158 //@ownedFilter.159 //@ownedFilter.160 //@ownedFilter.161 //@ownedFilter.162 //@ownedFilter.163 //@ownedFilter.164 //@ownedFilter.165 //@ownedFilter.166 //@ownedFilter.167 //@ownedFilter.168 //@ownedFilter.169 //@ownedFilter.170 //@ownedFilter.171 //@ownedFilter.172 //@ownedFilter.173 //@ownedFilter.174 //@ownedFilter.175 //@ownedFilter.176 //@ownedFilter.177 //@ownedFilter.178 //@ownedFilter.19 //@ownedFilter.20 //@ownedFilter.179 //@ownedFilter.180 //@ownedFilter.181 //@ownedFilter.182 //@ownedFilter.183 //@ownedFilter.184 //@ownedFilter.185 //@ownedFilter.186 //@ownedFilter.187 //@ownedFilter.188 //@ownedFilter.189 //@ownedFilter.190 //@ownedFilter.191 //@ownedFilter.192 //@ownedFilter.193 //@ownedFilter.194 //@ownedFilter.195 //@ownedFilter.196 //@ownedFilter.197 //@ownedFilter.198 //@ownedFilter.199 //@ownedFilter.200 //@ownedFilter.201 //@ownedFilter.202 //@ownedFilter.203 //@ownedFilter.204" operator="or"/>
+ </ownedSourceFilter>
+ <ownedTargetFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.23 //@connectionAssistant.0/@ownedTargetFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.29 //@ownedFilter.30 //@ownedFilter.31 //@ownedFilter.32 //@ownedFilter.33 //@ownedFilter.0 //@ownedFilter.34 //@ownedFilter.35 //@ownedFilter.36 //@ownedFilter.37 //@ownedFilter.38 //@ownedFilter.39 //@ownedFilter.40 //@ownedFilter.41 //@ownedFilter.42 //@ownedFilter.43 //@ownedFilter.24 //@ownedFilter.2 //@ownedFilter.44 //@ownedFilter.45 //@ownedFilter.46 //@ownedFilter.47 //@ownedFilter.48 //@ownedFilter.49 //@ownedFilter.50 //@ownedFilter.51 //@ownedFilter.52 //@ownedFilter.53 //@ownedFilter.3 //@ownedFilter.54 //@ownedFilter.55 //@ownedFilter.56 //@ownedFilter.57 //@ownedFilter.58 //@ownedFilter.59 //@ownedFilter.60 //@ownedFilter.5 //@ownedFilter.61 //@ownedFilter.62 //@ownedFilter.63 //@ownedFilter.64 //@ownedFilter.65 //@ownedFilter.66 //@ownedFilter.67 //@ownedFilter.68 //@ownedFilter.69 //@ownedFilter.70 //@ownedFilter.71 //@ownedFilter.72 //@ownedFilter.73 //@ownedFilter.74 //@ownedFilter.25 //@ownedFilter.75 //@ownedFilter.76 //@ownedFilter.26 //@ownedFilter.77 //@ownedFilter.78 //@ownedFilter.79 //@ownedFilter.80 //@ownedFilter.7 //@ownedFilter.81 //@ownedFilter.82 //@ownedFilter.83 //@ownedFilter.84 //@ownedFilter.85 //@ownedFilter.27 //@ownedFilter.86 //@ownedFilter.87 //@ownedFilter.88 //@ownedFilter.8 //@ownedFilter.89 //@ownedFilter.90 //@ownedFilter.91 //@ownedFilter.92 //@ownedFilter.93 //@ownedFilter.94 //@ownedFilter.95 //@ownedFilter.96 //@ownedFilter.97 //@ownedFilter.98 //@ownedFilter.99 //@ownedFilter.100 //@ownedFilter.9 //@ownedFilter.101 //@ownedFilter.102 //@ownedFilter.103 //@ownedFilter.104 //@ownedFilter.105 //@ownedFilter.106 //@ownedFilter.107 //@ownedFilter.108 //@ownedFilter.10 //@ownedFilter.109 //@ownedFilter.110 //@ownedFilter.111 //@ownedFilter.112 //@ownedFilter.11 //@ownedFilter.113 //@ownedFilter.114 //@ownedFilter.115 //@ownedFilter.116 //@ownedFilter.117 //@ownedFilter.118 //@ownedFilter.119 //@ownedFilter.120 //@ownedFilter.121 //@ownedFilter.122 //@ownedFilter.123 //@ownedFilter.124 //@ownedFilter.125 //@ownedFilter.126 //@ownedFilter.127 //@ownedFilter.128 //@ownedFilter.129 //@ownedFilter.130 //@ownedFilter.131 //@ownedFilter.132 //@ownedFilter.12 //@ownedFilter.133 //@ownedFilter.134 //@ownedFilter.13 //@ownedFilter.135 //@ownedFilter.136 //@ownedFilter.137 //@ownedFilter.138 //@ownedFilter.139 //@ownedFilter.14 //@ownedFilter.140 //@ownedFilter.141 //@ownedFilter.142 //@ownedFilter.16 //@ownedFilter.143 //@ownedFilter.144 //@ownedFilter.145 //@ownedFilter.146 //@ownedFilter.147 //@ownedFilter.148 //@ownedFilter.28 //@ownedFilter.17 //@ownedFilter.149 //@ownedFilter.18 //@ownedFilter.150 //@ownedFilter.151 //@ownedFilter.152 //@ownedFilter.153 //@ownedFilter.154 //@ownedFilter.155 //@ownedFilter.156 //@ownedFilter.157 //@ownedFilter.158 //@ownedFilter.159 //@ownedFilter.160 //@ownedFilter.161 //@ownedFilter.162 //@ownedFilter.163 //@ownedFilter.164 //@ownedFilter.165 //@ownedFilter.166 //@ownedFilter.167 //@ownedFilter.168 //@ownedFilter.169 //@ownedFilter.170 //@ownedFilter.171 //@ownedFilter.172 //@ownedFilter.173 //@ownedFilter.174 //@ownedFilter.175 //@ownedFilter.176 //@ownedFilter.177 //@ownedFilter.178 //@ownedFilter.19 //@ownedFilter.20 //@ownedFilter.179 //@ownedFilter.180 //@ownedFilter.181 //@ownedFilter.182 //@ownedFilter.183 //@ownedFilter.184 //@ownedFilter.185 //@ownedFilter.186 //@ownedFilter.187 //@ownedFilter.188 //@ownedFilter.189 //@ownedFilter.190 //@ownedFilter.191 //@ownedFilter.192 //@ownedFilter.193 //@ownedFilter.194 //@ownedFilter.195 //@ownedFilter.196 //@ownedFilter.197 //@ownedFilter.198 //@ownedFilter.199 //@ownedFilter.200 //@ownedFilter.201 //@ownedFilter.202 //@ownedFilter.203 //@ownedFilter.204" operator="or"/>
+ </ownedTargetFilter>
+ </connectionAssistant>
+ <connectionAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Web" sourceFilter="//@connectionAssistant.1/@ownedSourceFilter" targetFilter="//@connectionAssistant.1/@ownedTargetFilter">
+ <ownedSourceFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.23 //@connectionAssistant.1/@ownedSourceFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.0 //@ownedFilter.40 //@ownedFilter.24 //@ownedFilter.2 //@ownedFilter.46 //@ownedFilter.3 //@ownedFilter.54 //@ownedFilter.58 //@ownedFilter.5 //@ownedFilter.25 //@ownedFilter.26 //@ownedFilter.7 //@ownedFilter.85 //@ownedFilter.27 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.104 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.28 //@ownedFilter.18 //@ownedFilter.173 //@ownedFilter.19 //@ownedFilter.20 //@ownedFilter.183 //@ownedFilter.192 //@ownedFilter.195" operator="or"/>
+ </ownedSourceFilter>
+ <ownedTargetFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.23 //@connectionAssistant.1/@ownedTargetFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.0 //@ownedFilter.40 //@ownedFilter.24 //@ownedFilter.2 //@ownedFilter.46 //@ownedFilter.3 //@ownedFilter.54 //@ownedFilter.58 //@ownedFilter.5 //@ownedFilter.25 //@ownedFilter.26 //@ownedFilter.7 //@ownedFilter.85 //@ownedFilter.27 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.104 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.28 //@ownedFilter.18 //@ownedFilter.173 //@ownedFilter.19 //@ownedFilter.20 //@ownedFilter.183 //@ownedFilter.192 //@ownedFilter.195" operator="or"/>
+ </ownedTargetFilter>
+ </connectionAssistant>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Bean</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Finder</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Import</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Web</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.User</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Browser</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.BranchPoint</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.WebScenario</elementTypeID>
+ <excludedElementTypeID>org.eclipse.papyrus.uml.diagram.clazz.Association_4019</excludedElementTypeID>
+ <excludedElementTypeID>org.eclipse.papyrus.uml.diagram.clazz.Association_2015</excludedElementTypeID>
+ <excludedElementTypeID>org.eclipse.papyrus.uml.diagram.clazz.Dependency_4018</excludedElementTypeID>
+ <excludedElementTypeID>org.eclipse.papyrus.uml.diagram.clazz.Dependency_2014</excludedElementTypeID>
+</assistant:ModelingAssistantProvider>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.elementtypesconfigurations b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.elementtypesconfigurations
new file mode 100644
index 00000000000..b193ee8600a
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-all.elementtypesconfigurations
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="ASCII"?>
+<elementtypesconfigurations:ElementTypeSetConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:applystereotypeadviceconfiguration="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/uml/applystereotypeadvice/1.0" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.0" xmlns:stereotypeapplicationmatcherconfiguration="http://www.eclipse.org/payrus/elementtypesconfigurations/uml/stereotypematcherconfiguration" xmi:id="_JHkF8Jg0EeSrbqbUdG1DAA" name="j2ee" identifier="org.eclipse.papyrus.example.j2ee.elementTypes">
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_JHkF8Zg0EeSrbqbUdG1DAA" name="Bean" identifier="org.eclipse.papyrus.example.j2ee.Bean">
+ <iconEntry xmi:id="_JHkF8pg0EeSrbqbUdG1DAA" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.Class</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_JHkF85g0EeSrbqbUdG1DAA">
+ <stereotypesQualifiedNames>j2ee::Bean</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_JHkF9Jg0EeSrbqbUdG1DAA" name="Finder" identifier="org.eclipse.papyrus.example.j2ee.Finder">
+ <iconEntry xmi:id="_JHkF9Zg0EeSrbqbUdG1DAA" iconPath="/icons/full/obj16/Operation.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.Operation</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_JHkF9pg0EeSrbqbUdG1DAA">
+ <stereotypesQualifiedNames>j2ee::Finder</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_JHkF95g0EeSrbqbUdG1DAA" name="Import" identifier="org.eclipse.papyrus.example.j2ee.Import">
+ <iconEntry xmi:id="_JHkF-Jg0EeSrbqbUdG1DAA" iconPath="/icons/full/obj16/Dependency.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.Dependency</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_JHkF-Zg0EeSrbqbUdG1DAA">
+ <stereotypesQualifiedNames>j2ee::Import</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_JHkF-pg0EeSrbqbUdG1DAA" name="Web" identifier="org.eclipse.papyrus.example.j2ee.Web" hint="UML::Association">
+ <iconEntry xmi:id="_JHkF-5g0EeSrbqbUdG1DAA" iconPath="/icons/full/obj16/Association.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.Association</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_JHkF_Jg0EeSrbqbUdG1DAA">
+ <stereotypesQualifiedNames>j2ee::Web</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_JHkF_Zg0EeSrbqbUdG1DAA" name="User" identifier="org.eclipse.papyrus.example.j2ee.User">
+ <iconEntry xmi:id="_JHkF_pg0EeSrbqbUdG1DAA" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.Actor</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_JHkF_5g0EeSrbqbUdG1DAA">
+ <stereotypesQualifiedNames>j2ee::User</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_JHkGAJg0EeSrbqbUdG1DAA" name="Browser" identifier="org.eclipse.papyrus.example.j2ee.Browser">
+ <iconEntry xmi:id="_JHkGAZg0EeSrbqbUdG1DAA" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.Actor</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_JHkGApg0EeSrbqbUdG1DAA">
+ <stereotypesQualifiedNames>j2ee::Browser</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_JHkGA5g0EeSrbqbUdG1DAA" name="BranchPoint" identifier="org.eclipse.papyrus.example.j2ee.BranchPoint">
+ <iconEntry xmi:id="_JHkGBJg0EeSrbqbUdG1DAA" iconPath="/icons/full/obj16/ExtensionPoint.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.ExtensionPoint</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_JHkGBZg0EeSrbqbUdG1DAA">
+ <stereotypesQualifiedNames>j2ee::BranchPoint</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_JHkGBpg0EeSrbqbUdG1DAA" name="WebScenario" identifier="org.eclipse.papyrus.example.j2ee.WebScenario">
+ <iconEntry xmi:id="_JHkGB5g0EeSrbqbUdG1DAA" iconPath="/icons/full/obj16/UseCase.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.UseCase</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_JHkGCJg0EeSrbqbUdG1DAA">
+ <stereotypesQualifiedNames>j2ee::WebScenario</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_JHkGCZg0EeSrbqbUdG1DAA" name="Apply Bean" identifier="org.eclipse.papyrus.example.j2ee.bean" target="_JHkF8Zg0EeSrbqbUdG1DAA">
+ <stereotypesToApply xmi:id="_JHkGCpg0EeSrbqbUdG1DAA" stereotypeQualifiedName="j2ee::Bean" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_JHkGC5g0EeSrbqbUdG1DAA" name="Apply Finder" identifier="org.eclipse.papyrus.example.j2ee.finder" target="_JHkF9Jg0EeSrbqbUdG1DAA">
+ <stereotypesToApply xmi:id="_JHkGDJg0EeSrbqbUdG1DAA" stereotypeQualifiedName="j2ee::Finder" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_JHkGDZg0EeSrbqbUdG1DAA" name="Apply Import" identifier="org.eclipse.papyrus.example.j2ee.import" target="_JHkF95g0EeSrbqbUdG1DAA">
+ <stereotypesToApply xmi:id="_JHkGDpg0EeSrbqbUdG1DAA" stereotypeQualifiedName="j2ee::Import" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_JHkGD5g0EeSrbqbUdG1DAA" name="Apply Web" identifier="org.eclipse.papyrus.example.j2ee.web" target="_JHkF-pg0EeSrbqbUdG1DAA">
+ <stereotypesToApply xmi:id="_JHkGEJg0EeSrbqbUdG1DAA" stereotypeQualifiedName="j2ee::Web" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_JHkGEZg0EeSrbqbUdG1DAA" name="Apply User" identifier="org.eclipse.papyrus.example.j2ee.user" target="_JHkF_Zg0EeSrbqbUdG1DAA">
+ <stereotypesToApply xmi:id="_JHkGEpg0EeSrbqbUdG1DAA" stereotypeQualifiedName="j2ee::User" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_JHkGE5g0EeSrbqbUdG1DAA" name="Apply Browser" identifier="org.eclipse.papyrus.example.j2ee.browser" target="_JHkGAJg0EeSrbqbUdG1DAA">
+ <stereotypesToApply xmi:id="_JHkGFJg0EeSrbqbUdG1DAA" stereotypeQualifiedName="j2ee::Browser" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_JHkGFZg0EeSrbqbUdG1DAA" name="Apply BranchPoint" identifier="org.eclipse.papyrus.example.j2ee.branchPoint" target="_JHkGA5g0EeSrbqbUdG1DAA">
+ <stereotypesToApply xmi:id="_JHkGFpg0EeSrbqbUdG1DAA" stereotypeQualifiedName="j2ee::BranchPoint" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_JHkGF5g0EeSrbqbUdG1DAA" name="Apply WebScenario" identifier="org.eclipse.papyrus.example.j2ee.webScenario" target="_JHkGBpg0EeSrbqbUdG1DAA">
+ <stereotypesToApply xmi:id="_JHkGGJg0EeSrbqbUdG1DAA" stereotypeQualifiedName="j2ee::WebScenario" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.assistants b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.assistants
new file mode 100644
index 00000000000..7a583335c82
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.assistants
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="ASCII"?>
+<assistant:ModelingAssistantProvider xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:assistant="http://www.eclipse.org/Papyrus/2014/diagram/assistant" xmlns:filters="http://www.eclipse.org/Papyrus/2014/common/filters" xmlns:umlfilters="http://www.eclipse.org/Papyrus/2014/uml/filters" name="j2ee">
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Extension Point" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.ExtensionPoint_3007"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Extension Point" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.ExtensionPoint_3008"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Use Case" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.UseCase_3009"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Component" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Component_3016"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Constraint" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Constraint_3017"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Actor" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Actor_3018"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Constraint" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Constraint_3010"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Actor" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Actor_3011"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Use Case" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.UseCase_3012"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Component" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Component_3013"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Package" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Package_3014"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Actor" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Actor_2011"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Actor" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Actor_2012"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Use Case" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.UseCase_2013"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Use Case" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.UseCase_2014"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Classifier" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Classifier_2015"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Package" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Package_2016"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Constraint" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Constraint_2017"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Default Named Element" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.DefaultNamedElement_2022"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Constraint Constrained Element" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.ConstraintConstrainedElement_4012"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Package" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Package_1000"/>
+ <ownedFilter xsi:type="filters:CompoundFilter" name="pertains to Profile j2ee" filter="//@ownedFilter.21/@ownedFilter.0 //@ownedFilter.21/@ownedFilter.1" operator="or">
+ <ownedFilter xsi:type="umlfilters:ProfileApplied" name="j2ee is applied in context" profileQualifiedName="j2ee" profileURI="platform:/resource/Assistants/j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ <ownedFilter xsi:type="assistant:AssistedElementTypeFilter"/>
+ </ownedFilter>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="Association" elementTypeID="org.eclipse.papyrus.uml.diagram.usecase.Association_4011"/>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.User_3018" filter="//@popupAssistant.0/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.0/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.3 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.16 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.User_3011" filter="//@popupAssistant.1/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.1/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.3 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.16 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.User_2011" filter="//@popupAssistant.2/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.2/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.3 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.16 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.User_2012" filter="//@popupAssistant.3/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.3/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.3 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.16 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Browser_3018" filter="//@popupAssistant.4/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.4/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.3 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.16 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Browser_3011" filter="//@popupAssistant.5/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.5/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.3 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.16 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Browser_2011" filter="//@popupAssistant.6/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.6/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.3 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.16 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Browser_2012" filter="//@popupAssistant.7/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.7/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.3 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.16 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.BranchPoint_3007" filter="//@popupAssistant.8/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.8/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.2 //@ownedFilter.8 //@ownedFilter.13 //@ownedFilter.14" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.BranchPoint_3008" filter="//@popupAssistant.9/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.9/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.2 //@ownedFilter.8 //@ownedFilter.13 //@ownedFilter.14" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.WebScenario_3012" filter="//@popupAssistant.10/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.10/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.5 //@ownedFilter.7 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15 //@ownedFilter.16 //@ownedFilter.22 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.WebScenario_2013" filter="//@popupAssistant.11/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.11/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.5 //@ownedFilter.7 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15 //@ownedFilter.16 //@ownedFilter.22 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.WebScenario_2014" filter="//@popupAssistant.12/@ownedFilter">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@popupAssistant.12/@ownedFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.5 //@ownedFilter.7 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15 //@ownedFilter.16 //@ownedFilter.22 //@ownedFilter.20" operator="or"/>
+ </ownedFilter>
+ </popupAssistant>
+ <connectionAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Import_4013" sourceFilter="//@connectionAssistant.0/@ownedSourceFilter" targetFilter="//@connectionAssistant.0/@ownedTargetFilter">
+ <ownedSourceFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@connectionAssistant.0/@ownedSourceFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.0 //@ownedFilter.1 //@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.4 //@ownedFilter.5 //@ownedFilter.6 //@ownedFilter.7 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15 //@ownedFilter.16 //@ownedFilter.17 //@ownedFilter.18 //@ownedFilter.19 //@ownedFilter.20" operator="or"/>
+ </ownedSourceFilter>
+ <ownedTargetFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@connectionAssistant.0/@ownedTargetFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.0 //@ownedFilter.1 //@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.4 //@ownedFilter.5 //@ownedFilter.6 //@ownedFilter.7 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.10 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15 //@ownedFilter.16 //@ownedFilter.17 //@ownedFilter.18 //@ownedFilter.19 //@ownedFilter.20" operator="or"/>
+ </ownedTargetFilter>
+ </connectionAssistant>
+ <connectionAssistant elementTypeID="org.eclipse.papyrus.example.j2ee.Web_4011" sourceFilter="//@connectionAssistant.1/@ownedSourceFilter" targetFilter="//@connectionAssistant.1/@ownedTargetFilter">
+ <ownedSourceFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@connectionAssistant.1/@ownedSourceFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.5 //@ownedFilter.7 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15" operator="or"/>
+ </ownedSourceFilter>
+ <ownedTargetFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.21 //@connectionAssistant.1/@ownedTargetFilter/@ownedFilter.0">
+ <ownedFilter xsi:type="filters:CompoundFilter" filter="//@ownedFilter.2 //@ownedFilter.3 //@ownedFilter.5 //@ownedFilter.7 //@ownedFilter.8 //@ownedFilter.9 //@ownedFilter.11 //@ownedFilter.12 //@ownedFilter.13 //@ownedFilter.14 //@ownedFilter.15" operator="or"/>
+ </ownedTargetFilter>
+ </connectionAssistant>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Import_4013</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Web_4011</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.User_3018</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.User_3011</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.User_2011</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.User_2012</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Browser_3018</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Browser_3011</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Browser_2011</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.Browser_2012</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.BranchPoint_3007</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.BranchPoint_3008</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.WebScenario_3012</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.WebScenario_2013</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.example.j2ee.WebScenario_2014</elementTypeID>
+</assistant:ModelingAssistantProvider>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.elementtypesconfigurations b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.elementtypesconfigurations
new file mode 100644
index 00000000000..166c3718dad
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee-usecase.elementtypesconfigurations
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="ASCII"?>
+<elementtypesconfigurations:ElementTypeSetConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:applystereotypeadviceconfiguration="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/uml/applystereotypeadvice/1.0" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.0" xmlns:stereotypeapplicationmatcherconfiguration="http://www.eclipse.org/payrus/elementtypesconfigurations/uml/stereotypematcherconfiguration" xmi:id="_PDKksJgTEeSXtOdwR_uKBQ" name="j2ee" identifier="org.eclipse.papyrus.example.j2ee.elementTypes">
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKksZgTEeSXtOdwR_uKBQ" name="Import" identifier="org.eclipse.papyrus.example.j2ee.Import_4013" hint="4013">
+ <iconEntry xmi:id="_PDKkspgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/Dependency.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.Dependency_4013</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKks5gTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::Import</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKktJgTEeSXtOdwR_uKBQ" name="Web" identifier="org.eclipse.papyrus.example.j2ee.Web_4011" hint="4011">
+ <iconEntry xmi:id="_PDKktZgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/Association.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.Association_4011</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKktpgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::Web</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKkt5gTEeSXtOdwR_uKBQ" name="User (3018)" identifier="org.eclipse.papyrus.example.j2ee.User_3018" hint="3018">
+ <iconEntry xmi:id="_PDKkuJgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.Actor_3018</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKkuZgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::User</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKkupgTEeSXtOdwR_uKBQ" name="User (3011)" identifier="org.eclipse.papyrus.example.j2ee.User_3011" hint="3011">
+ <iconEntry xmi:id="_PDKku5gTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.Actor_3011</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKkvJgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::User</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKkvZgTEeSXtOdwR_uKBQ" name="User (2011)" identifier="org.eclipse.papyrus.example.j2ee.User_2011" hint="2011">
+ <iconEntry xmi:id="_PDKkvpgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.Actor_2011</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKkv5gTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::User</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKkwJgTEeSXtOdwR_uKBQ" name="User (2012)" identifier="org.eclipse.papyrus.example.j2ee.User_2012" hint="2012">
+ <iconEntry xmi:id="_PDKkwZgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.Actor_2012</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKkwpgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::User</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKkw5gTEeSXtOdwR_uKBQ" name="Browser (3018)" identifier="org.eclipse.papyrus.example.j2ee.Browser_3018" hint="3018">
+ <iconEntry xmi:id="_PDKkxJgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.Actor_3018</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKkxZgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::Browser</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKkxpgTEeSXtOdwR_uKBQ" name="Browser (3011)" identifier="org.eclipse.papyrus.example.j2ee.Browser_3011" hint="3011">
+ <iconEntry xmi:id="_PDKkx5gTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.Actor_3011</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKkyJgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::Browser</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKkyZgTEeSXtOdwR_uKBQ" name="Browser (2011)" identifier="org.eclipse.papyrus.example.j2ee.Browser_2011" hint="2011">
+ <iconEntry xmi:id="_PDKkypgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.Actor_2011</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKky5gTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::Browser</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKkzJgTEeSXtOdwR_uKBQ" name="Browser (2012)" identifier="org.eclipse.papyrus.example.j2ee.Browser_2012" hint="2012">
+ <iconEntry xmi:id="_PDKkzZgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/Actor.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.Actor_2012</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKkzpgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::Browser</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKkz5gTEeSXtOdwR_uKBQ" name="BranchPoint (3007)" identifier="org.eclipse.papyrus.example.j2ee.BranchPoint_3007" hint="3007">
+ <iconEntry xmi:id="_PDKk0JgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/ExtensionPoint.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.ExtensionPoint_3007</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKk0ZgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::BranchPoint</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKk0pgTEeSXtOdwR_uKBQ" name="BranchPoint (3008)" identifier="org.eclipse.papyrus.example.j2ee.BranchPoint_3008" hint="3008">
+ <iconEntry xmi:id="_PDKk05gTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/ExtensionPoint.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.ExtensionPoint_3008</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKk1JgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::BranchPoint</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKk1ZgTEeSXtOdwR_uKBQ" name="WebScenario (3012)" identifier="org.eclipse.papyrus.example.j2ee.WebScenario_3012" hint="3012">
+ <iconEntry xmi:id="_PDKk1pgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/UseCase.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.UseCase_3012</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKk15gTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::WebScenario</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKk2JgTEeSXtOdwR_uKBQ" name="WebScenario (2013)" identifier="org.eclipse.papyrus.example.j2ee.WebScenario_2013" hint="2013">
+ <iconEntry xmi:id="_PDKk2ZgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/UseCase.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.UseCase_2013</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKk2pgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::WebScenario</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xsi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="_PDKk25gTEeSXtOdwR_uKBQ" name="WebScenario (2014)" identifier="org.eclipse.papyrus.example.j2ee.WebScenario_2014" hint="2014">
+ <iconEntry xmi:id="_PDKk3JgTEeSXtOdwR_uKBQ" iconPath="/icons/full/obj16/UseCase.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <specializedTypesID>org.eclipse.papyrus.uml.diagram.usecase.UseCase_2014</specializedTypesID>
+ <matcherConfiguration xsi:type="stereotypeapplicationmatcherconfiguration:StereotypeApplicationMatcherConfiguration" xmi:id="_PDKk3ZgTEeSXtOdwR_uKBQ">
+ <stereotypesQualifiedNames>j2ee::WebScenario</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ </elementTypeConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk3pgTEeSXtOdwR_uKBQ" name="Apply Import" identifier="org.eclipse.papyrus.example.j2ee.import_4013" target="_PDKksZgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk35gTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::Import" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk4JgTEeSXtOdwR_uKBQ" name="Apply Web" identifier="org.eclipse.papyrus.example.j2ee.web_4011" target="_PDKktJgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk4ZgTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::Web" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk4pgTEeSXtOdwR_uKBQ" name="Apply User" identifier="org.eclipse.papyrus.example.j2ee.user_3018" target="_PDKkt5gTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk45gTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::User" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk5JgTEeSXtOdwR_uKBQ" name="Apply User" identifier="org.eclipse.papyrus.example.j2ee.user_3011" target="_PDKkupgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk5ZgTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::User" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk5pgTEeSXtOdwR_uKBQ" name="Apply User" identifier="org.eclipse.papyrus.example.j2ee.user_2011" target="_PDKkvZgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk55gTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::User" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk6JgTEeSXtOdwR_uKBQ" name="Apply User" identifier="org.eclipse.papyrus.example.j2ee.user_2012" target="_PDKkwJgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk6ZgTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::User" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk6pgTEeSXtOdwR_uKBQ" name="Apply Browser" identifier="org.eclipse.papyrus.example.j2ee.browser_3018" target="_PDKkw5gTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk65gTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::Browser" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk7JgTEeSXtOdwR_uKBQ" name="Apply Browser" identifier="org.eclipse.papyrus.example.j2ee.browser_3011" target="_PDKkxpgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk7ZgTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::Browser" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk7pgTEeSXtOdwR_uKBQ" name="Apply Browser" identifier="org.eclipse.papyrus.example.j2ee.browser_2011" target="_PDKkyZgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk75gTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::Browser" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk8JgTEeSXtOdwR_uKBQ" name="Apply Browser" identifier="org.eclipse.papyrus.example.j2ee.browser_2012" target="_PDKkzJgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk8ZgTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::Browser" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk8pgTEeSXtOdwR_uKBQ" name="Apply BranchPoint" identifier="org.eclipse.papyrus.example.j2ee.branchPoint_3007" target="_PDKkz5gTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk85gTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::BranchPoint" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk9JgTEeSXtOdwR_uKBQ" name="Apply BranchPoint" identifier="org.eclipse.papyrus.example.j2ee.branchPoint_3008" target="_PDKk0pgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk9ZgTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::BranchPoint" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk9pgTEeSXtOdwR_uKBQ" name="Apply WebScenario" identifier="org.eclipse.papyrus.example.j2ee.webScenario_3012" target="_PDKk1ZgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk95gTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::WebScenario" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk-JgTEeSXtOdwR_uKBQ" name="Apply WebScenario" identifier="org.eclipse.papyrus.example.j2ee.webScenario_2013" target="_PDKk2JgTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk-ZgTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::WebScenario" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xsi:type="applystereotypeadviceconfiguration:ApplyStereotypeAdviceConfiguration" xmi:id="_PDKk-pgTEeSXtOdwR_uKBQ" name="Apply WebScenario" identifier="org.eclipse.papyrus.example.j2ee.webScenario_2014" target="_PDKk25gTEeSXtOdwR_uKBQ">
+ <stereotypesToApply xmi:id="_PDKk-5gTEeSXtOdwR_uKBQ" stereotypeQualifiedName="j2ee::WebScenario" updateName="true">
+ <requiredProfiles>j2ee</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee.profile.uml b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee.profile.uml
new file mode 100644
index 00000000000..f4a05c99b44
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee.profile.uml
@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Profile xmi:id="_raLqoEigEeSRp-p9nf2EsA" name="j2ee" metaclassReference="_33I6kEigEeSRp-p9nf2EsA _6kVgoEigEeSRp-p9nf2EsA _AX-6QEihEeSRp-p9nf2EsA _u8XtEHcFEeSigYPDkthHwg _V4PEwHcGEeSigYPDkthHwg _hAWBoHcGEeSigYPDkthHwg _nd-MYHcGEeSigYPDkthHwg" metamodelReference="_raLqoUigEeSRp-p9nf2EsA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0O4lAEihEeSRp-p9nf2EsA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_uRfuoHcGEeSigYPDkthHwg" name="j2ee" nsURI="http:///schemas/j2ee/_uRcrUHcGEeSigYPDkthHwg/4" nsPrefix="j2ee">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRfuoXcGEeSigYPDkthHwg" source="http://www.eclipse.org/uml2/4.1.0/UML" references="_P61CwHW0EeSkkId3wIdLLg"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRknIHcGEeSigYPDkthHwg" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uRknIXcGEeSigYPDkthHwg" key="Version" value="0.0.5"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uRknIncGEeSigYPDkthHwg" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uRknI3cGEeSigYPDkthHwg" key="Copyright" value="Copyright © 2014 Christian W. Damus. All rights reserved."/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uRknJHcGEeSigYPDkthHwg" key="Date" value="2014-11-28"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uRknJXcGEeSigYPDkthHwg" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_uRgVsHcGEeSigYPDkthHwg" name="Bean">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRgVsXcGEeSigYPDkthHwg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Be-XgEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_uRgVsncGEeSigYPDkthHwg" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_uRgVtHcGEeSigYPDkthHwg" name="finder" ordered="false" eType="_uRgVuncGEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_uRgVtncGEeSigYPDkthHwg" name="kind" ordered="false" lowerBound="1" eType="_P61C0HW0EeSkkId3wIdLLg"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_uRgVuHcGEeSigYPDkthHwg" name="isManaged" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_uRgVuncGEeSigYPDkthHwg" name="Finder">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRgVu3cGEeSigYPDkthHwg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_DNegsEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_uRgVvHcGEeSigYPDkthHwg" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_uRgVvncGEeSigYPDkthHwg" name="BeanKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRgVv3cGEeSigYPDkthHwg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_uRgVwHcGEeSigYPDkthHwg" name="entity"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_uRgVwXcGEeSigYPDkthHwg" name="session" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_uRgVwncGEeSigYPDkthHwg" name="messagedriven" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_uRgVw3cGEeSigYPDkthHwg" name="Import">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRgVxHcGEeSigYPDkthHwg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Eo_ccEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_uRgVxXcGEeSigYPDkthHwg" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_uRgVx3cGEeSigYPDkthHwg" name="WebScenario">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRgVyHcGEeSigYPDkthHwg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_m3yyoHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_uRgVyXcGEeSigYPDkthHwg" name="base_UseCase" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//UseCase"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_uRgVy3cGEeSigYPDkthHwg" name="User">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRgVzHcGEeSigYPDkthHwg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_qiossHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_uRgVzXcGEeSigYPDkthHwg" name="base_Actor" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Actor"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_uRgVz3cGEeSigYPDkthHwg" name="Browser">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRgV0HcGEeSigYPDkthHwg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_rus3MHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_uRgV0XcGEeSigYPDkthHwg" name="base_Actor" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Actor"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_uRgV03cGEeSigYPDkthHwg" name="BranchPoint">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRgV1HcGEeSigYPDkthHwg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_4VupIHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_uRgV1XcGEeSigYPDkthHwg" name="base_ExtensionPoint" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ExtensionPoint"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_uRgV13cGEeSigYPDkthHwg" name="Web">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uRgV2HcGEeSigYPDkthHwg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_8HPL4HcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_uRgV2XcGEeSigYPDkthHwg" name="base_Association" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Association"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_P61CwHW0EeSkkId3wIdLLg" name="j2ee" nsURI="http:///schemas/j2ee/_P6x_cHW0EeSkkId3wIdLLg/3" nsPrefix="j2ee">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P61CwXW0EeSkkId3wIdLLg" source="http://www.eclipse.org/uml2/4.1.0/UML" references="_2SDt8GEcEeSRDpkdeXfJuw"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P64GEXW0EeSkkId3wIdLLg" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P64GEnW0EeSkkId3wIdLLg" key="Version" value="0.0.4"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P64GE3W0EeSkkId3wIdLLg" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P64GFHW0EeSkkId3wIdLLg" key="Copyright" value="Copyright © 2014 Christian W. Damus. All rights reserved."/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P64GFXW0EeSkkId3wIdLLg" key="Date" value="2014-11-26"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P64GFnW0EeSkkId3wIdLLg" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_P61CwnW0EeSkkId3wIdLLg" name="Bean">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P61Cw3W0EeSkkId3wIdLLg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Be-XgEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_P61CxHW0EeSkkId3wIdLLg" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_P61CxnW0EeSkkId3wIdLLg" name="finder" ordered="false" eType="_P61CzHW0EeSkkId3wIdLLg"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_P61CyHW0EeSkkId3wIdLLg" name="kind" ordered="false" lowerBound="1" eType="_2SDuAGEcEeSRDpkdeXfJuw"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_P61CynW0EeSkkId3wIdLLg" name="isManaged" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_P61CzHW0EeSkkId3wIdLLg" name="Finder">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P61CzXW0EeSkkId3wIdLLg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_DNegsEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_P61CznW0EeSkkId3wIdLLg" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_P61C0HW0EeSkkId3wIdLLg" name="BeanKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P61C0XW0EeSkkId3wIdLLg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_P61C0nW0EeSkkId3wIdLLg" name="entity"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_P61C03W0EeSkkId3wIdLLg" name="session" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_P61C1HW0EeSkkId3wIdLLg" name="messagedriven" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_P61C1XW0EeSkkId3wIdLLg" name="Import">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P61C1nW0EeSkkId3wIdLLg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Eo_ccEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_P61C13W0EeSkkId3wIdLLg" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_2SDt8GEcEeSRDpkdeXfJuw" name="j2ee" nsURI="http:///schemas/j2ee/_2R_cgGEcEeSRDpkdeXfJuw/2" nsPrefix="j2ee">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2SDt8WEcEeSRDpkdeXfJuw" source="http://www.eclipse.org/uml2/4.1.0/UML" references="_EI2eAF8BEeSsV7omcbT1SA"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2SGxQWEcEeSRDpkdeXfJuw" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2SGxQmEcEeSRDpkdeXfJuw" key="Version" value="0.0.3"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2SGxQ2EcEeSRDpkdeXfJuw" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2SGxRGEcEeSRDpkdeXfJuw" key="Copyright" value="Copyright © 2014 Christian W. Damus. All rights reserved."/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2SGxRWEcEeSRDpkdeXfJuw" key="Date" value="2014-10-31"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2SGxRmEcEeSRDpkdeXfJuw" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_2SDt8mEcEeSRDpkdeXfJuw" name="Bean">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2SDt82EcEeSRDpkdeXfJuw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Be-XgEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2SDt9GEcEeSRDpkdeXfJuw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2SDt9mEcEeSRDpkdeXfJuw" name="finder" ordered="false" eType="_2SDt_GEcEeSRDpkdeXfJuw"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2SDt-GEcEeSRDpkdeXfJuw" name="kind" ordered="false" lowerBound="1" eType="_EI2eDl8BEeSsV7omcbT1SA"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_2SDt-mEcEeSRDpkdeXfJuw" name="isManaged" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_2SDt_GEcEeSRDpkdeXfJuw" name="Finder">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2SDt_WEcEeSRDpkdeXfJuw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_DNegsEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2SDt_mEcEeSRDpkdeXfJuw" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_2SDuAGEcEeSRDpkdeXfJuw" name="BeanKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2SDuAWEcEeSRDpkdeXfJuw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2SDuAmEcEeSRDpkdeXfJuw" name="entity"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2SDuA2EcEeSRDpkdeXfJuw" name="session" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_2SDuBGEcEeSRDpkdeXfJuw" name="messagedriven" value="2"/>
+ </eClassifiers>
+ <eSubpackages xmi:type="ecore:EPackage" xmi:id="_2SDuBWEcEeSRDpkdeXfJuw" name="relationships" nsURI="http:///j2ee/relationships.ecore" nsPrefix="j2ee.relationships">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2SDuBmEcEeSRDpkdeXfJuw" source="http://www.eclipse.org/uml2/4.0.0/UML"/>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_2SDuB2EcEeSRDpkdeXfJuw" name="Import">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2SDuCGEcEeSRDpkdeXfJuw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Eo_ccEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_2SDuCWEcEeSRDpkdeXfJuw" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_EI2eAF8BEeSsV7omcbT1SA" name="j2ee" nsURI="http:///schemas/j2ee/_EIyzoF8BEeSsV7omcbT1SA/1" nsPrefix="j2ee">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EI2eAV8BEeSsV7omcbT1SA" source="http://www.eclipse.org/uml2/4.1.0/UML" references="_AJoDQEijEeSKm9FE-lgkJg"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EI46QV8BEeSsV7omcbT1SA" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EI46Ql8BEeSsV7omcbT1SA" key="Version" value="0.0.2"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EI46Q18BEeSsV7omcbT1SA" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EI46RF8BEeSsV7omcbT1SA" key="Copyright" value="Copyright © 2014 Christian W. Damus. All rights reserved."/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EI46RV8BEeSsV7omcbT1SA" key="Date" value="2014-10-29"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EI46Rl8BEeSsV7omcbT1SA" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_EI2eAl8BEeSsV7omcbT1SA" name="Bean">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EI2eA18BEeSsV7omcbT1SA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Be-XgEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EI2eBF8BEeSsV7omcbT1SA" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EI2eBl8BEeSsV7omcbT1SA" name="finder" ordered="false" eType="_EI2eCl8BEeSsV7omcbT1SA"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_EI2eCF8BEeSsV7omcbT1SA" name="kind" ordered="false" lowerBound="1" eType="_AJoDTUijEeSKm9FE-lgkJg"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_EI2eCl8BEeSsV7omcbT1SA" name="Finder">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EI2eC18BEeSsV7omcbT1SA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_DNegsEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EI2eDF8BEeSsV7omcbT1SA" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_EI2eDl8BEeSsV7omcbT1SA" name="BeanKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EI2eD18BEeSsV7omcbT1SA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_EI2eEF8BEeSsV7omcbT1SA" name="entity"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_EI2eEV8BEeSsV7omcbT1SA" name="session" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_EI2eEl8BEeSsV7omcbT1SA" name="messagedriven" value="2"/>
+ </eClassifiers>
+ <eSubpackages xmi:type="ecore:EPackage" xmi:id="_EI2eE18BEeSsV7omcbT1SA" name="relationships" nsURI="http:///j2ee/relationships.ecore" nsPrefix="j2ee.relationships">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EI2eFF8BEeSsV7omcbT1SA" source="http://www.eclipse.org/uml2/4.0.0/UML"/>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_EI2eFV8BEeSsV7omcbT1SA" name="Import">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EI2eFl8BEeSsV7omcbT1SA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Eo_ccEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_EI2eF18BEeSsV7omcbT1SA" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_AJoDQEijEeSKm9FE-lgkJg" name="j2ee" nsURI="http:///schemas/j2ee/_AJk_8EijEeSKm9FE-lgkJg/0" nsPrefix="j2ee">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AJrGkEijEeSKm9FE-lgkJg" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AJrGkUijEeSKm9FE-lgkJg" key="Version" value="0.0.1"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AJrGkkijEeSKm9FE-lgkJg" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AJrGk0ijEeSKm9FE-lgkJg" key="Copyright" value="Copyright (c) 2014 CEA LIST and others.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA; CEA LIST - Initial API and implementation"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AJrGlEijEeSKm9FE-lgkJg" key="Date" value="2014-09-30"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AJrGlUijEeSKm9FE-lgkJg" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_AJoDQUijEeSKm9FE-lgkJg" name="Bean">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AJoDQkijEeSKm9FE-lgkJg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Be-XgEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_AJoDQ0ijEeSKm9FE-lgkJg" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_AJoDRUijEeSKm9FE-lgkJg" name="finder" ordered="false" eType="_AJoDSUijEeSKm9FE-lgkJg"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_AJoDR0ijEeSKm9FE-lgkJg" name="kind" ordered="false" lowerBound="1" eType="_AJoDTUijEeSKm9FE-lgkJg"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_AJoDSUijEeSKm9FE-lgkJg" name="Finder">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AJoDSkijEeSKm9FE-lgkJg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_DNegsEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_AJoDS0ijEeSKm9FE-lgkJg" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_AJoDTUijEeSKm9FE-lgkJg" name="BeanKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AJoDTkijEeSKm9FE-lgkJg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_AJoDT0ijEeSKm9FE-lgkJg" name="entity"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_AJoDUEijEeSKm9FE-lgkJg" name="session" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_AJoDUUijEeSKm9FE-lgkJg" name="messagedriven" value="2"/>
+ </eClassifiers>
+ <eSubpackages xmi:type="ecore:EPackage" xmi:id="_AJoDUkijEeSKm9FE-lgkJg" name="relationships" nsURI="http:///j2ee/relationships.ecore" nsPrefix="j2ee.relationships">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AJoDU0ijEeSKm9FE-lgkJg" source="http://www.eclipse.org/uml2/4.0.0/UML"/>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_AJoDVEijEeSKm9FE-lgkJg" name="Import">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AJoDVUijEeSKm9FE-lgkJg" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Eo_ccEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_AJoDVkijEeSKm9FE-lgkJg" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ </contents>
+ </eAnnotations>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_33I6kEigEeSRp-p9nf2EsA" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_6kVgoEigEeSRp-p9nf2EsA" alias="Dependency">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_AX-6QEihEeSRp-p9nf2EsA" alias="Operation">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_u8XtEHcFEeSigYPDkthHwg" alias="UseCase">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_V4PEwHcGEeSigYPDkthHwg" alias="Actor">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_hAWBoHcGEeSigYPDkthHwg" alias="Association">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Association"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_nd-MYHcGEeSigYPDkthHwg" alias="ExtensionPoint">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ </elementImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_raLqoUigEeSRp-p9nf2EsA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_raLqokigEeSRp-p9nf2EsA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Be-XgEihEeSRp-p9nf2EsA" name="Bean">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Gi2hEEihEeSRp-p9nf2EsA" name="base_Class" association="_Gi3IIEihEeSRp-p9nf2EsA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_IwZWsEihEeSRp-p9nf2EsA" name="finder" type="_DNegsEihEeSRp-p9nf2EsA" association="_IwZ9wEihEeSRp-p9nf2EsA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IwZWsUihEeSRp-p9nf2EsA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IwZWskihEeSRp-p9nf2EsA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_btMX4EihEeSRp-p9nf2EsA" name="kind" type="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_wZ9SIGEcEeSRDpkdeXfJuw" name="isManaged">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_DNegsEihEeSRp-p9nf2EsA" name="Finder">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_HDxc0EihEeSRp-p9nf2EsA" name="base_Operation" association="_HDyD4EihEeSRp-p9nf2EsA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Gi3IIEihEeSRp-p9nf2EsA" name="E_Bean_Class1" memberEnd="_Gi3IIUihEeSRp-p9nf2EsA _Gi2hEEihEeSRp-p9nf2EsA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Gi3IIUihEeSRp-p9nf2EsA" name="extension_Bean" type="_Be-XgEihEeSRp-p9nf2EsA" aggregation="composite" association="_Gi3IIEihEeSRp-p9nf2EsA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_HDyD4EihEeSRp-p9nf2EsA" name="E_Finder_Operation1" memberEnd="_HDyD4UihEeSRp-p9nf2EsA _HDxc0EihEeSRp-p9nf2EsA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_HDyD4UihEeSRp-p9nf2EsA" name="extension_Finder" type="_DNegsEihEeSRp-p9nf2EsA" aggregation="composite" association="_HDyD4EihEeSRp-p9nf2EsA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_IwZ9wEihEeSRp-p9nf2EsA" name="bean_finder_1" memberEnd="_IwZ9wUihEeSRp-p9nf2EsA _IwZWsEihEeSRp-p9nf2EsA">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_IwZ9wUihEeSRp-p9nf2EsA" name="bean" type="_Be-XgEihEeSRp-p9nf2EsA" association="_IwZ9wEihEeSRp-p9nf2EsA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IwZ9wkihEeSRp-p9nf2EsA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IwZ9w0ihEeSRp-p9nf2EsA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_WA1SAEihEeSRp-p9nf2EsA" name="BeanKind">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_XMd-sEihEeSRp-p9nf2EsA" name="entity"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Yzr0IEihEeSRp-p9nf2EsA" name="session"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Zg2cIEihEeSRp-p9nf2EsA" name="messagedriven"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Eo_ccEihEeSRp-p9nf2EsA" name="Import">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_JiPwEHW0EeSkkId3wIdLLg" name="base_Dependency" association="_JiQXIHW0EeSkkId3wIdLLg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_JiQXIHW0EeSkkId3wIdLLg" name="E_Import_Dependency1" memberEnd="_JiQXIXW0EeSkkId3wIdLLg _JiPwEHW0EeSkkId3wIdLLg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_JiQXIXW0EeSkkId3wIdLLg" name="extension_Import" type="_Eo_ccEihEeSRp-p9nf2EsA" aggregation="composite" association="_JiQXIHW0EeSkkId3wIdLLg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_m3yyoHcFEeSigYPDkthHwg" name="WebScenario">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_pUrPUHcGEeSigYPDkthHwg" name="base_UseCase" association="_pUrPUXcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_qiossHcFEeSigYPDkthHwg" name="User">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_oB1ucHcGEeSigYPDkthHwg" name="base_Actor" association="_oB2VgHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_rus3MHcFEeSigYPDkthHwg" name="Browser">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_oiYPsHcGEeSigYPDkthHwg" name="base_Actor" association="_oiY2wHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_4VupIHcFEeSigYPDkthHwg" name="BranchPoint">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_o5nrAHcGEeSigYPDkthHwg" name="base_ExtensionPoint" association="_o5oSEHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_8HPL4HcFEeSigYPDkthHwg" name="Web">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_iTkkEHcGEeSigYPDkthHwg" name="base_Association" association="_iTlLIHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Association"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_iTlLIHcGEeSigYPDkthHwg" name="E_Web_Association1" memberEnd="_iTlLIXcGEeSigYPDkthHwg _iTkkEHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_iTlLIXcGEeSigYPDkthHwg" name="extension_Web" type="_8HPL4HcFEeSigYPDkthHwg" aggregation="composite" association="_iTlLIHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_oB2VgHcGEeSigYPDkthHwg" name="E_User_Actor1" memberEnd="_oB2VgXcGEeSigYPDkthHwg _oB1ucHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_oB2VgXcGEeSigYPDkthHwg" name="extension_User" type="_qiossHcFEeSigYPDkthHwg" aggregation="composite" association="_oB2VgHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_oiY2wHcGEeSigYPDkthHwg" name="E_Browser_Actor1" memberEnd="_oiY2wXcGEeSigYPDkthHwg _oiYPsHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_oiY2wXcGEeSigYPDkthHwg" name="extension_Browser" type="_rus3MHcFEeSigYPDkthHwg" aggregation="composite" association="_oiY2wHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_o5oSEHcGEeSigYPDkthHwg" name="E_BranchPoint_ExtensionPoint1" memberEnd="_o5oSEXcGEeSigYPDkthHwg _o5nrAHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_o5oSEXcGEeSigYPDkthHwg" name="extension_BranchPoint" type="_4VupIHcFEeSigYPDkthHwg" aggregation="composite" association="_o5oSEHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_pUrPUXcGEeSigYPDkthHwg" name="E_WebScenario_UseCase1" memberEnd="_pUrPUncGEeSigYPDkthHwg _pUrPUHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_pUrPUncGEeSigYPDkthHwg" name="extension_WebScenario" type="_m3yyoHcFEeSigYPDkthHwg" aggregation="composite" association="_pUrPUXcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4DUj4IZCEeSuTJMIrueWyQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4EfBgIZCEeSuTJMIrueWyQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Profile>
+ <Ecore:EPackage xmi:id="_5jYBYIZCEeSuTJMIrueWyQ" base_Package="_raLqoEigEeSRp-p9nf2EsA" basePackage="org.eclipse.papyrus.example"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.di b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.di
new file mode 100644
index 00000000000..2d3a1e68715
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.di
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="model.notation#_S6wQIHZ7EeSQBcYaEPMraQ"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="model.notation#_O-mO8HEdEeS_DJfE0yCnLQ"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.notation b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.notation
new file mode 100644
index 00000000000..f11e76c521c
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.notation
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_O-mO8HEdEeS_DJfE0yCnLQ" type="PapyrusUMLClassDiagram" name="classes" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_PrVZIHEdEeS_DJfE0yCnLQ" type="2008">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_p17o8HWrEeSkkId3wIdLLg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p18QAHWrEeSkkId3wIdLLg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p18QAXWrEeSkkId3wIdLLg" key="StereotypeList" value="j2ee::Bean"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p18QAnWrEeSkkId3wIdLLg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p18QA3WrEeSkkId3wIdLLg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_p18QBHWrEeSkkId3wIdLLg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PrWAMHEdEeS_DJfE0yCnLQ" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PrWAMXEdEeS_DJfE0yCnLQ" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PrWAMnEdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PrWAM3EdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PrWANHEdEeS_DJfE0yCnLQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PrWANXEdEeS_DJfE0yCnLQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PrWnQHEdEeS_DJfE0yCnLQ" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_aypeQJq-EeS98bfQ1nTVcg" type="3013">
+ <element xmi:type="uml:Operation" href="model.uml#_ZCl4gHW0EeSkkId3wIdLLg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aypeQZq-EeS98bfQ1nTVcg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PrWnQXEdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PrWnQnEdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PrWnQ3EdEeS_DJfE0yCnLQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PrWnRHEdEeS_DJfE0yCnLQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PrWnRXEdEeS_DJfE0yCnLQ" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PrWnRnEdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PrWnR3EdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PrWnSHEdEeS_DJfE0yCnLQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PrWnSXEdEeS_DJfE0yCnLQ"/>
+ </children>
+ <element xmi:type="uml:Class" href="model.uml#_PrS84HEdEeS_DJfE0yCnLQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PrVZIXEdEeS_DJfE0yCnLQ" x="56" y="96"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RYNKoHEdEeS_DJfE0yCnLQ" type="2010">
+ <children xmi:type="notation:DecorationNode" xmi:id="_RYNxsHEdEeS_DJfE0yCnLQ" type="5035"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RYNxsXEdEeS_DJfE0yCnLQ" type="7020">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RYNxsnEdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RYNxs3EdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RYNxtHEdEeS_DJfE0yCnLQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RYNxtXEdEeS_DJfE0yCnLQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_RYNxtnEdEeS_DJfE0yCnLQ" type="7021">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RYNxt3EdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_RYNxuHEdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_RYNxuXEdEeS_DJfE0yCnLQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RYNxunEdEeS_DJfE0yCnLQ"/>
+ </children>
+ <element xmi:type="uml:DataType" href="model.uml#_RYL8gHEdEeS_DJfE0yCnLQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RYNKoXEdEeS_DJfE0yCnLQ" x="53" y="275"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8ELw8HGsEeSTCIbHjn6Y4g" type="2007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8EMYAHGsEeSTCIbHjn6Y4g" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8EMYAXGsEeSTCIbHjn6Y4g" type="7016">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8EMYAnGsEeSTCIbHjn6Y4g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8EMYA3GsEeSTCIbHjn6Y4g"/>
+ </children>
+ <element xmi:type="uml:Package" href="model.uml#_8EGRYHGsEeSTCIbHjn6Y4g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8ELw8XGsEeSTCIbHjn6Y4g" x="349" y="274"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_O-mO8XEdEeS_DJfE0yCnLQ" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_O-mO8nEdEeS_DJfE0yCnLQ"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_O-mO83EdEeS_DJfE0yCnLQ">
+ <owner xmi:type="uml:Model" href="model.uml#_O9xvkHEdEeS_DJfE0yCnLQ"/>
+ </styles>
+ <element xmi:type="uml:Model" href="model.uml#_O9xvkHEdEeS_DJfE0yCnLQ"/>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_JbdSAHKHEeS7b6YelyJArg" type="PapyrusUMLClassDiagram" name="package1 classes" measurementUnit="Pixel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_JbdSAXKHEeS7b6YelyJArg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_JbdSAnKHEeS7b6YelyJArg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_JbdSA3KHEeS7b6YelyJArg">
+ <owner xmi:type="uml:Package" href="model.uml#_8EGRYHGsEeSTCIbHjn6Y4g"/>
+ </styles>
+ <element xmi:type="uml:Package" href="model.uml#_8EGRYHGsEeSTCIbHjn6Y4g"/>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_S6wQIHZ7EeSQBcYaEPMraQ" type="UseCase" name="Use Cases" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_WW8DIHZ7EeSQBcYaEPMraQ" type="2013">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zn2vUHcGEeSigYPDkthHwg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zn2vUXcGEeSigYPDkthHwg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zn2vUncGEeSigYPDkthHwg" key="StereotypeList" value="profile1::WebScenario"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zn2vU3cGEeSigYPDkthHwg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zn3WYHcGEeSigYPDkthHwg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zn3WYXcGEeSigYPDkthHwg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_WW94UHZ7EeSQBcYaEPMraQ" type="5016"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_WW94UXZ7EeSQBcYaEPMraQ" type="7009">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_WW94UnZ7EeSQBcYaEPMraQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_WW94U3Z7EeSQBcYaEPMraQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WW94VHZ7EeSQBcYaEPMraQ"/>
+ </children>
+ <element xmi:type="uml:UseCase" href="model.uml#_WWuAsHZ7EeSQBcYaEPMraQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WW8DIXZ7EeSQBcYaEPMraQ" x="70" y="72"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Fdb0MJq-EeS98bfQ1nTVcg" type="2011">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FddCUJq-EeS98bfQ1nTVcg" type="5014">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FddpYJq-EeS98bfQ1nTVcg" x="-1" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FddpYZq-EeS98bfQ1nTVcg" type="6029">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FddpYpq-EeS98bfQ1nTVcg" x="2" y="-15"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FdeQcJq-EeS98bfQ1nTVcg" type="6037">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FdeQcZq-EeS98bfQ1nTVcg" x="20" y="80"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_FdeQcpq-EeS98bfQ1nTVcg" type="6048">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FdeQc5q-EeS98bfQ1nTVcg" y="5"/>
+ </children>
+ <element xmi:type="uml:Actor" href="model.uml#_FVAQ8Jq-EeS98bfQ1nTVcg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fdb0MZq-EeS98bfQ1nTVcg" x="345" y="263"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_S6w3MHZ7EeSQBcYaEPMraQ" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_S6w3MXZ7EeSQBcYaEPMraQ"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_S6w3MnZ7EeSQBcYaEPMraQ">
+ <owner xmi:type="uml:Model" href="model.uml#_O9xvkHEdEeS_DJfE0yCnLQ"/>
+ </styles>
+ <element xmi:type="uml:Model" href="model.uml#_O9xvkHEdEeS_DJfE0yCnLQ"/>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.uml b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.uml
new file mode 100644
index 00000000000..722cb005b46
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/model.uml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:j2ee="http:///schemas/j2ee/_uRcrUHcGEeSigYPDkthHwg/4" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http:///schemas/j2ee/_uRcrUHcGEeSigYPDkthHwg/4 platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee.profile.uml#_uRfuoHcGEeSigYPDkthHwg">
+ <uml:Model xmi:id="_O9xvkHEdEeS_DJfE0yCnLQ" name="Model">
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_O9xvkXEdEeS_DJfE0yCnLQ">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Class" xmi:id="_PrS84HEdEeS_DJfE0yCnLQ" name="Bean1">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_ZCl4gHW0EeSkkId3wIdLLg" name="Finder1"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:DataType" xmi:id="_RYL8gHEdEeS_DJfE0yCnLQ" name="DataType1"/>
+ <packagedElement xmi:type="uml:Package" xmi:id="_8EGRYHGsEeSTCIbHjn6Y4g" name="Package1"/>
+ <packagedElement xmi:type="uml:UseCase" xmi:id="_WWuAsHZ7EeSQBcYaEPMraQ" name="WebScenario1"/>
+ <packagedElement xmi:type="uml:Actor" xmi:id="_FVAQ8Jq-EeS98bfQ1nTVcg" name="User1"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ot30sHWrEeSkkId3wIdLLg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xE-i4HcGEeSigYPDkthHwg" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xE-i4XcGEeSigYPDkthHwg" key="Version" value="0.0.5"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xE-i4ncGEeSigYPDkthHwg" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xE-i43cGEeSigYPDkthHwg" key="Copyright" value="Copyright © 2014 Christian W. Damus. All rights reserved."/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xE-i5HcGEeSigYPDkthHwg" key="Date" value="2014-11-28"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xE-i5XcGEeSigYPDkthHwg" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ouk_UHWrEeSkkId3wIdLLg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee.profile.uml#_uRfuoHcGEeSigYPDkthHwg"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ </profileApplication>
+ </uml:Model>
+ <j2ee:Bean xmi:id="_p1m40HWrEeSkkId3wIdLLg" base_Class="_PrS84HEdEeS_DJfE0yCnLQ"/>
+ <j2ee:Finder xmi:id="_ZCvCcHW0EeSkkId3wIdLLg" base_Operation="_ZCl4gHW0EeSkkId3wIdLLg"/>
+ <j2ee:WebScenario xmi:id="_znnewHcGEeSigYPDkthHwg" base_UseCase="_WWuAsHZ7EeSQBcYaEPMraQ"/>
+ <j2ee:Web xmi:id="_CksBoIeHEeSopIz8OXrJIg"/>
+ <j2ee:Web xmi:id="_EYWXoYeHEeSopIz8OXrJIg"/>
+ <j2ee:Web xmi:id="_Fx16IIeHEeSopIz8OXrJIg"/>
+ <j2ee:User xmi:id="_FcLP8Jq-EeS98bfQ1nTVcg" base_Actor="_FVAQ8Jq-EeS98bfQ1nTVcg"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants
new file mode 100644
index 00000000000..a92253b3e28
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assistant:ModelingAssistantProvider xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:assistant="http://www.eclipse.org/Papyrus/2014/diagram/assistant" xmlns:filters="http://www.eclipse.org/Papyrus/2014/common/filters" name="Assistants for JUnit tests">
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="isPackage" elementTypeID="org.eclipse.papyrus.uml.Package"/>
+ <ownedFilter xsi:type="filters:CompoundFilter" name="isClassOrDataType" filter="//@ownedFilter.2 //@ownedFilter.3" operator="or"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="isClass" elementTypeID="org.eclipse.papyrus.uml.Class"/>
+ <ownedFilter xsi:type="assistant:ElementTypeFilter" name="isDataType" elementTypeID="org.eclipse.papyrus.uml.DataType"/>
+ <ownedFilter xsi:type="assistant:AssistedElementTypeFilter" name="isAssistedElementType"/>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.uml.Class" filter="//@ownedFilter.0"/>
+ <popupAssistant elementTypeID="org.eclipse.papyrus.uml.DataType" filter="//@ownedFilter.0"/>
+ <connectionAssistant elementTypeID="org.eclipse.papyrus.uml.Usage" sourceFilter="//@ownedFilter.2" targetFilter="//@ownedFilter.1"/>
+ <elementTypeID>org.eclipse.papyrus.uml.Usage</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.uml.Class</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.uml.DataType</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.uml.Package</elementTypeID>
+ <elementTypeID>org.eclipse.papyrus.uml.Generalization</elementTypeID>
+ <excludedElementTypeID>org.eclipse.papyrus.uml.AssociationClass</excludedElementTypeID>
+</assistant:ModelingAssistantProvider>
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantAllTests.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantAllTests.java
new file mode 100644
index 00000000000..c4002db99a6
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantAllTests.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>Assistant</b></em>' model.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AssistantAllTests extends TestSuite {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(suite());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Test suite() {
+ TestSuite suite = new AssistantAllTests("Assistant Tests"); //$NON-NLS-1$
+ suite.addTest(AssistantTests.suite());
+ return suite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssistantAllTests(String name) {
+ super(name);
+ }
+
+} // AssistantAllTests
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantTest.java
new file mode 100644
index 00000000000..87f73ed06e1
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantTest.java
@@ -0,0 +1,94 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+import junit.framework.TestCase;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Assistant</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant#getElementType() <em>Element Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AssistantTest extends TestCase {
+
+ /**
+ * The fixture for this Assistant test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Assistant fixture = null;
+
+ /**
+ * Constructs a new Assistant test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssistantTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Sets the fixture for this Assistant test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void setFixture(Assistant fixture) {
+ this.fixture = fixture;
+ }
+
+ /**
+ * Returns the fixture for this Assistant test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Assistant getFixture() {
+ return fixture;
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant#getElementType() <em>Element Type</em>}' feature getter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant#getElementType()
+ * @generated NOT
+ */
+ public void testGetElementType() {
+ assertThat(getFixture().getElementType(), nullValue());
+
+ getFixture().setElementTypeID("org.eclipse.papyrus.uml.Class");
+ assertThat(getFixture().getElementType(), is(ElementTypeRegistry.getInstance().getType("org.eclipse.papyrus.uml.Class")));
+ }
+
+} // AssistantTest
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantTests.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantTests.java
new file mode 100644
index 00000000000..ab1f7c03e81
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantTests.java
@@ -0,0 +1,64 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>assistant</b></em>' package.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AssistantTests extends TestSuite {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(suite());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Test suite() {
+ TestSuite suite = new AssistantTests("assistant Tests"); //$NON-NLS-1$
+ suite.addTestSuite(AssistedElementTypeFilterTest.class);
+ suite.addTestSuite(ModelingAssistantProviderTest.class);
+ suite.addTestSuite(PopupAssistantTest.class);
+ suite.addTestSuite(ConnectionAssistantTest.class);
+ suite.addTestSuite(ElementTypeFilterTest.class);
+ return suite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssistantTests(String name) {
+ super(name);
+ }
+
+} // AssistantTests
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistedElementTypeFilterTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistedElementTypeFilterTest.java
new file mode 100644
index 00000000000..88dfd8893e7
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistedElementTypeFilterTest.java
@@ -0,0 +1,198 @@
+/**
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import static org.eclipse.papyrus.infra.gmfdiag.assistant.tests.ElementTypesUtil.canonicalize;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.Arrays;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+import org.eclipse.emf.common.util.URI;
+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.papyrus.infra.emf.utils.EMFHelper;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistedElementTypeFilter;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Assisted Element Type Filter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.AssistedElementTypeFilter#getProvider() <em>Provider</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AssistedElementTypeFilterTest extends TestCase
+{
+
+ /**
+ * The fixture for this Assisted Element Type Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AssistedElementTypeFilter fixture = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args)
+ {
+ TestRunner.run(AssistedElementTypeFilterTest.class);
+ }
+
+ /**
+ * Constructs a new Assisted Element Type Filter test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AssistedElementTypeFilterTest(String name)
+ {
+ super(name);
+ }
+
+ /**
+ * Sets the fixture for this Assisted Element Type Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void setFixture(AssistedElementTypeFilter fixture)
+ {
+ this.fixture = fixture;
+ }
+
+ /**
+ * Returns the fixture for this Assisted Element Type Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AssistedElementTypeFilter getFixture()
+ {
+ return fixture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#setUp()
+ * @generated NOT
+ */
+ @Override
+ protected void setUp() throws Exception
+ {
+ ResourceSet rset = new ResourceSetImpl();
+ rset.eAdapters().add(new CacheAdapter());
+ Resource res = rset.getResource(URI.createPlatformPluginURI("org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants", true), true);
+
+ setFixture((AssistedElementTypeFilter) ((ModelingAssistantProvider) res.getContents().get(0)).getOwnedFilter("isAssistedElementType"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#tearDown()
+ * @generated NOT
+ */
+ @Override
+ protected void tearDown() throws Exception
+ {
+ EMFHelper.unload(EMFHelper.getResourceSet(getFixture()));
+ setFixture(null);
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.AssistedElementTypeFilter#getProvider() <em>Provider</em>}' feature getter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.AssistedElementTypeFilter#getProvider()
+ * @generated NOT
+ */
+ public void testGetProvider()
+ {
+ ModelingAssistantProvider provider = (ModelingAssistantProvider) EcoreUtil.getRootContainer(getFixture());
+
+ assertThat(getFixture().getProvider(), is(provider));
+
+ try {
+ EcoreUtil.remove(getFixture());
+ assertThat(getFixture().getProvider(), nullValue());
+ } finally {
+ // Let it be properly unloaded
+ provider.getOwnedFilters().add(getFixture());
+ }
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object)
+ * @generated NOT
+ */
+ public void testMatches__Object()
+ {
+ // Match an element type
+ assertThat(getFixture().matches(canonicalize(UMLElementTypes.DATA_TYPE)), is(true));
+ assertThat(getFixture().matches(canonicalize(UMLElementTypes.ENUMERATION)), is(false)); // don't match element-type subtypes
+ assertThat(getFixture().matches(canonicalize(UMLElementTypes.CALL_BEHAVIOR_ACTION)), is(false));
+
+ // Create some objects that will be cleaned up properly at tear-down
+ Resource uml = UMLResource.Factory.INSTANCE.createResource(URI.createURI("test://model.uml"));
+ EMFHelper.getResourceSet(getFixture()).getResources().add(uml);
+ uml.getContents().addAll(Arrays.asList( //
+ UMLFactory.eINSTANCE.createDataType(), //
+ UMLFactory.eINSTANCE.createEnumeration(),//
+ UMLFactory.eINSTANCE.createCallBehaviorAction()));
+
+ // Match an object
+ assertThat(getFixture().matches(uml.getContents().get(0)), is(true));
+ assertThat(getFixture().matches(uml.getContents().get(1)), is(true)); // match object subtypes
+ assertThat(getFixture().matches(uml.getContents().get(2)), is(false));
+ }
+
+} // AssistedElementTypeFilterTest
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ConnectionAssistantTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ConnectionAssistantTest.java
new file mode 100644
index 00000000000..385ec5f1d1a
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ConnectionAssistantTest.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantFactory;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Connection Assistant</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ConnectionAssistantTest extends AssistantTest {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(ConnectionAssistantTest.class);
+ }
+
+ /**
+ * Constructs a new Connection Assistant test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ConnectionAssistantTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Returns the fixture for this Connection Assistant test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected ConnectionAssistant getFixture() {
+ return (ConnectionAssistant) fixture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#setUp()
+ * @generated
+ */
+ @Override
+ protected void setUp() throws Exception {
+ setFixture(AssistantFactory.eINSTANCE.createConnectionAssistant());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#tearDown()
+ * @generated
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ setFixture(null);
+ }
+
+} // ConnectionAssistantTest
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ElementTypeFilterTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ElementTypeFilterTest.java
new file mode 100644
index 00000000000..1206b98a62f
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ElementTypeFilterTest.java
@@ -0,0 +1,195 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+import org.eclipse.gmf.runtime.emf.type.core.EditHelperContext;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IEditHelperContext;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantFactory;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider;
+import org.eclipse.papyrus.infra.services.edit.utils.ElementTypeUtils;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Element Type Filter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getElementType() <em>Element Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getProvider() <em>Provider</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ElementTypeFilterTest extends TestCase {
+
+ /**
+ * The fixture for this Element Type Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ElementTypeFilter fixture = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(ElementTypeFilterTest.class);
+ }
+
+ /**
+ * Constructs a new Element Type Filter test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ElementTypeFilterTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Sets the fixture for this Element Type Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void setFixture(ElementTypeFilter fixture) {
+ this.fixture = fixture;
+ }
+
+ /**
+ * Returns the fixture for this Element Type Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ElementTypeFilter getFixture() {
+ return fixture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#setUp()
+ * @generated NOT
+ */
+ @Override
+ protected void setUp() throws Exception {
+ ModelingAssistantProvider provider = AssistantFactory.eINSTANCE.createModelingAssistantProvider();
+ provider.setName("test");
+ setFixture((ElementTypeFilter) provider.createOwnedFilter("elementType", AssistantPackage.Literals.ELEMENT_TYPE_FILTER));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#tearDown()
+ * @generated
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ setFixture(null);
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getElementType() <em>Element Type</em>}' feature getter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getElementType()
+ * @generated NOT
+ */
+ public void testGetElementType() {
+ IElementType type = ElementTypeRegistry.getInstance().getType("org.eclipse.papyrus.uml.AssociationBase");
+
+ assertThat(getFixture().getElementType(), nullValue());
+
+ getFixture().setElementTypeID("org.eclipse.papyrus.uml.AssociationBase");
+
+ assertThat(getFixture().getElementType(), is(type));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getProvider() <em>Provider</em>}' feature getter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter#getProvider()
+ * @generated NOT
+ */
+ public void testGetProvider()
+ {
+ assertThat(getFixture().getProvider(), notNullValue());
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object)
+ * @generated NOT
+ */
+ public void testMatches__Object()
+ {
+ IElementType type = ElementTypeRegistry.getInstance().getType("org.eclipse.papyrus.uml.AssociationBase");
+ Association association = UMLFactory.eINSTANCE.createAssociation();
+ IEditHelperContext editContext = new EditHelperContext(association, ElementTypeUtils.getEditContext());
+
+ assertThat(getFixture().matches(type), is(false));
+ assertThat(getFixture().matches(association), is(false));
+ assertThat(getFixture().matches(editContext), is(false));
+
+ getFixture().setElementTypeID("org.eclipse.papyrus.uml.AssociationBase");
+
+ assertThat(getFixture().matches(type), is(true));
+ assertThat(getFixture().matches(association), is(true));
+ assertThat(getFixture().matches(editContext), is(true));
+
+ getFixture().setElementTypeID("org.eclipse.papyrus.uml.Class");
+
+ assertThat(getFixture().matches(type), is(false));
+ assertThat(getFixture().matches(association), is(false));
+ assertThat(getFixture().matches(editContext), is(false));
+ }
+
+} // ElementTypeFilterTest
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/IModelingAssistantProviderTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/IModelingAssistantProviderTest.java
new file mode 100644
index 00000000000..a9fe6e8ae93
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/IModelingAssistantProviderTest.java
@@ -0,0 +1,279 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>IModeling Assistant Provider</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation) <em>Provides</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#addProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Add Provider Change Listener</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#removeProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Remove Provider Change Listener</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypes(java.lang.String, org.eclipse.core.runtime.IAdaptable) <em>Get Types</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSource(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Source</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnTarget(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Target</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSourceAndTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Source And Target</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnTarget(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types For SRE On Target</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnSource(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types For SRE On Source</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Get Types For Source</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Get Types For Target</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Select Existing Element For Source
+ * </em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Select Existing Element For Target
+ * </em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForPopupBar(org.eclipse.core.runtime.IAdaptable) <em>Get Types For Popup Bar</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class IModelingAssistantProviderTest extends TestCase
+{
+
+ /**
+ * The fixture for this IModeling Assistant Provider test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IModelingAssistantProvider fixture = null;
+
+ /**
+ * Constructs a new IModeling Assistant Provider test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IModelingAssistantProviderTest(String name)
+ {
+ super(name);
+ }
+
+ /**
+ * Sets the fixture for this IModeling Assistant Provider test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void setFixture(IModelingAssistantProvider fixture)
+ {
+ this.fixture = fixture;
+ }
+
+ /**
+ * Returns the fixture for this IModeling Assistant Provider test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IModelingAssistantProvider getFixture()
+ {
+ return fixture;
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation) <em>Provides</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation)
+ * @generated NOT
+ */
+ public void testProvides__IOperation()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.common.core.service.IProvider#addProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Add Provider Change Listener</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.common.core.service.IProvider#addProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener)
+ * @generated NOT
+ */
+ public void testAddProviderChangeListener__IProviderChangeListener()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.common.core.service.IProvider#removeProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Remove Provider Change Listener</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.common.core.service.IProvider#removeProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener)
+ * @generated NOT
+ */
+ public void testRemoveProviderChangeListener__IProviderChangeListener()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypes(java.lang.String, org.eclipse.core.runtime.IAdaptable) <em>Get Types</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypes(java.lang.String, org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetTypes__String_IAdaptable()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSource(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Source</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSource(org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetRelTypesOnSource__IAdaptable()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnTarget(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnTarget(org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetRelTypesOnTarget__IAdaptable()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSourceAndTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Source And Target</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSourceAndTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetRelTypesOnSourceAndTarget__IAdaptable_IAdaptable()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnTarget(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types For SRE On Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnTarget(org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetRelTypesForSREOnTarget__IAdaptable()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnSource(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types For SRE On Source</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnSource(org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetRelTypesForSREOnSource__IAdaptable()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Get Types For Source</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * @generated NOT
+ */
+ public void testGetTypesForSource__IAdaptable_IElementType()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Get Types For Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * @generated NOT
+ */
+ public void testGetTypesForTarget__IAdaptable_IElementType()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * <em>Select Existing Element For Source</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * @generated NOT
+ */
+ public void testSelectExistingElementForSource__IAdaptable_IElementType()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * <em>Select Existing Element For Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * @generated NOT
+ */
+ public void testSelectExistingElementForTarget__IAdaptable_IElementType()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForPopupBar(org.eclipse.core.runtime.IAdaptable) <em>Get Types For Popup Bar</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForPopupBar(org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetTypesForPopupBar__IAdaptable()
+ {
+ fail("This test should never be executed");
+ }
+
+} // IModelingAssistantProviderTest
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/IProviderTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/IProviderTest.java
new file mode 100644
index 00000000000..44bb1db879a
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/IProviderTest.java
@@ -0,0 +1,120 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.gmf.runtime.common.core.service.IProvider;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>IProvider</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation) <em>Provides</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#addProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Add Provider Change Listener</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#removeProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Remove Provider Change Listener</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class IProviderTest extends TestCase
+{
+
+ /**
+ * The fixture for this IProvider test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IProvider fixture = null;
+
+ /**
+ * Constructs a new IProvider test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public IProviderTest(String name)
+ {
+ super(name);
+ }
+
+ /**
+ * Sets the fixture for this IProvider test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void setFixture(IProvider fixture)
+ {
+ this.fixture = fixture;
+ }
+
+ /**
+ * Returns the fixture for this IProvider test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IProvider getFixture()
+ {
+ return fixture;
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation) <em>Provides</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation)
+ * @generated NOT
+ */
+ public void testProvides__IOperation()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.common.core.service.IProvider#addProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Add Provider Change Listener</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.common.core.service.IProvider#addProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener)
+ * @generated NOT
+ */
+ public void testAddProviderChangeListener__IProviderChangeListener()
+ {
+ fail("This test should never be executed");
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.common.core.service.IProvider#removeProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Remove Provider Change Listener</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.common.core.service.IProvider#removeProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener)
+ * @generated NOT
+ */
+ public void testRemoveProviderChangeListener__IProviderChangeListener()
+ {
+ fail("This test should never be executed");
+ }
+
+} // IProviderTest
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ModelingAssistantProviderTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ModelingAssistantProviderTest.java
new file mode 100644
index 00000000000..c54f45d5d29
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ModelingAssistantProviderTest.java
@@ -0,0 +1,483 @@
+/**
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import static org.eclipse.papyrus.infra.gmfdiag.assistant.tests.ElementTypesUtil.canonicalize;
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.Collection;
+
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+import org.eclipse.emf.common.util.URI;
+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.gmf.runtime.common.core.service.IProviderChangeListener;
+import org.eclipse.gmf.runtime.common.core.service.ProviderChangeEvent;
+import org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter;
+import org.eclipse.gmf.runtime.emf.type.core.ClientContextManager;
+import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.GetTypesForPopupBarOperation;
+import org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.GetTypesOperation;
+import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider;
+import org.eclipse.papyrus.infra.services.edit.utils.ElementTypeUtils;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.uml2.common.util.CacheAdapter;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.hamcrest.CoreMatchers;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Modeling Assistant Provider</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementTypes() <em>Element Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getClientContext() <em>Client Context</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getExcludedElementTypes() <em>Excluded Element Type</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation) <em>Provides</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#addProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Add Provider Change Listener</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.common.core.service.IProvider#removeProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Remove Provider Change Listener</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypes(java.lang.String, org.eclipse.core.runtime.IAdaptable) <em>Get Types</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSource(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Source</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnTarget(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Target</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSourceAndTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Source And Target</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnTarget(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types For SRE On Target</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnSource(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types For SRE On Source</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Get Types For Source</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Get Types For Target</em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Select Existing Element For Source
+ * </em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Select Existing Element For Target
+ * </em>}</li>
+ * <li>{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForPopupBar(org.eclipse.core.runtime.IAdaptable) <em>Get Types For Popup Bar</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementType(java.lang.String) <em>Get Element Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModelingAssistantProviderTest extends TestCase {
+
+ /**
+ * The fixture for this Modeling Assistant Provider test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ModelingAssistantProvider fixture = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(ModelingAssistantProviderTest.class);
+ }
+
+ /**
+ * Constructs a new Modeling Assistant Provider test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ModelingAssistantProviderTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Sets the fixture for this Modeling Assistant Provider test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void setFixture(ModelingAssistantProvider fixture) {
+ this.fixture = fixture;
+ }
+
+ /**
+ * Returns the fixture for this Modeling Assistant Provider test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ModelingAssistantProvider getFixture() {
+ return fixture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#setUp()
+ * @generated NOT
+ */
+ @Override
+ protected void setUp() throws Exception {
+ ResourceSet rset = new ResourceSetImpl();
+ rset.eAdapters().add(new CacheAdapter());
+ Resource res = rset.getResource(URI.createPlatformPluginURI("org.eclipse.papyrus.infra.gmfdiag.assistant.tests/resources/test.assistants", true), true);
+
+ setFixture((ModelingAssistantProvider) res.getContents().get(0));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#tearDown()
+ * @generated NOT
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ EMFHelper.unload(EMFHelper.getResourceSet(getFixture()));
+ setFixture(null);
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementTypes() <em>Element Type</em>}' feature getter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementTypes()
+ * @generated NOT
+ */
+ public void testGetElementTypes() {
+ assertThat(getFixture().getElementTypes(), hasItem(canonicalize(UMLElementTypes.USAGE)));
+ assertThat(getFixture().getElementTypes(), hasItem(canonicalize(UMLElementTypes.CLASS)));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getClientContext() <em>Client Context</em>}' feature getter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getClientContext()
+ * @generated NOT
+ */
+ public void testGetClientContext()
+ {
+ assertThat(getFixture().getClientContext(), is(ElementTypeUtils.getEditContext()));
+
+ getFixture().setClientContextID("org.eclipse.papyrus.uml.diagram.clazz.TypeContext");
+ IClientContext classDiagramContext = ClientContextManager.getInstance().getClientContext("org.eclipse.papyrus.uml.diagram.clazz.TypeContext");
+ if (classDiagramContext == null) {
+ assertThat(getFixture().getClientContext(), is(ElementTypeUtils.getEditContext()));
+ } else {
+ assertThat(getFixture().getClientContext(), is(classDiagramContext));
+ }
+
+ // This one always exists
+ getFixture().setClientContextID("org.eclipse.gmf.runtime.emf.type.core.defaultContext");
+ IClientContext gmfContext = ClientContextManager.getInstance().getClientContext("org.eclipse.gmf.runtime.emf.type.core.defaultContext");
+ assertThat(getFixture().getClientContext(), is(gmfContext));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getExcludedElementTypes() <em>Excluded Element Type</em>}' feature getter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getExcludedElementTypes()
+ * @generated NOT
+ */
+ public void testGetExcludedElementTypes()
+ {
+ assertThat(getFixture().getExcludedElementTypes(), hasItem(canonicalize(UMLElementTypes.ASSOCIATION_CLASS)));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation) <em>Provides</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.common.core.service.IProvider#provides(org.eclipse.gmf.runtime.common.core.service.IOperation)
+ * @generated NOT
+ */
+ public void testProvides__IOperation() {
+ assertThat(getFixture().provides(new GetTypesForPopupBarOperation(new EObjectAdapter(UMLFactory.eINSTANCE.createClass())) {
+ }), is(true));
+ assertThat(getFixture().provides(new GetTypesOperation("hint", new EObjectAdapter(UMLFactory.eINSTANCE.createClass())) {
+ }), is(false));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.common.core.service.IProvider#addProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Add Provider Change Listener</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.common.core.service.IProvider#addProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener)
+ * @generated NOT
+ */
+ public void testAddProviderChangeListener__IProviderChangeListener() {
+ IProviderChangeListener listener = new IProviderChangeListener() {
+
+ @Override
+ public void providerChanged(ProviderChangeEvent event) {
+ // Pass
+ }
+ };
+ @SuppressWarnings("unchecked")
+ Collection<IProviderChangeListener> listeners = (Collection<IProviderChangeListener>) getFixture().eGet(AssistantPackage.Literals.IPROVIDER__LISTENER);
+
+ getFixture().addProviderChangeListener(listener);
+ assertThat(listeners, hasItem(listener));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.common.core.service.IProvider#removeProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener) <em>Remove Provider Change Listener</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.common.core.service.IProvider#removeProviderChangeListener(org.eclipse.gmf.runtime.common.core.service.IProviderChangeListener)
+ * @generated NOT
+ */
+ public void testRemoveProviderChangeListener__IProviderChangeListener() {
+ IProviderChangeListener listener = new IProviderChangeListener() {
+
+ @Override
+ public void providerChanged(ProviderChangeEvent event) {
+ // Pass
+ }
+ };
+ @SuppressWarnings("unchecked")
+ Collection<IProviderChangeListener> listeners = (Collection<IProviderChangeListener>) getFixture().eGet(AssistantPackage.Literals.IPROVIDER__LISTENER);
+ listeners.add(listener);
+
+ getFixture().removeProviderChangeListener(listener);
+ assertThat(listeners, not(hasItem(listener)));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypes(java.lang.String, org.eclipse.core.runtime.IAdaptable) <em>Get Types</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypes(java.lang.String, org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetTypes__String_IAdaptable() {
+ try {
+ getFixture().getTypes("hint", new EObjectAdapter(UMLFactory.eINSTANCE.createClass()));
+ fail("Should have thrown UnsupportedOperationException");
+ } catch (UnsupportedOperationException e) {
+ // Pass
+ }
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSource(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Source</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSource(org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetRelTypesOnSource__IAdaptable() {
+ @SuppressWarnings("unchecked")
+ Collection<IElementType> types = getFixture().getRelTypesOnSource(new EObjectAdapter(UMLFactory.eINSTANCE.createClass()));
+
+ assertThat(types, hasItem(canonicalize(UMLElementTypes.USAGE)));
+ assertThat(types, not(hasItem(canonicalize(UMLElementTypes.GENERALIZATION))));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnTarget(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnTarget(org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetRelTypesOnTarget__IAdaptable() {
+ @SuppressWarnings("unchecked")
+ Collection<IElementType> types = getFixture().getRelTypesOnTarget(new EObjectAdapter(UMLFactory.eINSTANCE.createDataType()));
+
+ assertThat(types, hasItem(canonicalize(UMLElementTypes.USAGE)));
+ assertThat(types, not(hasItem(canonicalize(UMLElementTypes.GENERALIZATION))));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSourceAndTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types On Source And Target</em>}'
+ * operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesOnSourceAndTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetRelTypesOnSourceAndTarget__IAdaptable_IAdaptable() {
+ @SuppressWarnings("unchecked")
+ Collection<IElementType> types = getFixture().getRelTypesOnSourceAndTarget(new EObjectAdapter(UMLFactory.eINSTANCE.createClass()), new EObjectAdapter(UMLFactory.eINSTANCE.createDataType()));
+
+ assertThat(types, hasItem(canonicalize(UMLElementTypes.USAGE)));
+ assertThat(types, not(hasItem(canonicalize(UMLElementTypes.GENERALIZATION))));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnTarget(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types For SRE On Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnTarget(org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetRelTypesForSREOnTarget__IAdaptable() {
+ try {
+ getFixture().getRelTypesForSREOnTarget(new EObjectAdapter(UMLFactory.eINSTANCE.createClass()));
+ fail("Should have thrown UnsupportedOperationException");
+ } catch (UnsupportedOperationException e) {
+ // Pass
+ }
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnSource(org.eclipse.core.runtime.IAdaptable) <em>Get Rel Types For SRE On Source</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getRelTypesForSREOnSource(org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetRelTypesForSREOnSource__IAdaptable() {
+ try {
+ getFixture().getRelTypesForSREOnSource(new EObjectAdapter(UMLFactory.eINSTANCE.createClass()));
+ fail("Should have thrown UnsupportedOperationException");
+ } catch (UnsupportedOperationException e) {
+ // Pass
+ }
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Get Types For Source</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * @generated NOT
+ */
+ public void testGetTypesForSource__IAdaptable_IElementType() {
+ @SuppressWarnings("unchecked")
+ Collection<IElementType> types = getFixture().getTypesForSource(new EObjectAdapter(UMLFactory.eINSTANCE.createDataType()), canonicalize(UMLElementTypes.USAGE));
+
+ assertThat(types, hasItem(canonicalize(UMLElementTypes.CLASS)));
+ assertThat(types, not(hasItem(canonicalize(UMLElementTypes.DATA_TYPE))));
+ assertThat(types, not(hasItem(canonicalize(UMLElementTypes.PACKAGE))));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType) <em>Get Types For Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * @generated NOT
+ */
+ public void testGetTypesForTarget__IAdaptable_IElementType() {
+ @SuppressWarnings("unchecked")
+ Collection<IElementType> types = getFixture().getTypesForTarget(new EObjectAdapter(UMLFactory.eINSTANCE.createClass()), canonicalize(UMLElementTypes.USAGE));
+
+ assertThat(types, hasItem(canonicalize(UMLElementTypes.DATA_TYPE)));
+ assertThat(types, hasItem(canonicalize(UMLElementTypes.CLASS)));
+ assertThat(types, not(hasItem(canonicalize(UMLElementTypes.PACKAGE))));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * <em>Select Existing Element For Source</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForSource(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * @generated NOT
+ */
+ public void testSelectExistingElementForSource__IAdaptable_IElementType() {
+ try {
+ getFixture().selectExistingElementForSource(new EObjectAdapter(UMLFactory.eINSTANCE.createClass()), canonicalize(UMLElementTypes.USAGE));
+ fail("Should have thrown UnsupportedOperationException");
+ } catch (UnsupportedOperationException e) {
+ // Pass
+ }
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * <em>Select Existing Element For Target</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#selectExistingElementForTarget(org.eclipse.core.runtime.IAdaptable, org.eclipse.gmf.runtime.emf.type.core.IElementType)
+ * @generated NOT
+ */
+ public void testSelectExistingElementForTarget__IAdaptable_IElementType() {
+ try {
+ getFixture().selectExistingElementForTarget(new EObjectAdapter(UMLFactory.eINSTANCE.createClass()), canonicalize(UMLElementTypes.USAGE));
+ fail("Should have thrown UnsupportedOperationException");
+ } catch (UnsupportedOperationException e) {
+ // Pass
+ }
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForPopupBar(org.eclipse.core.runtime.IAdaptable) <em>Get Types For Popup Bar</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.IModelingAssistantProvider#getTypesForPopupBar(org.eclipse.core.runtime.IAdaptable)
+ * @generated NOT
+ */
+ public void testGetTypesForPopupBar__IAdaptable() {
+ @SuppressWarnings("unchecked")
+ Collection<IElementType> types = getFixture().getTypesForPopupBar(new EObjectAdapter(UMLFactory.eINSTANCE.createPackage()));
+
+ assertThat(types, hasItem(canonicalize(UMLElementTypes.CLASS)));
+ assertThat(types, hasItem(canonicalize(UMLElementTypes.DATA_TYPE)));
+
+ @SuppressWarnings("unchecked")
+ Collection<IElementType> types2 = getFixture().getTypesForPopupBar(new EObjectAdapter(UMLFactory.eINSTANCE.createDataType()));
+ assertThat(types2, not(CoreMatchers.<IElementType> hasItem(CoreMatchers.anything())));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementType(java.lang.String) <em>Get Element Type</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider#getElementType(java.lang.String)
+ * @generated NOT
+ */
+ public void testGetElementType__String()
+ {
+ assertThat(canonicalize(UMLElementTypes.CLASS), is(getFixture().getElementType("org.eclipse.papyrus.uml.Class")));
+ }
+
+} // ModelingAssistantProviderTest
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/PopupAssistantTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/PopupAssistantTest.java
new file mode 100644
index 00000000000..6c0f74eda2d
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src-gen/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/PopupAssistantTest.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import junit.textui.TestRunner;
+
+import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantFactory;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Popup Assistant</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class PopupAssistantTest extends AssistantTest {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(PopupAssistantTest.class);
+ }
+
+ /**
+ * Constructs a new Popup Assistant test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public PopupAssistantTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Returns the fixture for this Popup Assistant test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected PopupAssistant getFixture() {
+ return (PopupAssistant) fixture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#setUp()
+ * @generated
+ */
+ @Override
+ protected void setUp() throws Exception {
+ setFixture(AssistantFactory.eINSTANCE.createPopupAssistant());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#tearDown()
+ * @generated
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ setFixture(null);
+ }
+
+} // PopupAssistantTest
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AbstractModelingAssistantIntegrationTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AbstractModelingAssistantIntegrationTest.java
new file mode 100644
index 00000000000..35d925a7fa7
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AbstractModelingAssistantIntegrationTest.java
@@ -0,0 +1,165 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import static com.google.common.base.Predicates.compose;
+import static com.google.common.base.Predicates.equalTo;
+import static com.google.common.collect.Iterables.filter;
+import static com.google.common.collect.Iterables.find;
+import static org.eclipse.papyrus.infra.emf.utils.EMFFunctions.getFeature;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
+import org.eclipse.gmf.runtime.emf.ui.services.modelingassistant.ModelingAssistantService;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.core.resource.AbstractBaseModel;
+import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationModel;
+import org.eclipse.papyrus.junit.utils.rules.HouseKeeper;
+import org.eclipse.papyrus.junit.utils.rules.ModelSetFixture;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.eclipse.papyrus.junit.utils.rules.ServiceRegistryModelSetFixture;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.UseCase;
+import org.junit.Before;
+import org.junit.ClassRule;
+import org.junit.Rule;
+
+/**
+ * Integration-type tests for the whole diagram assistant stack, from assistant models to the model-based assistant provider via the
+ * GMF Modeling Assistant Service, for generically defined assistants (not specific to a particular diagram).
+ */
+@PluginResource("resources/model.di")
+public class AbstractModelingAssistantIntegrationTest {
+
+ @ClassRule
+ public static final ModelSetFixture model = new ServiceRegistryModelSetFixture();
+
+ @Rule
+ public final HouseKeeper houseKeeper = new HouseKeeper();
+
+ private Diagram useCaseDiagram;
+
+ public AbstractModelingAssistantIntegrationTest() {
+ super();
+ }
+
+ //
+ // Test fixture
+ //
+
+ @Before
+ public void getUseCaseDiagram() {
+ useCaseDiagram = getDiagram("Use Cases");
+ }
+
+ UseCase getUseCase(String name) {
+ return (UseCase) model.getModel().getOwnedType(name, false, UMLPackage.Literals.USE_CASE, false);
+ }
+
+ Actor getActor(String name) {
+ return (Actor) model.getModel().getOwnedType(name, false, UMLPackage.Literals.ACTOR, false);
+ }
+
+ private Resource getNotationResource() {
+ return ((AbstractBaseModel) model.getResourceSet().getModel(NotationModel.MODEL_ID)).getResource();
+ }
+
+ Diagram getDiagram(String name) {
+ return find(filter(getNotationResource().getContents(), Diagram.class), compose(equalTo(name), getFeature(NotationPackage.Literals.DIAGRAM__NAME, String.class)));
+ }
+
+ IAdaptable getEditPartSurrogate(EObject semanticElement) {
+ View view = find(filter(useCaseDiagram.getChildren(), View.class), compose(equalTo(semanticElement), getFeature(NotationPackage.Literals.VIEW__ELEMENT, EObject.class)));
+
+ assertThat("No such view", view, notNullValue());
+
+ return new EditPartSurrogate(semanticElement, view);
+ }
+
+ IAdaptable getDiagramEditPartSurrogate() {
+ return new EditPartSurrogate(useCaseDiagram.getElement(), useCaseDiagram);
+ }
+
+ @SuppressWarnings("restriction")
+ IElementType getProxyType(String semanticTypeID, String visualTypeID) {
+ IElementType semanticType = ElementTypesUtil.requireType(semanticTypeID);
+ IElementType visualType = ElementTypesUtil.requireType(semanticTypeID);
+ return org.eclipse.papyrus.infra.gmfdiag.assistant.internal.core.util.ProxyElementType.create(semanticType, (IHintedType) visualType, true);
+ }
+
+ @SuppressWarnings("unchecked")
+ List<IElementType> getTypesForPopupBar(IAdaptable host) {
+ return ModelingAssistantService.getInstance().getTypesForPopupBar(host);
+ }
+
+ @SuppressWarnings("unchecked")
+ List<IElementType> getRelTypesOnSource(IAdaptable source) {
+ return ModelingAssistantService.getInstance().getRelTypesOnSource(source);
+ }
+
+ @SuppressWarnings("unchecked")
+ List<IElementType> getRelTypesOnTarget(IAdaptable target) {
+ return ModelingAssistantService.getInstance().getRelTypesOnTarget(target);
+ }
+
+ @SuppressWarnings("unchecked")
+ List<IElementType> getRelTypesOnSourceAndTarget(IAdaptable source, IAdaptable target) {
+ return ModelingAssistantService.getInstance().getRelTypesOnSourceAndTarget(source, target);
+ }
+
+ @SuppressWarnings("unchecked")
+ List<IElementType> getTypesForTarget(IAdaptable source, IElementType connectionType) {
+ return ModelingAssistantService.getInstance().getTypesForTarget(source, connectionType);
+ }
+
+ @SuppressWarnings("unchecked")
+ List<IElementType> getTypesForSource(IAdaptable target, IElementType connectionType) {
+ return ModelingAssistantService.getInstance().getTypesForSource(target, connectionType);
+ }
+
+ //
+ // Nested types
+ //
+
+ /**
+ * A surrogate for GEF edit parts from a visible diagram, which provides all that the modeling assistant framework needs from an edit
+ * part: adapters for the semantic and notation model elements.
+ */
+ private static class EditPartSurrogate implements IAdaptable {
+ private final EObject semanticElement;
+ private final View notationElement;
+
+ EditPartSurrogate(EObject semanticElement, View notationElement) {
+ this.semanticElement = semanticElement;
+ this.notationElement = notationElement;
+ }
+
+ @Override
+ public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
+ return (adapter == EObject.class) ? semanticElement //
+ : (adapter == View.class) ? notationElement //
+ : null;
+ }
+ }
+}
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AllTests.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AllTests.java
new file mode 100644
index 00000000000..fc69be9b71a
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AllTests.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import org.eclipse.papyrus.infra.elementtypesconfigurations.registries.ElementTypeSetConfigurationRegistry;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * The master test suite for the plug-in.
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ AssistantAllTests.class, //
+// TODO: These integration tests require that the Use Case diagram be regenerated for Diagram Assistants support
+/* GenericModelingAssistantIntegrationTest.class, DiagramSpecificModelingAssistantIntegrationTest.class */})
+public class AllTests {
+ @BeforeClass
+ public static void ensureElementTypesRegistry() {
+ ElementTypeSetConfigurationRegistry.getInstance();
+ }
+
+ @AfterClass
+ public static void disposeElementTypesRegistry() {
+ ElementTypeSetConfigurationRegistry.getInstance().dispose();
+ }
+}
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantsFixture.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantsFixture.java
new file mode 100644
index 00000000000..4ec10538366
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/AssistantsFixture.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import java.net.URL;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.core.IModelingAssistantModelProvider;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.internal.core.DefaultModelingAssistantModelProvider;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.internal.core.ModelingAssistantModelRegistry;
+import org.eclipse.papyrus.junit.utils.JUnitUtils;
+import org.junit.rules.TestWatcher;
+import org.junit.runner.Description;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
+
+/**
+ * A JUnit test rule that sets up modeled diagram assistants and their supporting element types for the duration of a test.
+ */
+@SuppressWarnings("restriction")
+public class AssistantsFixture extends TestWatcher {
+
+ private final ResourceSet resourceSet = new ResourceSetImpl();
+
+ private final String assistantsModelPath;
+
+ private IModelingAssistantModelProvider assistantModelProvider;
+
+ public AssistantsFixture(String assistantsModelPath) {
+ super();
+
+ this.assistantsModelPath = assistantsModelPath;
+ }
+
+ @Override
+ protected void starting(Description description) {
+ URI assistantsModelURI = getModelURI(assistantsModelPath, description);
+
+ assistantModelProvider = registerAssistants(assistantsModelURI);
+ }
+
+ protected URI getModelURI(String path, Description testDescription) {
+ Bundle testBundle = FrameworkUtil.getBundle(JUnitUtils.getTestClass(testDescription));
+ URL url = testBundle.getEntry(path);
+ return URI.createURI(url.toExternalForm(), true);
+ }
+
+ protected IModelingAssistantModelProvider registerAssistants(URI assistantsModelURI) {
+ IModelingAssistantModelProvider result = new DefaultModelingAssistantModelProvider(assistantsModelURI);
+ ModelingAssistantModelRegistry.getInstance().loadModels(result);
+ return result;
+ }
+
+ @Override
+ protected void finished(Description description) {
+ ModelingAssistantModelRegistry.getInstance().unloadModels(assistantModelProvider);
+
+ EMFHelper.unload(resourceSet);
+ }
+}
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/DiagramSpecificModelingAssistantIntegrationTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/DiagramSpecificModelingAssistantIntegrationTest.java
new file mode 100644
index 00000000000..d419d160ca5
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/DiagramSpecificModelingAssistantIntegrationTest.java
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import static org.eclipse.papyrus.infra.gmfdiag.assistant.tests.ElementTypesUtil.hasID;
+import static org.eclipse.papyrus.infra.gmfdiag.assistant.tests.ElementTypesUtil.requireType;
+import static org.hamcrest.CoreMatchers.both;
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.core.util.IProxyElementType;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+/**
+ * Integration-type tests for the whole diagram assistant stack, from assistant models to the model-based assistant provider via the
+ * GMF Modeling Assistant Service, for assistants generated for a particular diagram.
+ */
+@PluginResource("resources/model.di")
+public class DiagramSpecificModelingAssistantIntegrationTest extends AbstractModelingAssistantIntegrationTest {
+
+ @ClassRule
+ public static final AssistantsFixture assistantsFixture = new AssistantsFixture("/resources/j2ee-usecase.assistants");
+
+ public DiagramSpecificModelingAssistantIntegrationTest() {
+ super();
+ }
+
+ @Test
+ public void popupOnShape() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ List<IElementType> types = getTypesForPopupBar(usecase);
+
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.BranchPoint_3007")).and(not(instanceOf(IProxyElementType.class)))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.BranchPoint_3008")).and(not(instanceOf(IProxyElementType.class)))));
+ }
+
+ @Test
+ public void popupOnDiagramSurface() {
+ IAdaptable diagram = getDiagramEditPartSurrogate();
+ List<IElementType> types = getTypesForPopupBar(diagram);
+
+ // Both visual presentations of a use case (as ellipse and as classifier) for the WebScenario stereotype
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario_2013")).and(not(instanceOf(IProxyElementType.class)))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario_2014")).and(not(instanceOf(IProxyElementType.class)))));
+ }
+
+ @Test
+ public void connectionFromSource() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ List<IElementType> types = getRelTypesOnSource(usecase);
+
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Web_4011")).and(not(instanceOf(IProxyElementType.class)))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Import_4013")).and(not(instanceOf(IProxyElementType.class)))));
+ }
+
+ @Test
+ public void connectionToTarget() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ List<IElementType> types = getRelTypesOnTarget(usecase);
+
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Import_4013")).and(not(instanceOf(IProxyElementType.class)))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Web_4011")).and(not(instanceOf(IProxyElementType.class)))));
+ }
+
+ @Test
+ public void connectionFromSourceToTarget() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ IAdaptable actor = getEditPartSurrogate(getActor("User1"));
+ List<IElementType> types = getRelTypesOnSourceAndTarget(usecase, actor);
+
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Web_4011")).and(not(instanceOf(IProxyElementType.class)))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Import_4013")).and(not(instanceOf(IProxyElementType.class)))));
+ }
+
+ @Test
+ public void targetForConnectionFromSource() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ List<IElementType> types = getTypesForTarget(usecase, requireType("org.eclipse.papyrus.example.j2ee.Web_4011"));
+
+ // A couple of use case presentations (ellipse and classifier)
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario_2013")).and(not(instanceOf(IProxyElementType.class)))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario_2014")).and(not(instanceOf(IProxyElementType.class)))));
+
+ // A couple of actor presentations (stick-man and classifier)
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.User_2011")).and(not(instanceOf(IProxyElementType.class)))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.User_2012")).and(not(instanceOf(IProxyElementType.class)))));
+ }
+
+
+ @Test
+ public void sourceForConnectionToTarget() {
+ IAdaptable actor = getEditPartSurrogate(getActor("User1"));
+ List<IElementType> types = getTypesForTarget(actor, requireType("org.eclipse.papyrus.example.j2ee.Import_4013"));
+
+ // A couple of use case presentations (ellipse and classifier)
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario_2013")).and(not(instanceOf(IProxyElementType.class)))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario_2014")).and(not(instanceOf(IProxyElementType.class)))));
+
+ // A couple of actor presentations (stick-man and classifier)
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.User_2011")).and(not(instanceOf(IProxyElementType.class)))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.User_2012")).and(not(instanceOf(IProxyElementType.class)))));
+ }
+}
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ElementTypesUtil.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ElementTypesUtil.java
new file mode 100644
index 00000000000..5c32b51ca14
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/ElementTypesUtil.java
@@ -0,0 +1,126 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.Arrays;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.core.util.IProxyElementType;
+import org.hamcrest.BaseMatcher;
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+
+import com.google.common.base.Objects;
+
+/**
+ * Utilities for working with element types.
+ */
+public class ElementTypesUtil {
+
+ /**
+ * Not instantiable by clients.
+ */
+ public ElementTypesUtil() {
+ super();
+ }
+
+ /**
+ * Obtains the canonical (registered) representation of an element {@code type}. This ensures that
+ * we have the latest version of the {@code type}, in case it has been unregistered and recreated.
+ *
+ * @param type
+ * an element type
+ * @return its current canonical incarnation, which may be the same instance as {@code type} in the ideal case
+ */
+ public static <T extends IElementType> T canonicalize(T type) {
+ @SuppressWarnings("unchecked")
+ T result = (T) ElementTypeRegistry.getInstance().getType(type.getId());
+ return result;
+ }
+
+ public static IElementType requireType(String id) {
+ IElementType result = ElementTypeRegistry.getInstance().getType(id);
+ assertThat("No such element type: " + id, result, notNullValue());
+ return result;
+ }
+
+ public static Matcher<IElementType> hasID(final String id) {
+ return new BaseMatcher<IElementType>() {
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("is identified by ").appendText(id);
+ }
+
+ @Override
+ public boolean matches(Object item) {
+ return (item instanceof IElementType) && Objects.equal(((IElementType) item).getId(), id);
+ }
+ };
+ }
+
+ public static Matcher<IElementType> specializes(final String id) {
+ return new BaseMatcher<IElementType>() {
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("specializes ").appendText(id);
+ }
+
+ @Override
+ public boolean matches(Object item) {
+ return (item instanceof ISpecializationType)
+ && hasItem(hasID(id)).matches(Arrays.asList(((ISpecializationType) item).getAllSuperTypes()));
+ }
+ };
+ }
+
+ public static Matcher<IElementType> isProxyType(final Matcher<? super IElementType> semanticTypeMatcher, final Matcher<? super IElementType> visualTypeMatcher) {
+ return new BaseMatcher<IElementType>() {
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("is proxy type(");
+ if (semanticTypeMatcher == null) {
+ description.appendText("?");
+ } else {
+ description.appendDescriptionOf(semanticTypeMatcher);
+ }
+ description.appendText(", ");
+ if (visualTypeMatcher == null) {
+ description.appendText("?");
+ } else {
+ description.appendDescriptionOf(visualTypeMatcher);
+ }
+ description.appendText(")");
+ }
+
+ @Override
+ public boolean matches(Object item) {
+ boolean result = (item instanceof IProxyElementType);
+
+ if (result) {
+ IProxyElementType proxy = (IProxyElementType) item;
+ result = ((semanticTypeMatcher == null) || semanticTypeMatcher.matches(proxy.resolveSemanticType())) &&
+ ((visualTypeMatcher == null) || visualTypeMatcher.matches(proxy.resolveVisualType()));
+ }
+
+ return result;
+ }
+ };
+ }
+}
diff --git a/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/GenericModelingAssistantIntegrationTest.java b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/GenericModelingAssistantIntegrationTest.java
new file mode 100644
index 00000000000..84f1969c31f
--- /dev/null
+++ b/tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests/src/org/eclipse/papyrus/infra/gmfdiag/assistant/tests/GenericModelingAssistantIntegrationTest.java
@@ -0,0 +1,189 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.assistant.tests;
+
+import static org.eclipse.papyrus.infra.gmfdiag.assistant.tests.ElementTypesUtil.hasID;
+import static org.eclipse.papyrus.infra.gmfdiag.assistant.tests.ElementTypesUtil.isProxyType;
+import static org.eclipse.papyrus.infra.gmfdiag.assistant.tests.ElementTypesUtil.specializes;
+import static org.hamcrest.CoreMatchers.both;
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+/**
+ * Integration-type tests for the whole diagram assistant stack, from assistant models to the model-based assistant provider via the
+ * GMF Modeling Assistant Service, for generically defined assistants (not specific to a particular diagram).
+ */
+@PluginResource("resources/model.di")
+public class GenericModelingAssistantIntegrationTest extends AbstractModelingAssistantIntegrationTest {
+
+ @ClassRule
+ public static final AssistantsFixture assistantsFixture = new AssistantsFixture("/resources/j2ee-all.assistants");
+
+ public GenericModelingAssistantIntegrationTest() {
+ super();
+ }
+
+ @Test
+ public void popupOnShape() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ List<IElementType> types = getTypesForPopupBar(usecase);
+
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.BranchPoint")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.BranchPoint"), hasID("org.eclipse.papyrus.uml.diagram.usecase.ExtensionPoint_3007")))));
+ }
+
+ @Test
+ public void popupOnDiagramSurface() {
+ IAdaptable diagram = getDiagramEditPartSurrogate();
+ List<IElementType> types = getTypesForPopupBar(diagram);
+
+ // Both visual presentations of a use case (as ellipse and as classifier) for the WebScenario stereotype
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.WebScenario"), hasID("org.eclipse.papyrus.uml.diagram.usecase.UseCase_2013")))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.WebScenario"), hasID("org.eclipse.papyrus.uml.diagram.usecase.UseCase_2014")))));
+ }
+
+ @Test
+ public void connectionFromSource() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ List<IElementType> types = getRelTypesOnSource(usecase);
+
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Web")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.Web"), hasID("org.eclipse.papyrus.uml.diagram.usecase.Association_4011")))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Import")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.Import"), hasID("org.eclipse.papyrus.uml.diagram.usecase.Dependency_4013")))));
+ }
+
+ @Test
+ public void connectionToTarget() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ List<IElementType> types = getRelTypesOnTarget(usecase);
+
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Import")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.Import"), hasID("org.eclipse.papyrus.uml.diagram.usecase.Dependency_4013")))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Web")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.Web"), hasID("org.eclipse.papyrus.uml.diagram.usecase.Association_4011")))));
+ }
+
+ @Test
+ public void connectionFromSourceToTarget() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ IAdaptable actor = getEditPartSurrogate(getActor("User1"));
+ List<IElementType> types = getRelTypesOnSourceAndTarget(usecase, actor);
+
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Web")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.Web"), hasID("org.eclipse.papyrus.uml.diagram.usecase.Association_4011")))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.Import")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.Import"), hasID("org.eclipse.papyrus.uml.diagram.usecase.Dependency_4013")))));
+ }
+
+ @Test
+ public void targetForConnectionFromSource() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ List<IElementType> types = getTypesForTarget(usecase, getProxyType("org.eclipse.papyrus.example.j2ee.Web", "org.eclipse.papyrus.uml.diagram.usecase.Association_4011"));
+
+ // A couple of use case presentations (ellipse and classifier)
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.WebScenario"), hasID("org.eclipse.papyrus.uml.diagram.usecase.UseCase_2013")))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.WebScenario"), hasID("org.eclipse.papyrus.uml.diagram.usecase.UseCase_2014")))));
+
+ // A couple of actor presentations (stick-man and classifier)
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.User")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.User"), hasID("org.eclipse.papyrus.uml.diagram.usecase.Actor_2011")))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.User")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.User"), hasID("org.eclipse.papyrus.uml.diagram.usecase.Actor_2012")))));
+ }
+
+ @Test
+ public void sourceForConnectionToTarget() {
+ IAdaptable actor = getEditPartSurrogate(getActor("User1"));
+ List<IElementType> types = getTypesForTarget(actor, getProxyType("org.eclipse.papyrus.example.j2ee.Import", "org.eclipse.papyrus.uml.diagram.usecase.Dependency_4013"));
+
+ // A couple of use case presentations (ellipse and classifier)
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.WebScenario"), hasID("org.eclipse.papyrus.uml.diagram.usecase.UseCase_2013")))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.WebScenario")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.WebScenario"), hasID("org.eclipse.papyrus.uml.diagram.usecase.UseCase_2014")))));
+
+ // A couple of actor presentations (stick-man and classifier)
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.User")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.User"), hasID("org.eclipse.papyrus.uml.diagram.usecase.Actor_2011")))));
+ assertThat(types, hasItem(both(hasID("org.eclipse.papyrus.example.j2ee.User")).and(
+ isProxyType(hasID("org.eclipse.papyrus.example.j2ee.User"), hasID("org.eclipse.papyrus.uml.diagram.usecase.Actor_2012")))));
+ }
+
+ @Test
+ public void excludedConnectionFromSource() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ List<IElementType> types = getRelTypesOnSource(usecase);
+
+ assertThat(types, not(hasItem(specializes("org.eclipse.papyrus.uml.diagram.clazz.Association_4019"))));
+ assertThat(types, not(hasItem(specializes("org.eclipse.papyrus.uml.diagram.clazz.Dependency_4018"))));
+ }
+
+ @Test
+ public void excludedConnectionToTarget() {
+ IAdaptable actor = getEditPartSurrogate(getActor("User1"));
+ List<IElementType> types = getRelTypesOnTarget(actor);
+
+ assertThat(types, not(hasItem(specializes("org.eclipse.papyrus.uml.diagram.clazz.Association_4019"))));
+ assertThat(types, not(hasItem(specializes("org.eclipse.papyrus.uml.diagram.clazz.Dependency_4018"))));
+ }
+
+ @Test
+ public void excludedConnectionFromSourceToTarget() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ IAdaptable actor = getEditPartSurrogate(getActor("User1"));
+ List<IElementType> types = getRelTypesOnSourceAndTarget(usecase, actor);
+
+ assertThat(types, not(hasItem(specializes("org.eclipse.papyrus.uml.diagram.clazz.Association_4019"))));
+ assertThat(types, not(hasItem(specializes("org.eclipse.papyrus.uml.diagram.clazz.Dependency_4018"))));
+ }
+
+ @Test
+ public void excludedTargetForConnectionFromSource() {
+ IAdaptable usecase = getEditPartSurrogate(getUseCase("WebScenario1"));
+ List<IElementType> types = getTypesForTarget(usecase, getProxyType("org.eclipse.papyrus.example.j2ee.Web", "org.eclipse.papyrus.uml.diagram.usecase.Association_4011"));
+
+ assertThat(types, not(hasItem(specializes("org.eclipse.papyrus.uml.diagram.clazz.Association_2015"))));
+ }
+
+ @Test
+ public void excludedSourceForConnectionToTarget() {
+ IAdaptable actor = getEditPartSurrogate(getActor("User1"));
+ List<IElementType> types = getTypesForTarget(actor, getProxyType("org.eclipse.papyrus.example.j2ee.Import", "org.eclipse.papyrus.uml.diagram.usecase.Dependency_4013"));
+
+ assertThat(types, not(hasItem(specializes("org.eclipse.papyrus.uml.diagram.clazz.Dependency_2014"))));
+ }
+
+ @Test
+ public void excludedPopupOnDiagramSurface() {
+ IAdaptable diagram = getDiagramEditPartSurrogate();
+ List<IElementType> types = getTypesForPopupBar(diagram);
+
+ assertThat(types, not(hasItem(specializes("org.eclipse.papyrus.uml.diagram.clazz.Association_2015"))));
+ assertThat(types, not(hasItem(specializes("org.eclipse.papyrus.uml.diagram.clazz.Dependency_2014"))));
+ }
+}
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.classpath b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.classpath
new file mode 100644
index 00000000000..fe87a083f13
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <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="output" path="bin"/>
+</classpath>
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.project b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.project
new file mode 100644
index 00000000000..6716ffd06c0
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.filters.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.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f08be2b06c4
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..20f4464eb99
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.infra.filters.tests;singleton:=true
+Bundle-Version: 1.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.eclipse.papyrus.infra.filters.tests
+Require-Bundle: org.eclipse.core.runtime,
+ org.junit;visibility:=reexport,
+ org.eclipse.papyrus.infra.filters;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="2.0.0";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="2.11.0";visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/about.html b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.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>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/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/build.properties b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/build.properties
new file mode 100644
index 00000000000..1816fdd67c1
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/build.properties
@@ -0,0 +1,19 @@
+# Copyright (c) 2014 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = bin/
+src.includes = about.html
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/org.eclipse.papyrus.infra.filters.tests.launch b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/org.eclipse.papyrus.infra.filters.tests.launch
new file mode 100644
index 00000000000..ac6bd0f07ce
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/org.eclipse.papyrus.infra.filters.tests.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.infra.filters.tests/src/org/eclipse/papyrus/infra/filters/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"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.infra.filters.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.infra.filters.tests"/>
+</launchConfiguration>
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/plugin.properties b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/plugin.properties
new file mode 100644
index 00000000000..aaf84674c23
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/plugin.properties
@@ -0,0 +1,12 @@
+# Copyright (c) 2014 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+pluginName = Papyrus Filters Model Tests
+providerName = Eclipse Modeling Project
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/pom.xml b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/pom.xml
new file mode 100644
index 00000000000..3ef6a4f5b16
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/pom.xml
@@ -0,0 +1,26 @@
+<?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.1.0-SNAPSHOT</version>
+ <relativePath>../../../../../releng/top-pom-main-tests.xml</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.filters.tests</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useProjectSettings>true</useProjectSettings>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/CompoundFilterTest.java b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/CompoundFilterTest.java
new file mode 100644
index 00000000000..e2382819f19
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/CompoundFilterTest.java
@@ -0,0 +1,208 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.filters.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+import org.eclipse.papyrus.infra.filters.CompoundFilter;
+import org.eclipse.papyrus.infra.filters.FiltersFactory;
+import org.eclipse.papyrus.infra.filters.FiltersPackage;
+import org.eclipse.papyrus.infra.filters.OperatorKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Composite Filter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.filters.CompoundFilter#validateAcyclic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Acyclic</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CompoundFilterTest extends TestCase {
+
+ /**
+ * The fixture for this Compound Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CompoundFilter fixture = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(CompoundFilterTest.class);
+ }
+
+ /**
+ * Constructs a new Compound Filter test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CompoundFilterTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Sets the fixture for this Compound Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void setFixture(CompoundFilter fixture)
+ {
+ this.fixture = fixture;
+ }
+
+ /**
+ * Returns the fixture for this Compound Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CompoundFilter getFixture() {
+ return fixture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#setUp()
+ * @generated
+ */
+ @Override
+ protected void setUp() throws Exception {
+ setFixture(FiltersFactory.eINSTANCE.createCompoundFilter());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#tearDown()
+ * @generated
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ setFixture(null);
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object)
+ * @generated NOT
+ */
+ public void testMatches__Object() {
+ getFixture().setOperator(OperatorKind.AND);
+
+ assertThat(getFixture().matches("foo"), is(false)); // Empty 'and' does not match
+
+ getFixture().getFilters().add(FilterTestsUtil.createEqualsFilter("foo"));
+ assertThat(getFixture().matches("foo"), is(true));
+
+ getFixture().getFilters().add(FilterTestsUtil.createEqualsFilter("foo"));
+ assertThat(getFixture().matches("foo"), is(true));
+
+ getFixture().getFilters().add(FilterTestsUtil.createEqualsFilter("bar"));
+ assertThat(getFixture().matches("foo"), is(false));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.filters.CompoundFilter#validateAcyclic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Acyclic</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.filters.CompoundFilter#validateAcyclic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)
+ * @generated NOT
+ */
+ public void testValidateAcyclic__DiagnosticChain_Map()
+ {
+ CompoundFilter nested = (CompoundFilter) getFixture().createOwnedFilter("nested", FiltersPackage.Literals.COMPOUND_FILTER);
+ nested.createOwnedFilter("equals", FiltersPackage.Literals.EQUALS);
+ nested.getFilters().add(getFixture()); // the cycle
+
+ assertThat(getFixture().validateAcyclic(null, null), is(false));
+
+ nested.getFilters().remove(getFixture());
+ nested.getFilters().add(FiltersFactory.eINSTANCE.createCompoundFilter());
+
+ assertThat(getFixture().validateAcyclic(null, null), is(true));
+ }
+
+ public void testMatches__Object_or() {
+ getFixture().setOperator(OperatorKind.OR);
+
+ assertThat(getFixture().matches("foo"), is(false)); // Empty 'or' does not match
+
+ getFixture().getFilters().add(FilterTestsUtil.createEqualsFilter("foo"));
+ assertThat(getFixture().matches("foo"), is(true));
+
+ getFixture().getFilters().add(FilterTestsUtil.createEqualsFilter("bar"));
+ assertThat(getFixture().matches("foo"), is(true));
+ assertThat(getFixture().matches("bar"), is(true));
+ assertThat(getFixture().matches("baz"), is(false));
+ }
+
+ public void testMatches__Object_xor() {
+ getFixture().setOperator(OperatorKind.XOR);
+
+ assertThat(getFixture().matches("foo"), is(false)); // Empty 'xor' does not match
+
+ getFixture().getFilters().add(FilterTestsUtil.createEqualsFilter("foo"));
+ assertThat(getFixture().matches("foo"), is(true));
+
+ getFixture().getFilters().add(FilterTestsUtil.createEqualsFilter("bar"));
+ assertThat(getFixture().matches("foo"), is(true));
+ assertThat(getFixture().matches("bar"), is(true));
+ assertThat(getFixture().matches("baz"), is(false));
+
+ getFixture().getFilters().add(FilterTestsUtil.createEqualsFilter("foo"));
+ assertThat(getFixture().matches("foo"), is(false));
+ assertThat(getFixture().matches("bar"), is(true));
+ }
+
+ public void testMatches__Object_not() {
+ getFixture().setOperator(OperatorKind.NOT);
+
+ assertThat(getFixture().matches("foo"), is(true)); // Empty 'not' matches
+
+ getFixture().getFilters().add(FilterTestsUtil.createEqualsFilter("foo"));
+ assertThat(getFixture().matches("foo"), is(false));
+ assertThat(getFixture().matches("bar"), is(true));
+
+ getFixture().getFilters().add(FilterTestsUtil.createEqualsFilter("bar"));
+ assertThat(getFixture().matches("foo"), is(false));
+ assertThat(getFixture().matches("bar"), is(false));
+ assertThat(getFixture().matches("baz"), is(true));
+ }
+} // CompoundFilterTest
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/EqualsTest.java b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/EqualsTest.java
new file mode 100644
index 00000000000..10d05575b21
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/EqualsTest.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.filters.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+import org.eclipse.papyrus.infra.filters.Equals;
+import org.eclipse.papyrus.infra.filters.FiltersFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Equals</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EqualsTest extends TestCase
+{
+
+ /**
+ * The fixture for this Equals test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Equals fixture = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args)
+ {
+ TestRunner.run(EqualsTest.class);
+ }
+
+ /**
+ * Constructs a new Equals test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EqualsTest(String name)
+ {
+ super(name);
+ }
+
+ /**
+ * Sets the fixture for this Equals test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void setFixture(Equals fixture)
+ {
+ this.fixture = fixture;
+ }
+
+ /**
+ * Returns the fixture for this Equals test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Equals getFixture()
+ {
+ return fixture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#setUp()
+ * @generated
+ */
+ @Override
+ protected void setUp() throws Exception
+ {
+ setFixture(FiltersFactory.eINSTANCE.createEquals());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#tearDown()
+ * @generated
+ */
+ @Override
+ protected void tearDown() throws Exception
+ {
+ setFixture(null);
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object)
+ * @generated NOT
+ */
+ public void testMatches__Object() {
+ getFixture().setObject("foo");
+
+ assertThat(getFixture().matches("foo"), is(true));
+ assertThat(getFixture().matches("bar"), is(false));
+ }
+
+} // EqualsTest
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FilterTest.java b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FilterTest.java
new file mode 100644
index 00000000000..0da29d507d7
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FilterTest.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.filters.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.papyrus.infra.filters.Filter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Filter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class FilterTest extends TestCase {
+
+ /**
+ * The fixture for this Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Filter fixture = null;
+
+ /**
+ * Constructs a new Filter test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FilterTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Sets the fixture for this Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void setFixture(Filter fixture) {
+ this.fixture = fixture;
+ }
+
+ /**
+ * Returns the fixture for this Filter test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Filter getFixture() {
+ return fixture;
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object)
+ * @generated
+ */
+ public void testMatches__Object() {
+ // TODO: implement this operation test method
+ // Ensure that you remove @generated or mark it @generated NOT
+ fail();
+ }
+
+} // FilterTest
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FiltersAllTests.java b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FiltersAllTests.java
new file mode 100644
index 00000000000..37df02c40d6
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FiltersAllTests.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.filters.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>Filters</b></em>' model.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class FiltersAllTests extends TestSuite {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(suite());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Test suite() {
+ TestSuite suite = new FiltersAllTests("Filters Tests"); //$NON-NLS-1$
+ suite.addTest(FiltersTests.suite());
+ return suite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FiltersAllTests(String name) {
+ super(name);
+ }
+
+} // FiltersAllTests
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FiltersTests.java b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FiltersTests.java
new file mode 100644
index 00000000000..1b1b45e6d49
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src-gen/org/eclipse/papyrus/infra/filters/tests/FiltersTests.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.infra.filters.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>filters</b></em>' package.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class FiltersTests extends TestSuite {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(suite());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Test suite() {
+ TestSuite suite = new FiltersTests("filters Tests"); //$NON-NLS-1$
+ suite.addTestSuite(CompoundFilterTest.class);
+ suite.addTestSuite(EqualsTest.class);
+ return suite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public FiltersTests(String name) {
+ super(name);
+ }
+
+} // FiltersTests
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src/org/eclipse/papyrus/infra/filters/tests/AllTests.java b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src/org/eclipse/papyrus/infra/filters/tests/AllTests.java
new file mode 100644
index 00000000000..8415b6e7745
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src/org/eclipse/papyrus/infra/filters/tests/AllTests.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.filters.tests;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * The master test suite for the plug-in.
+ */
+@RunWith(Suite.class)
+@SuiteClasses(FiltersAllTests.class)
+public class AllTests {
+ // Nothing required
+}
diff --git a/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src/org/eclipse/papyrus/infra/filters/tests/FilterTestsUtil.java b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src/org/eclipse/papyrus/infra/filters/tests/FilterTestsUtil.java
new file mode 100644
index 00000000000..1f800cf7e52
--- /dev/null
+++ b/tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests/src/org/eclipse/papyrus/infra/filters/tests/FilterTestsUtil.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.filters.tests;
+
+import org.eclipse.papyrus.infra.filters.Equals;
+import org.eclipse.papyrus.infra.filters.Filter;
+import org.eclipse.papyrus.infra.filters.FiltersFactory;
+
+/**
+ * Utilities for authoring filter tests.
+ */
+public class FilterTestsUtil {
+
+ private FilterTestsUtil() {
+ super();
+ }
+
+ /**
+ * Creates a filter that matches objects that are {@linkplain Object#equals(Object) equal to} a given {@code prototype}.
+ *
+ * @param prototype
+ * an object to compare other objects against
+ *
+ * @return the equals filter
+ */
+ public static Filter createEqualsFilter(final Object prototype) {
+ Equals result = FiltersFactory.eINSTANCE.createEquals();
+ result.setObject(prototype);
+ result.setName("equals");
+ return result;
+ }
+}
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/META-INF/MANIFEST.MF b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/META-INF/MANIFEST.MF
index 31c43c5ac6d..331a5ff19c3 100644
--- a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/META-INF/MANIFEST.MF
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/META-INF/MANIFEST.MF
@@ -1,7 +1,8 @@
Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.junit.framework.classification,
org.eclipse.papyrus.junit.framework.classification.rules,
- org.eclipse.papyrus.junit.framework.classification.tests
+ org.eclipse.papyrus.junit.framework.classification.tests,
+ org.eclipse.papyrus.junit.framework.runner
Require-Bundle: org.junit;bundle-version="4.11.0",
org.eclipse.papyrus.infra.tools;bundle-version="1.1.0",
org.eclipse.emf.edit;bundle-version="2.10.0",
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/classification/ClassificationConfig.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/classification/ClassificationConfig.java
index f5bc93d0a9e..904106b6d40 100644
--- a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/classification/ClassificationConfig.java
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/classification/ClassificationConfig.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
+ * Copyright (c) 2014, 2015 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
*
* Contributors:
* Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 451230
*****************************************************************************/
package org.eclipse.papyrus.junit.framework.classification;
@@ -21,37 +22,52 @@ import static org.eclipse.papyrus.junit.framework.classification.TestCategory.St
import java.lang.annotation.Annotation;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.eclipse.papyrus.infra.tools.util.ListHelper;
import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Sets;
/**
- * This class is used to configure the Classification Annotations which should be
- * excluded from a test job.
- *
+ * <p>
+ * This class is used to configure the Classification Annotations which should be excluded from a test job. A classification configuration is an immutable set of {@linkplain TestCategory test categories} that are included in the test configuration.
+ * </p>
+ * <p>
* Usage:
- *
+ * </p>
+ *
+ * <pre>
* ClassificationConfig.setExcludedTestCategories(TestCategory.InvalidTest, TestCategory.NotImplemented);
- *
- * or
- *
+ *
+ * // or
+ *
* ClassificationConfig.setIncludedTestCategories(TestCategory.Standard, TestCategory.NotImplemented);
- *
+ *
+ * // or
+ *
+ * ClassificationConfig.setExcludedTestCategories(ClassificationConfig.FAILING_TESTS_CONFIG);
+ *
+ * // or
+ *
+ * ClassificationConfig.setIncludedTestCategories(ClassificationConfig.FULL_CI_TESTS_CONFIG);
+ *
+ * // or
+ *
+ * ClassificationConfig.setTestsConfiguration(ClassificationConfig.CI_TESTS_CONFIG);
+ * </pre>
+ *
* @author Camille Letavernier
*
* @see {@link TestCategory}
* @see {@link ClassificationRunner}
*
*/
-public class ClassificationConfig {
-
- public static final Set<TestCategory> excludedTestCategories = new HashSet<TestCategory>();
+public enum ClassificationConfig implements Set<TestCategory> {
/**
* Default tests configuration for Continuous Integration (Hudson): Excludes the tests which are
@@ -59,7 +75,7 @@ public class ClassificationConfig {
*
* This configuration may require a couple of hours to run
*/
- public static final Set<TestCategory> CI_TESTS_CONFIG = ImmutableSet.copyOf(new TestCategory[]{ NotImplemented, InvalidTest, FailingTest, InteractiveTest });
+ CI_TESTS_CONFIG(NotImplemented, InvalidTest, FailingTest, InteractiveTest),
/**
* This tests configuration runs all tests which are already identified as failing.
@@ -67,37 +83,47 @@ public class ClassificationConfig {
*
* InteractiveTests are excluded as well, as this configuration is supposed to be executed on Hudson
*/
- public static final Set<TestCategory> FAILING_TESTS_CONFIG = ImmutableSet.copyOf(new TestCategory[]{ Standard, InteractiveTest });
+ FAILING_TESTS_CONFIG(Standard, InteractiveTest),
/**
* This tests configuration is expected to run in ~15 minutes. This is useful for quick testing,
* and validation through Gerrit
*/
- public static final Set<TestCategory> LIGTHWEIGHT_TESTS_CONFIG = ImmutableSet.copyOf(new TestCategory[]{ InteractiveTest, NotImplemented, FailingTest, InvalidTest, ExpensiveTest });
+ LIGTHWEIGHT_TESTS_CONFIG(InteractiveTest, NotImplemented, FailingTest, InvalidTest, ExpensiveTest),
/**
* This tests configuration is meant to execute all tests in an automated environment
* It includes all tests which are known to be failing, but excludes tests which
* require a user interaction
*/
- public static final Set<TestCategory> FULL_CI_TESTS_CONFIG = ImmutableSet.copyOf(new TestCategory[]{ InteractiveTest });
+ FULL_CI_TESTS_CONFIG(InteractiveTest),
/**
* Executes all tests
*/
- public static final Set<TestCategory> FULL_TESTS_CONFIG = Collections.emptySet();
+ FULL_TESTS_CONFIG();
+
+ public static final Set<TestCategory> excludedTestCategories = new HashSet<TestCategory>();
+
+ private final Set<TestCategory> categories;
static {
- //Default on Hudson: exclude everything which is already identified as an issue (i.e. is not a (new) regression)
+ // Default on Hudson: exclude everything which is already identified as an issue (i.e. is not a (new) regression)
setTestsConfiguration(CI_TESTS_CONFIG);
- //Check whether identified regressions are still failing
- //setIncludedTestCategories(FailingTest);
+ // Check whether identified regressions are still failing
+ // setIncludedTestCategories(FailingTest);
}
- //Same as setExcludedTestsCategories, but renamed for clarity (To be used with predefined configurations)
+ private ClassificationConfig(TestCategory... exclusions) {
+ Set<TestCategory> categories = Sets.newHashSet(TestCategory.values());
+ categories.removeAll(Arrays.asList(exclusions));
+ this.categories = ImmutableSet.copyOf(categories);
+ }
+
+ // Same as setExcludedTestsCategories, but renamed for clarity (To be used with predefined configurations)
public static void setTestsConfiguration(Set<TestCategory> predefinedConfiguration) {
- setExcludedTestCategories(predefinedConfiguration);
+ setIncludedTestCategories(predefinedConfiguration);
}
/**
@@ -144,26 +170,26 @@ public class ClassificationConfig {
* Tests whether a method containing the given set of Annotations should be executed
*
* @param annotations
- * The annotations applied to the Method
+ * The annotations applied to the Method
* @return
* True if the test method should be executed, false if it should be ignored
*/
public static boolean shouldRun(Annotation[] annotations) {
- for(Annotation annotation : annotations) {
+ for (Annotation annotation : annotations) {
Class<? extends Annotation> annotationClass = annotation.annotationType();
- if(isExcluded(annotationClass)) {
+ if (isExcluded(annotationClass)) {
return false;
}
}
- if(excludedTestCategories.contains(TestCategory.Standard)) {
- for(TestCategory testCategory : TestCategory.values()) {
- if(testCategory == TestCategory.Standard) {
+ if (excludedTestCategories.contains(TestCategory.Standard)) {
+ for (TestCategory testCategory : TestCategory.values()) {
+ if (testCategory == TestCategory.Standard) {
continue;
}
- for(Annotation annotation : annotations) {
- if(testCategory.match(annotation.annotationType())) {
+ for (Annotation annotation : annotations) {
+ if (testCategory.match(annotation.annotationType())) {
return true;
}
}
@@ -182,8 +208,8 @@ public class ClassificationConfig {
* @return
*/
public static boolean isExcluded(Class<? extends Annotation> annotationClass) {
- for(TestCategory testCategory : excludedTestCategories) {
- if(testCategory.match(annotationClass)) {
+ for (TestCategory testCategory : excludedTestCategories) {
+ if (testCategory.match(annotationClass)) {
return true;
}
}
@@ -191,4 +217,69 @@ public class ClassificationConfig {
return false;
}
+ @Override
+ public int size() {
+ return categories.size();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return categories.isEmpty();
+ }
+
+ @Override
+ public boolean contains(Object o) {
+ return categories.contains(o);
+ }
+
+ @Override
+ public boolean containsAll(Collection<?> c) {
+ return categories.containsAll(c);
+ }
+
+ @Override
+ public Iterator<TestCategory> iterator() {
+ return categories.iterator();
+ }
+
+ @Override
+ public Object[] toArray() {
+ return categories.toArray();
+ }
+
+ @Override
+ public <T> T[] toArray(T[] a) {
+ return categories.toArray(a);
+ }
+
+ @Override
+ public boolean add(TestCategory e) {
+ throw new UnsupportedOperationException("add"); //$NON-NLS-1$
+ }
+
+ @Override
+ public boolean remove(Object o) {
+ throw new UnsupportedOperationException("remove"); //$NON-NLS-1$
+ }
+
+ @Override
+ public boolean addAll(Collection<? extends TestCategory> c) {
+ throw new UnsupportedOperationException("addAll"); //$NON-NLS-1$
+ }
+
+ @Override
+ public boolean retainAll(Collection<?> c) {
+ throw new UnsupportedOperationException("retainAll"); //$NON-NLS-1$
+ }
+
+ @Override
+ public boolean removeAll(Collection<?> c) {
+ throw new UnsupportedOperationException("removeAll"); //$NON-NLS-1$
+ }
+
+ @Override
+ public void clear() {
+ throw new UnsupportedOperationException("clear"); //$NON-NLS-1$
+ }
+
}
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/AllTestsRunner.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/AllTestsRunner.java
new file mode 100644
index 00000000000..e0353d2da8e
--- /dev/null
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/AllTestsRunner.java
@@ -0,0 +1,111 @@
+/*****************************************************************************
+ * Copyright (c) 2010, 2015 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ * Christian W. Damus (CEA) - bugs 402525, 323802, 431953, 433310, 434993
+ * Christian W. Damus - bug 399859
+ * Christian W. Damus - bug 451230
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.junit.framework.runner;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.papyrus.junit.framework.classification.ClassificationConfig;
+import org.eclipse.papyrus.junit.framework.classification.TestCategory;
+import org.junit.runners.Suite;
+import org.junit.runners.model.FrameworkField;
+import org.junit.runners.model.InitializationError;
+import org.junit.runners.model.TestClass;
+
+/**
+ * Finds and runs tests.
+ */
+public class AllTestsRunner extends Suite {
+
+ /**
+ * Constructor.
+ *
+ * @param clazz
+ * the suite class � AllTests2
+ * @throws InitializationError
+ * if there's a problem
+ * @throws org.junit.runners.model.InitializationError
+ */
+ public AllTestsRunner(final Class<?> clazz) throws InitializationError {
+ super(clazz, getSuites(clazz));
+
+ for (String arg : Platform.getApplicationArgs()) {
+ if (arg.contains("-testConfig=")) {
+ String configName = arg.substring("-testConfig=".length());
+ Set<TestCategory> testsConfig = ClassificationConfig.valueOf(configName);
+ if (testsConfig != null) {
+ ClassificationConfig.setTestsConfiguration(testsConfig);
+ }
+ break;
+ }
+ }
+ }
+
+ /**
+ * Returns the list of test classes
+ *
+ * @return the list of test classes
+ */
+ static Class<?>[] getSuites(final Class<?> clazz) {
+ // retrieve all test suites.
+ final Collection<Class<?>> suites = new ArrayList<Class<?>>();
+
+ TestClass testClass = new TestClass(clazz);
+ List<ITestSuiteClass> suiteClassSpecs = new ArrayList<ITestSuiteClass>();
+ List<FrameworkField> suiteSpots = testClass.getAnnotatedFields(SuiteSpot.class);
+ for (FrameworkField spot : suiteSpots) {
+ if (spot.isStatic()) {
+ try {
+ Object value = spot.get(null);
+ Iterable<?> listValue;
+ if (value instanceof Object[]) {
+ listValue = Arrays.asList((Object[]) value);
+ } else if (value instanceof Iterable<?>) {
+ listValue = (Iterable<?>) value;
+ } else {
+ listValue = Collections.emptyList();
+ }
+ for (Object next : listValue) {
+ if (next instanceof ITestSuiteClass) {
+ suiteClassSpecs.add((ITestSuiteClass) next);
+ }
+ }
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ if (suiteClassSpecs.isEmpty()) {
+ System.err.println("No suite classes specified in class " + clazz.getName());
+ } else {
+ for (final ITestSuiteClass testSuiteClass : suiteClassSpecs) {
+ final Class<?> class_ = testSuiteClass.getMainTestSuiteClass();
+ if (class_ != null) {
+ suites.add(class_);
+ } else {
+ System.err.println(testSuiteClass + " does not give a correct test suite class");
+ }
+ }
+ }
+ return suites.toArray(new Class<?>[] {});
+ }
+}
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/launcher/FragmentTestSuiteClass.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/FragmentTestSuiteClass.java
index bf845040c55..f397b6c0038 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/launcher/FragmentTestSuiteClass.java
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/FragmentTestSuiteClass.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
+ * Copyright (c) 2010, 2015 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,8 +8,9 @@
*
* Contributors:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 451230
*****************************************************************************/
-package org.eclipse.papyrus.tests.launcher;
+package org.eclipse.papyrus.junit.framework.runner;
import org.eclipse.core.runtime.Platform;
import org.osgi.framework.Bundle;
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/launcher/ITestSuiteClass.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/ITestSuiteClass.java
index c096f44fa96..0f83845111a 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/launcher/ITestSuiteClass.java
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/ITestSuiteClass.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
+ * Copyright (c) 2010, 2015 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,8 +8,9 @@
*
* Contributors:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 451230
*****************************************************************************/
-package org.eclipse.papyrus.tests.launcher;
+package org.eclipse.papyrus.junit.framework.runner;
/**
diff --git a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/launcher/PluginTestSuiteClass.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/PluginTestSuiteClass.java
index e18cb67c4bb..e559a54d3cc 100644
--- a/tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/launcher/PluginTestSuiteClass.java
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/PluginTestSuiteClass.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2010 CEA LIST.
+ * Copyright (c) 2010, 2015 CEA LIST, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,8 +8,9 @@
*
* Contributors:
* Remi Schnekenburger (CEA LIST) remi.schnekenburger@cea.fr - Initial API and implementation
+ * Christian W. Damus - bug 451230
*****************************************************************************/
-package org.eclipse.papyrus.tests.launcher;
+package org.eclipse.papyrus.junit.framework.runner;
/**
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/SuiteSpot.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/SuiteSpot.java
new file mode 100644
index 00000000000..a745af89a16
--- /dev/null
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/runner/SuiteSpot.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.junit.framework.runner;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation on a static field of an all-tests suite class using the {@link AllTestsRunner} that
+ * provides a collection or array of {@link ITestSuiteClass}es to run.
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface SuiteSpot {
+ // Empty annotation
+}
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/.classpath b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/.classpath
index 2d1a4302f04..098194ca4b7 100644
--- a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/.classpath
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/.classpath
@@ -1,7 +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>
+<?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.7"/>
+ <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/plugins/junit/org.eclipse.papyrus.junit.utils/.settings/org.eclipse.jdt.core.prefs b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/.settings/org.eclipse.jdt.core.prefs
index 4759947300a..9ca8e68231b 100644
--- a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
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.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.7
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/META-INF/MANIFEST.MF b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/META-INF/MANIFEST.MF
index 687f52dd874..7df24de1376 100644
--- a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/META-INF/MANIFEST.MF
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/META-INF/MANIFEST.MF
@@ -35,5 +35,5 @@ Bundle-Name: %Bundle-Name
Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.papyrus.junit.utils.Activator
Bundle-SymbolicName: org.eclipse.papyrus.junit.utils
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/pom.xml b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/pom.xml
index 19f8c23fc24..19a38f4b10a 100644
--- a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/pom.xml
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/pom.xml
@@ -12,4 +12,17 @@
<artifactId>org.eclipse.papyrus.junit.utils</artifactId>
<version>1.1.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
+ <build>
+ <plugins>
+ <!-- Tell Tycho to use the JDT project settings for source and target compatibility instead of what the parent POM specifies. -->
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useProjectSettings>true</useProjectSettings>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/matchers/MoreMatchers.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/matchers/MoreMatchers.java
index 6d87a16b113..fe1592fad4f 100644
--- a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/matchers/MoreMatchers.java
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/matchers/MoreMatchers.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2014 Christian W. Damus and others.
+ * Copyright (c) 2014, 2015 Christian W. Damus and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -41,6 +41,19 @@ public class MoreMatchers {
};
}
+ public static <N extends Number & Comparable<N>> Matcher<N> lessThan(final N maximum) {
+ return new BaseMatcher<N>() {
+ public void describeTo(Description description) {
+ description.appendText("less than ").appendValue(maximum);
+ }
+
+ @SuppressWarnings("unchecked")
+ public boolean matches(Object item) {
+ return ((N) item).compareTo(maximum) < 0;
+ }
+ };
+ }
+
public static Matcher<Iterable<?>> isEmpty() {
return new BaseMatcher<Iterable<?>>() {
public void describeTo(Description description) {
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/JUnitUtils.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/JUnitUtils.java
new file mode 100644
index 00000000000..17bfadc190c
--- /dev/null
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/JUnitUtils.java
@@ -0,0 +1,116 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.junit.utils;
+
+import java.lang.annotation.Annotation;
+
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+
+/**
+ * Utilities for working with the JUnit data model.
+ */
+public class JUnitUtils {
+
+ /**
+ * Not instantiable by clients.
+ */
+ private JUnitUtils() {
+ super();
+ }
+
+ /**
+ * Obtains the test class implied by a {@code description} that is supplied to a {@link TestRule}.
+ *
+ * @param description
+ * a rule's owning description, which generally would be a test method or a test class
+ * (as these are the contexts in which rules are invoked)
+ *
+ * @return the test class, or {@code null} in the unlikely event that none can be found
+ */
+ public static Class<?> getTestClass(Description description) {
+ Class<?> result = description.getTestClass();
+
+ if (result == null) {
+ for (Description child : description.getChildren()) {
+ result = getTestClass(child);
+ if (result != null) {
+ break;
+ }
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Obtains the annotation of the specified {@code type} applicable to a {@code description} that is supplied to a {@link TestRule}.
+ * If the description is for a test method, then if that method doesn't have the requested annotation, its owning class is searched
+ * for the annotation.
+ *
+ * @param description
+ * a rule's owning description, which generally would be a test method or a test class
+ * (as these are the contexts in which rules are invoked)
+ * @param type
+ * the annotation type to look for
+ *
+ * @return the requested annotation, or {@code null} if none was found
+ */
+ public static <A extends Annotation> A getAnnotation(Description description, Class<A> type) {
+ A result = description.getAnnotation(type);
+
+ if ((result == null) && (description.getTestClass() != null)) {
+ result = description.getTestClass().getAnnotation(type);
+ }
+
+ return result;
+ }
+
+ /**
+ * Obtains the annotation of any one of the specified {@code types} applicable to a {@code description} that is supplied to a {@link TestRule}.
+ * If the description is for a test method, then if that method doesn't have any of the requested annotations, its owning class is searched
+ * for the annotations.
+ *
+ * @param description
+ * a rule's owning description, which generally would be a test method or a test class
+ * (as these are the contexts in which rules are invoked)
+ * @param types
+ * the annotation types to look for
+ *
+ * @return the first available of the requested annotations, or {@code null} if none was found
+ */
+ @SafeVarargs
+ public static Annotation getAnyAnnotation(Description description, final Class<? extends Annotation>... types) {
+ Annotation result = null;
+
+ for (Class<? extends Annotation> next : types) {
+ result = description.getAnnotation(next);
+ if (result != null) {
+ break;
+ }
+ }
+
+ if ((result == null) && (description.getTestClass() != null)) {
+ Class<?> testClass = description.getTestClass();
+ for (Class<? extends Annotation> next : types) {
+ result = testClass.getAnnotation(next);
+ if (result != null) {
+ break;
+ }
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/rules/AbstractModelFixture.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/rules/AbstractModelFixture.java
index dd5fc65b021..fcde2341388 100644
--- a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/rules/AbstractModelFixture.java
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/rules/AbstractModelFixture.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014 CEA, Christian W. Damus, and others.
+ * Copyright (c) 2014, 2015 CEA, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -9,6 +9,7 @@
* Contributors:
* Christian W. Damus (CEA) - Initial API and implementation
* Christian W. Damus - bug 399859
+ * Christian W. Damus - bug 451230
*
*/
package org.eclipse.papyrus.junit.utils.rules;
@@ -21,7 +22,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
import java.net.URL;
import java.util.Enumeration;
import java.util.HashSet;
@@ -49,6 +49,7 @@ import org.eclipse.papyrus.infra.core.resource.ModelSet;
import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModel;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationModel;
+import org.eclipse.papyrus.junit.utils.JUnitUtils;
import org.eclipse.papyrus.uml.tools.model.UmlModel;
import org.eclipse.uml2.uml.Package;
import org.eclipse.uml2.uml.Profile;
@@ -105,7 +106,7 @@ public abstract class AbstractModelFixture<T extends EditingDomain> extends Test
@Override
public Statement apply(Statement base, Description description) {
- testClass = description.getTestClass();
+ testClass = JUnitUtils.getTestClass(description);
// Wrap myself in the project rule so that the project exists when I start
Statement result = super.apply(base, description);
@@ -450,30 +451,7 @@ public abstract class AbstractModelFixture<T extends EditingDomain> extends Test
}
private Annotation getResourceAnnotation(Description description) {
- Annotation result = null;
-
- Class<?> testClass = description.getTestClass();
-
- Method testMethod = null;
- try {
- testMethod = testClass.getDeclaredMethod(description.getMethodName());
- } catch (Exception e) {
- e.printStackTrace();
- fail("Could not access test method via JUnit framework.");
- }
-
- if (testMethod.isAnnotationPresent(JavaResource.class)) {
- result = testMethod.getAnnotation(JavaResource.class);
- } else if (testMethod.isAnnotationPresent(PluginResource.class)) {
- result = testMethod.getAnnotation(PluginResource.class);
- } else {
- // The class must have an annotation
- if (testClass.isAnnotationPresent(JavaResource.class)) {
- result = testClass.getAnnotation(JavaResource.class);
- } else if (testClass.isAnnotationPresent(PluginResource.class)) {
- result = testClass.getAnnotation(PluginResource.class);
- }
- }
+ Annotation result = JUnitUtils.getAnyAnnotation(description, JavaResource.class, PluginResource.class);
assertThat("No JavaResource or PluginResource annotation found on test.", result, notNullValue());
diff --git a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/rules/ProjectFixture.java b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/rules/ProjectFixture.java
index 1cdd9f45c72..9d10afe09f5 100644
--- a/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/rules/ProjectFixture.java
+++ b/tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils/src/org/eclipse/papyrus/junit/utils/rules/ProjectFixture.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014 CEA and others.
+ * Copyright (c) 2014, 2015 CEA, Christian W. Damus, and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -8,6 +8,7 @@
*
* Contributors:
* Christian W. Damus (CEA) - Initial API and implementation
+ * Christian W. Damus - bug 451230
*
*/
package org.eclipse.papyrus.junit.utils.rules;
@@ -60,12 +61,22 @@ public class ProjectFixture implements TestRule {
return !uri.isPlatformResource() ? null : project.getWorkspace().getRoot().getFile(new Path(uri.toPlatformString(true)));
}
- public Statement apply(final Statement base, final Description description) {
+ public Statement apply(final Statement base, Description description) {
+ String name = description.getMethodName();
+ if (name == null) {
+ // We are used as a class rule, then
+ name = description.getClassName();
+ if (name != null) {
+ name = name.substring(name.lastIndexOf('.') + 1);
+ }
+ }
+
+ final String projectName = name;
return new Statement() {
@Override
public void evaluate() throws Throwable {
- createProject(description.getMethodName());
+ createProject(projectName);
try {
base.evaluate();
@@ -79,16 +90,16 @@ public class ProjectFixture implements TestRule {
protected void createProject(String name) throws CoreException {
project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
- if(project.exists()) {
+ if (project.exists()) {
// Start clean, if we can
deleteProject();
}
- if(!project.exists()) {
+ if (!project.exists()) {
project.create(null);
}
- if(!project.isOpen()) {
+ if (!project.isOpen()) {
project.open(null);
}
@@ -103,7 +114,7 @@ public class ProjectFixture implements TestRule {
project.accept(new IResourceVisitor() {
public boolean visit(IResource resource) throws CoreException {
- switch(resource.getType()) {
+ switch (resource.getType()) {
case IResource.FILE:
case IResource.FOLDER:
ensureWritable(resource);
@@ -117,13 +128,13 @@ public class ProjectFixture implements TestRule {
project.delete(true, null);
} catch (CoreException e) {
e.printStackTrace();
- // leave the project. We may end up re-using it, who knows?
+ // leave the project. We may end up re-using it, who knows?
}
}
protected void ensureWritable(IResource resource) throws CoreException {
ResourceAttributes attr = resource.getResourceAttributes();
- if(attr.isReadOnly()) {
+ if (attr.isReadOnly()) {
attr.setReadOnly(false);
resource.setResourceAttributes(attr);
}
@@ -142,7 +153,7 @@ public class ProjectFixture implements TestRule {
assertThat("Cannot set non-workspace resource read-only", file, notNullValue());
setReadOnly(file);
}
-
+
public void setReadOnly(IResource resource) {
setReadOnly(resource, true);
}
@@ -150,7 +161,7 @@ public class ProjectFixture implements TestRule {
public void setReadOnly(IResource resource, boolean readOnly) {
ResourceAttributes attr = resource.getResourceAttributes();
- if(attr.isReadOnly() != readOnly) {
+ if (attr.isReadOnly() != readOnly) {
attr.setReadOnly(readOnly);
try {
diff --git a/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.classpath b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.classpath
new file mode 100644
index 00000000000..098194ca4b7
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.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.7"/>
+ <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/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.project b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.project
new file mode 100644
index 00000000000..b09b5eeb546
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.tests.diagramassistants</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/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.settings/org.eclipse.jdt.core.prefs b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f08be2b06c4
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.settings/org.eclipse.jdt.ui.prefs b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/META-INF/MANIFEST.MF b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..06c120d596e
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.junit;bundle-version="4.11.0",
+ org.eclipse.papyrus.junit.framework;bundle-version="1.1.0",
+ org.eclipse.papyrus.junit.utils;bundle-version="1.1.0",
+ org.eclipse.papyrus.bundles.tests;bundle-version="1.1.0",
+ org.eclipse.papyrus.infra.filters.tests;bundle-version="1.1.0",
+ org.eclipse.papyrus.uml.filters.tests;bundle-version="1.1.0",
+ org.eclipse.papyrus.infra.gmfdiag.assistant.tests;bundle-version="1.1.0",
+ org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests;bundle-version="1.1.0",
+ org.eclipse.papyrus.uml.profile.assistants.generator.tests;bundle-version="1.1.0"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.1.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.tests.diagramassistants
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.eclipse.papyrus.tests.diagramassistants
+
diff --git a/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/Papyrus Diagram Assistants tests.launch b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/Papyrus Diagram Assistants tests.launch
new file mode 100644
index 00000000000..8d27a679623
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/Papyrus Diagram Assistants tests.launch
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<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"/>
+<listAttribute key="com.mountainminds.eclemma.core.SCOPE_IDS">
+<listEntry value="=org.eclipse.papyrus.uml.profile.assistants.generator/src"/>
+<listEntry value="=org.eclipse.papyrus.infra.gmfdiag.assistant.edit/src-gen"/>
+<listEntry value="=org.eclipse.papyrus.uml.filters.edit/src-gen"/>
+<listEntry value="=org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator/src"/>
+<listEntry value="=org.eclipse.papyrus.uml.profile.assistants.generator/xtend-gen"/>
+<listEntry value="=org.eclipse.papyrus.infra.gmfdiag.assistant.ui/src"/>
+<listEntry value="=org.eclipse.papyrus.uml.filters/src"/>
+<listEntry value="=org.eclipse.papyrus.infra.gmfdiag.assistant/src"/>
+<listEntry value="=org.eclipse.papyrus.infra.filters/src"/>
+<listEntry value="=org.eclipse.papyrus.uml.profile.assistants.generator.ui/src"/>
+<listEntry value="=org.eclipse.papyrus.infra.filters/src-gen"/>
+<listEntry value="=org.eclipse.papyrus.uml.filters/src-gen"/>
+<listEntry value="=org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator/xtend-gen"/>
+<listEntry value="=org.eclipse.papyrus.infra.gmfdiag.assistant/src-gen"/>
+<listEntry value="=org.eclipse.papyrus.infra.filters.edit/src-gen"/>
+</listAttribute>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Papyrus Diagram Assistants tests"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-all-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.tests.diagramassistants/src/org/eclipse/papyrus/tests/diagramassistants/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="skip.long.junit.tests" value="false"/>
+</mapAttribute>
+<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"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<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.7"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.tests.diagramassistants.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.tests.diagramassistants"/>
+<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.6 -Xms512m -Xmx1024m -DsuppressRawWhenUnchecked=true -XX:MaxPermSize=512M&#10;-XX:SoftRefLRUPolicyMSPerMB=100"/>
+<stringAttribute key="org.eclipsorg.eclipse.papyrus.tests.diagramassistants.AllDiagramAssistantsTestss.tests.diagramassistants.AllDiagramAssistantsTests" value=""/>
+<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="true"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<booleanAttribute key="useProduct" value="true"/>
+<stringAttribute key="yk-options" value="&#10;additional-options2=onexit\=snapshot&#10;"/>
+</launchConfiguration>
diff --git a/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/about.html b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/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/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/build.properties b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/build.properties
new file mode 100644
index 00000000000..9d979ed705b
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/build.properties
@@ -0,0 +1,17 @@
+# Copyright (c) 2015 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ plugin.properties
+src.includes = about.html
diff --git a/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/documentation.pdoc b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/documentation.pdoc
new file mode 100644
index 00000000000..ac57184f163
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/documentation.pdoc
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<doc:Documentation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:doc="http://www.eclipse.org/papyrus/documentation/plugin/documentation" description="Automated test suite for everything related to Diagram Assistants in Papyrus.">
+ <referent firstName="Christian" lastName="Damus" eMail="give.a.damus@gmail.com" currentCompany="independent"/>
+</doc:Documentation>
diff --git a/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/plugin.properties b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/plugin.properties
new file mode 100644
index 00000000000..95e53e51387
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/plugin.properties
@@ -0,0 +1,12 @@
+# Copyright (c) 2015 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+pluginName=Diagram Assistants Test Suite
+providerName=Eclipse Modeling Project
diff --git a/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/pom.xml b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/pom.xml
new file mode 100644
index 00000000000..5906b756ff2
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/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.1.0-SNAPSHOT</version>
+ <relativePath>../../../../../releng/top-pom-main-tests.xml</relativePath>
+ </parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.tests.diagramassistants</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+</project>
diff --git a/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/src/org/eclipse/papyrus/tests/diagramassistants/AllTests.java b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/src/org/eclipse/papyrus/tests/diagramassistants/AllTests.java
new file mode 100644
index 00000000000..8bd6072a60d
--- /dev/null
+++ b/tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants/src/org/eclipse/papyrus/tests/diagramassistants/AllTests.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.tests.diagramassistants;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.papyrus.junit.framework.runner.AllTestsRunner;
+import org.eclipse.papyrus.junit.framework.runner.ITestSuiteClass;
+import org.eclipse.papyrus.junit.framework.runner.PluginTestSuiteClass;
+import org.eclipse.papyrus.junit.framework.runner.SuiteSpot;
+import org.junit.runner.RunWith;
+
+
+/**
+ * Test suite for all Diagram Assistants tests for Papyrus.
+ */
+@RunWith(AllTestsRunner.class)
+public class AllTests {
+
+ @SuiteSpot
+ public static final List<ITestSuiteClass> suiteClasses;
+
+ static {
+ suiteClasses = new ArrayList<ITestSuiteClass>();
+
+ // Basic bundle metadata tests (always want to cover the plug-ins we're testing in the suite)
+ suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.bundles.tests.AllTests.class));
+
+ // Infrastructure layer
+ suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.infra.filters.tests.AllTests.class));
+ suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.infra.gmfdiag.assistant.tests.AllTests.class));
+
+ // UML layer
+ suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.filters.tests.AllTests.class));
+ suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.profile.assistants.generator.tests.AllTests.class));
+ suiteClasses.add(new PluginTestSuiteClass(org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.AllTests.class));
+ }
+
+ public static void appendTo(Collection<? super ITestSuiteClass> suite) {
+ // Don't include the bundles tests, which the suite we're appending to should already have
+ suite.addAll(suiteClasses.subList(1, suiteClasses.size()));
+ }
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.classpath b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.classpath
new file mode 100644
index 00000000000..098194ca4b7
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.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/JavaSE-1.7"/>
+ <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/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.project b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.project
new file mode 100644
index 00000000000..1e701988d84
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.profile.assistants.generator.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/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f08be2b06c4
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..090e931875c
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,31 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.uml.profile.assistants.generator.tests;singleton:=true
+Bundle-Version: 1.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Description: %pluginDescription
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Require-Bundle: org.eclipse.core.runtime,
+ org.junit;bundle-version="4.11.0",
+ org.eclipse.papyrus.junit.framework;bundle-version="1.1.0",
+ org.eclipse.papyrus.junit.utils;bundle-version="1.1.0",
+ org.eclipse.emf.ecore;bundle-version="2.11.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.1.0",
+ org.eclipse.papyrus.uml.tools.elementtypesconfigurations;bundle-version="1.1.0",
+ org.eclipse.uml2.uml;bundle-version="5.1.0",
+ org.eclipse.papyrus.uml.service.types;bundle-version="1.1.0",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.7.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.1.0",
+ org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator;bundle-version="1.1.0",
+ org.eclipse.papyrus.uml.profile.assistants.generator;bundle-version="1.1.0",
+ org.eclipse.papyrus.infra.gmfdiag.assistant;bundle-version="1.1.0",
+ com.google.inject;bundle-version="3.0.0",
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.xtext.xbase.lib;bundle-version="2.8.0",
+ org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests;bundle-version="1.1.0",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.8.0"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.uml.profile.assistants.generator.tests
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/about.html b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.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>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/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/build.properties b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/build.properties
new file mode 100644
index 00000000000..e6ac66d4daf
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/build.properties
@@ -0,0 +1,19 @@
+# Copyright (c) 2015 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.properties,\
+ about.html,\
+ resources/
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.launch b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.launch
new file mode 100644
index 00000000000..5ec60cd22ad
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.launch
@@ -0,0 +1,45 @@
+<?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"/>
+<listAttribute key="com.mountainminds.eclemma.core.SCOPE_IDS">
+<listEntry value="=org.eclipse.papyrus.uml.decoratormodel/src"/>
+</listAttribute>
+<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-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/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"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<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.uml.profile.elementtypesconfigurations.generator.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.uml.profile.elementtypesconfigurations.generator.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.6 -Xms128m -Xmx1200m -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/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/plugin.properties b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/plugin.properties
new file mode 100644
index 00000000000..4d3bc1c1866
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/plugin.properties
@@ -0,0 +1,13 @@
+# Copyright (c) 2015 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+pluginName = Automated Tests for Papyrus Diagram Assistants Generator for UML Profiles
+providerName = Eclipse Modeling Project
+pluginDescription = JUnit tests for diagram assistants model generation for UML profiles
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/pom.xml b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/pom.xml
new file mode 100644
index 00000000000..be4c06fccb8
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/pom.xml
@@ -0,0 +1,27 @@
+<?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.1.0-SNAPSHOT</version>
+ <relativePath>../../../../../../releng/top-pom-main-tests.xml</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.uml.profile.assistants.generator.tests</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+ <build>
+ <plugins>
+ <!-- Tycho build using the project's JDT settings. -->
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useProjectSettings>true</useProjectSettings>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.di b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.di
new file mode 100644
index 00000000000..24bc988cd5f
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.di
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="j2ee.profile.notation#_rdgrcEigEeSRp-p9nf2EsA"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="j2ee.profile.notation#_52licJbDEeSp3sLEVy9Cbw"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="j2ee.profile.notation#_OqMJsHcGEeSigYPDkthHwg"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.notation b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.notation
new file mode 100644
index 00000000000..fd2f88f33f2
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.notation
@@ -0,0 +1,454 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_rdgrcEigEeSRp-p9nf2EsA" type="PapyrusUMLProfileDiagram" name="stereotypes" measurementUnit="Pixel">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5jumsIZCEeSuTJMIrueWyQ" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jumsYZCEeSuTJMIrueWyQ" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jvNwIZCEeSuTJMIrueWyQ" key="StereotypeList" value="Ecore::EPackage"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jvNwYZCEeSuTJMIrueWyQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jvNwoZCEeSuTJMIrueWyQ" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jvNw4ZCEeSuTJMIrueWyQ" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_33LW0EigEeSRp-p9nf2EsA" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_33PoQEigEeSRp-p9nf2EsA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_33PoQUigEeSRp-p9nf2EsA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_33PoQkigEeSRp-p9nf2EsA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_33PoQ0igEeSRp-p9nf2EsA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_33PoREigEeSRp-p9nf2EsA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_33PoRUigEeSRp-p9nf2EsA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_33OaIEigEeSRp-p9nf2EsA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_33OaIUigEeSRp-p9nf2EsA" x="88" y="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6kXV0EigEeSRp-p9nf2EsA" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6kX84EigEeSRp-p9nf2EsA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kX84UigEeSRp-p9nf2EsA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kX84kigEeSRp-p9nf2EsA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kX840igEeSRp-p9nf2EsA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kX85EigEeSRp-p9nf2EsA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kX85UigEeSRp-p9nf2EsA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_6kXV0kigEeSRp-p9nf2EsA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6kXV00igEeSRp-p9nf2EsA" x="443" y="36"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_AYAIYEihEeSRp-p9nf2EsA" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AYAvcUihEeSRp-p9nf2EsA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYAvckihEeSRp-p9nf2EsA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYBWgEihEeSRp-p9nf2EsA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYBWgUihEeSRp-p9nf2EsA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYBWgkihEeSRp-p9nf2EsA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYBWg0ihEeSRp-p9nf2EsA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AYAIYkihEeSRp-p9nf2EsA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AYAvcEihEeSRp-p9nf2EsA" x="275" y="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_BfLy4EihEeSRp-p9nf2EsA" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_BfLy4kihEeSRp-p9nf2EsA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BfLy40ihEeSRp-p9nf2EsA" type="1071">
+ <children xmi:type="notation:Node" xmi:id="_btXXAEihEeSRp-p9nf2EsA" type="3002">
+ <element xmi:type="uml:Property" href="j2ee.profile.uml#_btMX4EihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_btXXAUihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wa0NwGEcEeSRDpkdeXfJuw" type="3002">
+ <element xmi:type="uml:Property" href="j2ee.profile.uml#_wZ9SIGEcEeSRDpkdeXfJuw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_wa0NwWEcEeSRDpkdeXfJuw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BfLy5EihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BfLy5UihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BfMZ8EihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BfMZ8UihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BfMZ8kihEeSRp-p9nf2EsA" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BfMZ80ihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BfMZ9EihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BfMZ9UihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BfMZ9kihEeSRp-p9nf2EsA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_Be-XgEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BfLy4UihEeSRp-p9nf2EsA" x="24" y="197"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_DNfu0EihEeSRp-p9nf2EsA" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_DNgV4EihEeSRp-p9nf2EsA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_DNgV4UihEeSRp-p9nf2EsA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DNgV4kihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DNgV40ihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DNgV5EihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DNgV5UihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_DNgV5kihEeSRp-p9nf2EsA" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DNgV50ihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DNgV6EihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DNgV6UihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DNgV6kihEeSRp-p9nf2EsA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_DNegsEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DNfu0UihEeSRp-p9nf2EsA" x="287" y="197"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WA6KgEihEeSRp-p9nf2EsA" type="2006">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WA6xkEihEeSRp-p9nf2EsA" type="5023"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_WA6xkUihEeSRp-p9nf2EsA" type="1063">
+ <children xmi:type="notation:Node" xmi:id="_XMi3MEihEeSRp-p9nf2EsA" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="j2ee.profile.uml#_XMd-sEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XMi3MUihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_YztCQEihEeSRp-p9nf2EsA" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="j2ee.profile.uml#_Yzr0IEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YztCQUihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Zg3qQEihEeSRp-p9nf2EsA" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="j2ee.profile.uml#_Zg2cIEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Zg3qQUihEeSRp-p9nf2EsA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_WA6xkkihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_WA6xk0ihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_WA6xlEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WA6xlUihEeSRp-p9nf2EsA"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="j2ee.profile.uml#_WA1SAEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WA6KgUihEeSRp-p9nf2EsA" x="73" y="339"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_EpBRoEihEeSRp-p9nf2EsA" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_EpBRokihEeSRp-p9nf2EsA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_EpBRo0ihEeSRp-p9nf2EsA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_EpBRpEihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EpBRpUihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EpBRpkihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EpBRp0ihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_EpBRqEihEeSRp-p9nf2EsA" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_EpBRqUihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EpBRqkihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EpBRq0ihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EpBRrEihEeSRp-p9nf2EsA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_Eo_ccEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EpBRoUihEeSRp-p9nf2EsA" x="445" y="198"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_rdgrcUigEeSRp-p9nf2EsA" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_rdgrckigEeSRp-p9nf2EsA"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_rdgrc0igEeSRp-p9nf2EsA">
+ <owner xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_Gi8AoEihEeSRp-p9nf2EsA" type="1013" source="_BfLy4EihEeSRp-p9nf2EsA" target="_33LW0EigEeSRp-p9nf2EsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Gi8AoUihEeSRp-p9nf2EsA"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_Gi3IIEihEeSRp-p9nf2EsA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gi8AokihEeSRp-p9nf2EsA" points="[-2, -15, 14, 131]$[-14, -171, 2, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GjASEEihEeSRp-p9nf2EsA" id="(0.6607142857142857,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JshAsUihEeSRp-p9nf2EsA" id="(0.47,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_HDzSAEihEeSRp-p9nf2EsA" type="1013" source="_DNfu0EihEeSRp-p9nf2EsA" target="_AYAIYEihEeSRp-p9nf2EsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_HDzSAUihEeSRp-p9nf2EsA"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_HDyD4EihEeSRp-p9nf2EsA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HDzSAkihEeSRp-p9nf2EsA" points="[-4, -50, 8, 131]$[-12, -156, 0, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6G7hAEiiEeSKm9FE-lgkJg" id="(0.43,0.02)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6G8IEEiiEeSKm9FE-lgkJg" id="(0.46,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Iw5tAEihEeSRp-p9nf2EsA" type="4001" source="_BfLy4EihEeSRp-p9nf2EsA" target="_DNfu0EihEeSRp-p9nf2EsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw6UEEihEeSRp-p9nf2EsA" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw6UEUihEeSRp-p9nf2EsA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw6UEkihEeSRp-p9nf2EsA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw6UE0ihEeSRp-p9nf2EsA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw67IEihEeSRp-p9nf2EsA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw67IUihEeSRp-p9nf2EsA" x="-8" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw67IkihEeSRp-p9nf2EsA" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw67I0ihEeSRp-p9nf2EsA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw67JEihEeSRp-p9nf2EsA" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw7iMEihEeSRp-p9nf2EsA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw7iMUihEeSRp-p9nf2EsA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw7iMkihEeSRp-p9nf2EsA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Iw5tAUihEeSRp-p9nf2EsA"/>
+ <element xmi:type="uml:Association" href="j2ee.profile.uml#_IwZ9wEihEeSRp-p9nf2EsA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Iw5tAkihEeSRp-p9nf2EsA" points="[50, -8, -144, -8]$[144, -8, -50, -8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JsgZoEihEeSRp-p9nf2EsA" id="(1.0,0.45045045045045046)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JshAsEihEeSRp-p9nf2EsA" id="(0.0,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_JiVPoHW0EeSkkId3wIdLLg" type="1013" source="_EpBRoEihEeSRp-p9nf2EsA" target="_6kXV0EigEeSRp-p9nf2EsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_JiVPoXW0EeSkkId3wIdLLg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_JiQXIHW0EeSkkId3wIdLLg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JiVPonW0EeSkkId3wIdLLg" points="[-3, -17, 12, 137]$[-23, -129, -8, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JiY6AHW0EeSkkId3wIdLLg" id="(0.46,0.09)"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_x0-j0EigEeSRp-p9nf2EsA"/>
+ <notation:Diagram xmi:id="_OqMJsHcGEeSigYPDkthHwg" type="PapyrusUMLProfileDiagram" name="usecases" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_QF8WAHcGEeSigYPDkthHwg" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QF89EHcGEeSigYPDkthHwg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QF89EXcGEeSigYPDkthHwg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QF89EncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QF89E3cGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QF89FHcGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QF89FXcGEeSigYPDkthHwg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QF9kIHcGEeSigYPDkthHwg" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QF9kIXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QF9kIncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QF9kI3cGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QF9kJHcGEeSigYPDkthHwg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_m3yyoHcFEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QF8WAXcGEeSigYPDkthHwg" x="26" y="163"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QGER0HcGEeSigYPDkthHwg" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QGE44HcGEeSigYPDkthHwg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGE44XcGEeSigYPDkthHwg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGE44ncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGE443cGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGE45HcGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGE45XcGEeSigYPDkthHwg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGE45ncGEeSigYPDkthHwg" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGE453cGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGE46HcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGE46XcGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGE46ncGEeSigYPDkthHwg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_qiossHcFEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGER0XcGEeSigYPDkthHwg" x="294" y="168"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QGLmkHcGEeSigYPDkthHwg" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QGLmkncGEeSigYPDkthHwg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGLmk3cGEeSigYPDkthHwg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGLmlHcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGLmlXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGLmlncGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGLml3cGEeSigYPDkthHwg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGMNoHcGEeSigYPDkthHwg" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGMNoXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGMNoncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGMNo3cGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGMNpHcGEeSigYPDkthHwg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_rus3MHcFEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGLmkXcGEeSigYPDkthHwg" x="416" y="166"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QGSUQHcGEeSigYPDkthHwg" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QGSUQncGEeSigYPDkthHwg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGSUQ3cGEeSigYPDkthHwg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGSURHcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGSURXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGSURncGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGSUR3cGEeSigYPDkthHwg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGS7UHcGEeSigYPDkthHwg" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGS7UXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGS7UncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGS7U3cGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGS7VHcGEeSigYPDkthHwg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_4VupIHcFEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGSUQXcGEeSigYPDkthHwg" x="156" y="165"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QGZpAHcGEeSigYPDkthHwg" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QGZpAncGEeSigYPDkthHwg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGZpA3cGEeSigYPDkthHwg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGZpBHcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGZpBXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGZpBncGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGZpB3cGEeSigYPDkthHwg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGaQEHcGEeSigYPDkthHwg" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGaQEXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGaQEncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGaQE3cGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGaQFHcGEeSigYPDkthHwg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_8HPL4HcFEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGZpAXcGEeSigYPDkthHwg" x="554" y="163"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_V4Q58HcGEeSigYPDkthHwg" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4SIEHcGEeSigYPDkthHwg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4SIEXcGEeSigYPDkthHwg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4SIEncGEeSigYPDkthHwg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4SIE3cGEeSigYPDkthHwg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4SIFHcGEeSigYPDkthHwg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4SIFXcGEeSigYPDkthHwg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_V4Q58ncGEeSigYPDkthHwg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V4RhAHcGEeSigYPDkthHwg" x="21" y="31"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_V4SvIHcGEeSigYPDkthHwg" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4TWMXcGEeSigYPDkthHwg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4T9QHcGEeSigYPDkthHwg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4T9QXcGEeSigYPDkthHwg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4T9QncGEeSigYPDkthHwg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4T9Q3cGEeSigYPDkthHwg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4T9RHcGEeSigYPDkthHwg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_V4SvIncGEeSigYPDkthHwg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V4TWMHcGEeSigYPDkthHwg" x="345" y="30"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_hAXPwHcGEeSigYPDkthHwg" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hAYd4HcGEeSigYPDkthHwg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hAYd4XcGEeSigYPDkthHwg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hAZE8HcGEeSigYPDkthHwg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hAZE8XcGEeSigYPDkthHwg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hAZE8ncGEeSigYPDkthHwg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hAZE83cGEeSigYPDkthHwg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_hAX20HcGEeSigYPDkthHwg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Association"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hAX20XcGEeSigYPDkthHwg" x="551" y="26"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_neABkHcGEeSigYPDkthHwg" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_neBPsHcGEeSigYPDkthHwg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_neBPsXcGEeSigYPDkthHwg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_neBPsncGEeSigYPDkthHwg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_neBPs3cGEeSigYPDkthHwg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_neBPtHcGEeSigYPDkthHwg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_neB2wHcGEeSigYPDkthHwg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_neABkncGEeSigYPDkthHwg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_neAooHcGEeSigYPDkthHwg" x="160" y="27"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_OqMJsXcGEeSigYPDkthHwg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_OqMJsncGEeSigYPDkthHwg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_OqMJs3cGEeSigYPDkthHwg">
+ <owner xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_iTrRwHcGEeSigYPDkthHwg" type="1013" source="_QGZpAHcGEeSigYPDkthHwg" target="_hAXPwHcGEeSigYPDkthHwg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_iTrRwXcGEeSigYPDkthHwg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_iTlLIHcGEeSigYPDkthHwg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iTrRwncGEeSigYPDkthHwg" points="[0, 16, 9, -108]$[0, 149, 9, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iTvjMHcGEeSigYPDkthHwg" id="(0.47,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-eZHUHdDEeSqne_6Ue1U0A" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_oB5_4HcGEeSigYPDkthHwg" type="1013" source="_QGER0HcGEeSigYPDkthHwg" target="_V4SvIHcGEeSigYPDkthHwg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_oB5_4XcGEeSigYPDkthHwg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_oB2VgHcGEeSigYPDkthHwg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oB5_4ncGEeSigYPDkthHwg" points="[16, 50, -40, -107]$[50, 132, -6, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-ef1AHdDEeSqne_6Ue1U0A" id="(0.75,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-egcEHdDEeSqne_6Ue1U0A" id="(0.36,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_oichIHcGEeSigYPDkthHwg" type="1013" source="_QGLmkHcGEeSigYPDkthHwg" target="_V4SvIHcGEeSigYPDkthHwg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_oichIXcGEeSigYPDkthHwg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_oiY2wHcGEeSigYPDkthHwg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oichIncGEeSigYPDkthHwg" points="[-19, 50, 47, -109]$[-58, 134, 8, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-egcEXdDEeSqne_6Ue1U0A" id="(0.14,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-ehDIHdDEeSqne_6Ue1U0A" id="(0.66,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_o5rVYHcGEeSigYPDkthHwg" type="1013" source="_QGSUQHcGEeSigYPDkthHwg" target="_neABkHcGEeSigYPDkthHwg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_o5rVYXcGEeSigYPDkthHwg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_o5oSEHcGEeSigYPDkthHwg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_o5rVYncGEeSigYPDkthHwg" points="[3, 50, -6, -107]$[3, 182, -6, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-eLr8HdDEeSqne_6Ue1U0A" id="(0.54,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-eMTAHdDEeSqne_6Ue1U0A" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pUu5sHcGEeSigYPDkthHwg" type="1013" source="_QF8WAHcGEeSigYPDkthHwg" target="_V4Q58HcGEeSigYPDkthHwg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pUu5sXcGEeSigYPDkthHwg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_pUrPUXcGEeSigYPDkthHwg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pUu5sncGEeSigYPDkthHwg" points="[-3, 13, 13, -113]$[-19, 101, -3, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pUykEHcGEeSigYPDkthHwg" id="(0.45,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-eTAsHdDEeSqne_6Ue1U0A" id="(0.5,1.0)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_52licJbDEeSp3sLEVy9Cbw" type="PapyrusUMLProfileDiagram" name="access control" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_66cMIJbDEeSp3sLEVy9Cbw" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_66cMIpbDEeSp3sLEVy9Cbw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_66czMJbDEeSp3sLEVy9Cbw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_66czMZbDEeSp3sLEVy9Cbw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_66czMpbDEeSp3sLEVy9Cbw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_66czM5bDEeSp3sLEVy9Cbw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_66czNJbDEeSp3sLEVy9Cbw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_66czNZbDEeSp3sLEVy9Cbw" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_66czNpbDEeSp3sLEVy9Cbw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_66czN5bDEeSp3sLEVy9Cbw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_66czOJbDEeSp3sLEVy9Cbw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_66czOZbDEeSp3sLEVy9Cbw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_0jBXEJbDEeSp3sLEVy9Cbw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_66cMIZbDEeSp3sLEVy9Cbw" x="256" y="290"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_BCaP8JbEEeSp3sLEVy9Cbw" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BCcsMJbEEeSp3sLEVy9Cbw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BCdTQJbEEeSp3sLEVy9Cbw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BCdTQZbEEeSp3sLEVy9Cbw" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BCdTQpbEEeSp3sLEVy9Cbw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BCdTQ5bEEeSp3sLEVy9Cbw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BCdTRJbEEeSp3sLEVy9Cbw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_BCa3AJbEEeSp3sLEVy9Cbw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BCa3AZbEEeSp3sLEVy9Cbw" x="387" y="117"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GHq5kJbEEeSp3sLEVy9Cbw" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GHsHsJbEEeSp3sLEVy9Cbw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHsHsZbEEeSp3sLEVy9Cbw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHsHspbEEeSp3sLEVy9Cbw" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHsHs5bEEeSp3sLEVy9Cbw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHsHtJbEEeSp3sLEVy9Cbw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHsHtZbEEeSp3sLEVy9Cbw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GHq5kpbEEeSp3sLEVy9Cbw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GHrgoJbEEeSp3sLEVy9Cbw" x="125" y="120"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GHsuwJbEEeSp3sLEVy9Cbw" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GHtV0ZbEEeSp3sLEVy9Cbw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHt84JbEEeSp3sLEVy9Cbw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHt84ZbEEeSp3sLEVy9Cbw" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHt84pbEEeSp3sLEVy9Cbw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHt845bEEeSp3sLEVy9Cbw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHt85JbEEeSp3sLEVy9Cbw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GHsuwpbEEeSp3sLEVy9Cbw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GHtV0JbEEeSp3sLEVy9Cbw" x="254" y="118"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ynVvcJdxEeSKqojqzo808A" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ynYywJdxEeSKqojqzo808A" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ynYywZdxEeSKqojqzo808A" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ynZZ0JdxEeSKqojqzo808A" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ynZZ0ZdxEeSKqojqzo808A" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ynZZ0pdxEeSKqojqzo808A" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ynZZ05dxEeSKqojqzo808A" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ynXkoJdxEeSKqojqzo808A" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ynXkoZdxEeSKqojqzo808A" x="41" y="194"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_52licZbDEeSp3sLEVy9Cbw" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_52licpbDEeSp3sLEVy9Cbw"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_52lic5bDEeSp3sLEVy9Cbw">
+ <owner xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_Hvnu0JbEEeSp3sLEVy9Cbw" type="1013" source="_66cMIJbDEeSp3sLEVy9Cbw" target="_GHq5kJbEEeSp3sLEVy9Cbw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Hvnu0ZbEEeSp3sLEVy9Cbw"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_HvfL8JbEEeSp3sLEVy9Cbw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Hvnu0pbEEeSp3sLEVy9Cbw" points="[-10, -14, 106, 145]$[-66, -152, 50, 7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HvucgJbEEeSp3sLEVy9Cbw" id="(0.35,0.14)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_IPmPYJbEEeSp3sLEVy9Cbw" type="1013" source="_66cMIJbDEeSp3sLEVy9Cbw" target="_GHsuwJbEEeSp3sLEVy9Cbw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_IPmPYZbEEeSp3sLEVy9Cbw"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_IPh98ZbEEeSp3sLEVy9Cbw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IPmPYpbEEeSp3sLEVy9Cbw" points="[-6, -13, -5, 147]$[-6, -135, -5, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IPru8JbEEeSp3sLEVy9Cbw" id="(0.49,0.13)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Ip_FUJbEEeSp3sLEVy9Cbw" type="1013" source="_66cMIJbDEeSp3sLEVy9Cbw" target="_BCaP8JbEEeSp3sLEVy9Cbw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ip_FUZbEEeSp3sLEVy9Cbw"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_Ip6M0JbEEeSp3sLEVy9Cbw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ip_FUpbEEeSp3sLEVy9Cbw" points="[7, -12, -104, 148]$[63, -135, -48, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IqEk4JbEEeSp3sLEVy9Cbw" id="(0.7,0.12)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_zN1HsJdxEeSKqojqzo808A" type="1013" source="_66cMIJbDEeSp3sLEVy9Cbw" target="_ynVvcJdxEeSKqojqzo808A">
+ <styles xmi:type="notation:FontStyle" xmi:id="_zN1HsZdxEeSKqojqzo808A"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_zNoTYJdxEeSKqojqzo808A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zN1HspdxEeSKqojqzo808A" points="[-50, -32, 165, 89]$[-165, -124, 50, -3]"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.uml b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.uml
new file mode 100644
index 00000000000..6b09d9dc79a
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/j2ee.profile.uml
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Profile xmi:id="_raLqoEigEeSRp-p9nf2EsA" name="j2ee" metaclassReference="_33I6kEigEeSRp-p9nf2EsA _6kVgoEigEeSRp-p9nf2EsA _AX-6QEihEeSRp-p9nf2EsA _u8XtEHcFEeSigYPDkthHwg _V4PEwHcGEeSigYPDkthHwg _hAWBoHcGEeSigYPDkthHwg _nd-MYHcGEeSigYPDkthHwg _BCV-gJbEEeSp3sLEVy9Cbw _ymVp4JdxEeSKqojqzo808A" metamodelReference="_raLqoUigEeSRp-p9nf2EsA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0O4lAEihEeSRp-p9nf2EsA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_1fXFcJdxEeSKqojqzo808A" name="j2ee" nsURI="http:///schemas/j2ee/_1fUpMJdxEeSKqojqzo808A/6" nsPrefix="j2ee">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFcZdxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/4.1.0/UML" references="_MCU6IJbEEeSp3sLEVy9Cbw"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fb98JdxEeSKqojqzo808A" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1fb98ZdxEeSKqojqzo808A" key="Version" value="0.0.7"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1fb98pdxEeSKqojqzo808A" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1fb985dxEeSKqojqzo808A" key="Copyright" value="Copyright (c) 2015 Christian W. Damus and others.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA; Christian W. Damus - Initial API and implementation"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1fb99JdxEeSKqojqzo808A" key="Date" value="2015-01-08"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_1fb99ZdxEeSKqojqzo808A" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_1fXFcpdxEeSKqojqzo808A" name="Bean">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFc5dxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Be-XgEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFdJdxEeSKqojqzo808A" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFdpdxEeSKqojqzo808A" name="finder" ordered="false" eType="_1fXFfJdxEeSKqojqzo808A"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_1fXFeJdxEeSKqojqzo808A" name="kind" ordered="false" lowerBound="1" eType="_MCU6MJbEEeSp3sLEVy9Cbw"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_1fXFepdxEeSKqojqzo808A" name="isManaged" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_1fXFfJdxEeSKqojqzo808A" name="Finder">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFfZdxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_DNegsEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFfpdxEeSKqojqzo808A" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_1fXFgJdxEeSKqojqzo808A" name="BeanKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFgZdxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_1fXFgpdxEeSKqojqzo808A" name="entity"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_1fXFg5dxEeSKqojqzo808A" name="session" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_1fXFhJdxEeSKqojqzo808A" name="messagedriven" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_1fXFhZdxEeSKqojqzo808A" name="Import">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFhpdxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Eo_ccEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFh5dxEeSKqojqzo808A" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_1fXFiZdxEeSKqojqzo808A" name="WebScenario">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFipdxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_m3yyoHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFi5dxEeSKqojqzo808A" name="base_UseCase" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//UseCase"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_1fXFjZdxEeSKqojqzo808A" name="User">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFjpdxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_qiossHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFj5dxEeSKqojqzo808A" name="base_Actor" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Actor"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_1fXFkZdxEeSKqojqzo808A" name="Browser">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFkpdxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_rus3MHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFk5dxEeSKqojqzo808A" name="base_Actor" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Actor"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_1fXFlZdxEeSKqojqzo808A" name="BranchPoint">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFlpdxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_4VupIHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFl5dxEeSKqojqzo808A" name="base_ExtensionPoint" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ExtensionPoint"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_1fXFmZdxEeSKqojqzo808A" name="Web">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFmpdxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_8HPL4HcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFm5dxEeSKqojqzo808A" name="base_Association" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Association"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_1fXFnZdxEeSKqojqzo808A" name="AccessControlled">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1fXFnpdxEeSKqojqzo808A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_0jBXEJbDEeSp3sLEVy9Cbw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFn5dxEeSKqojqzo808A" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFoZdxEeSKqojqzo808A" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFo5dxEeSKqojqzo808A" name="base_Property" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_1fXFpZdxEeSKqojqzo808A" name="base_Interface" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ <contents xmi:type="ecore:EPackage" xmi:id="_MCU6IJbEEeSp3sLEVy9Cbw" name="j2ee" nsURI="http:///schemas/j2ee/_MCRPwJbEEeSp3sLEVy9Cbw/5" nsPrefix="j2ee">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6IZbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/4.1.0/UML"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCbn0ZbEEeSp3sLEVy9Cbw" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MCbn0pbEEeSp3sLEVy9Cbw" key="Version" value="0.0.6"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MCbn05bEEeSp3sLEVy9Cbw" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MCbn1JbEEeSp3sLEVy9Cbw" key="Copyright" value="Copyright (c) 2015 Christian W. Damus and others.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA; Christian W. Damus - Initial API and implementation"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MCbn1ZbEEeSp3sLEVy9Cbw" key="Date" value="2015-01-07"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MCbn1pbEEeSp3sLEVy9Cbw" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6IpbEEeSp3sLEVy9Cbw" name="Bean">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6I5bEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Be-XgEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6JJbEEeSp3sLEVy9Cbw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6JpbEEeSp3sLEVy9Cbw" name="finder" ordered="false" eType="_MCU6LJbEEeSp3sLEVy9Cbw"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MCU6KJbEEeSp3sLEVy9Cbw" name="kind" ordered="false" lowerBound="1"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MCU6KpbEEeSp3sLEVy9Cbw" name="isManaged" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6LJbEEeSp3sLEVy9Cbw" name="Finder">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6LZbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_DNegsEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6LpbEEeSp3sLEVy9Cbw" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_MCU6MJbEEeSp3sLEVy9Cbw" name="BeanKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6MZbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_MCU6MpbEEeSp3sLEVy9Cbw" name="entity"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_MCU6M5bEEeSp3sLEVy9Cbw" name="session" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_MCU6NJbEEeSp3sLEVy9Cbw" name="messagedriven" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6NZbEEeSp3sLEVy9Cbw" name="Import">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6NpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Eo_ccEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6N5bEEeSp3sLEVy9Cbw" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6OZbEEeSp3sLEVy9Cbw" name="WebScenario">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6OpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_m3yyoHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6O5bEEeSp3sLEVy9Cbw" name="base_UseCase" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//UseCase"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6PZbEEeSp3sLEVy9Cbw" name="User">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6PpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_qiossHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6P5bEEeSp3sLEVy9Cbw" name="base_Actor" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Actor"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6QZbEEeSp3sLEVy9Cbw" name="Browser">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6QpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_rus3MHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6Q5bEEeSp3sLEVy9Cbw" name="base_Actor" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Actor"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6RZbEEeSp3sLEVy9Cbw" name="BranchPoint">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6RpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_4VupIHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6R5bEEeSp3sLEVy9Cbw" name="base_ExtensionPoint" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ExtensionPoint"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6SZbEEeSp3sLEVy9Cbw" name="Web">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6SpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_8HPL4HcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6S5bEEeSp3sLEVy9Cbw" name="base_Association" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Association"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6TZbEEeSp3sLEVy9Cbw" name="AccessControlled">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6TpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_0jBXEJbDEeSp3sLEVy9Cbw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6T5bEEeSp3sLEVy9Cbw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6UZbEEeSp3sLEVy9Cbw" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6U5bEEeSp3sLEVy9Cbw" name="base_Property" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ </eAnnotations>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_33I6kEigEeSRp-p9nf2EsA" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_6kVgoEigEeSRp-p9nf2EsA" alias="Dependency">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_AX-6QEihEeSRp-p9nf2EsA" alias="Operation">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_u8XtEHcFEeSigYPDkthHwg" alias="UseCase">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_V4PEwHcGEeSigYPDkthHwg" alias="Actor">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_hAWBoHcGEeSigYPDkthHwg" alias="Association">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Association"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_nd-MYHcGEeSigYPDkthHwg" alias="ExtensionPoint">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_BCV-gJbEEeSp3sLEVy9Cbw" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_ymVp4JdxEeSKqojqzo808A" alias="Interface">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ </elementImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_raLqoUigEeSRp-p9nf2EsA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_raLqokigEeSRp-p9nf2EsA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Be-XgEihEeSRp-p9nf2EsA" name="Bean">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Gi2hEEihEeSRp-p9nf2EsA" name="base_Class" association="_Gi3IIEihEeSRp-p9nf2EsA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_IwZWsEihEeSRp-p9nf2EsA" name="finder" type="_DNegsEihEeSRp-p9nf2EsA" association="_IwZ9wEihEeSRp-p9nf2EsA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IwZWsUihEeSRp-p9nf2EsA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IwZWskihEeSRp-p9nf2EsA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_btMX4EihEeSRp-p9nf2EsA" name="kind" type="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_wZ9SIGEcEeSRDpkdeXfJuw" name="isManaged">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_DNegsEihEeSRp-p9nf2EsA" name="Finder">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_HDxc0EihEeSRp-p9nf2EsA" name="base_Operation" association="_HDyD4EihEeSRp-p9nf2EsA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Gi3IIEihEeSRp-p9nf2EsA" name="E_Bean_Class1" memberEnd="_Gi3IIUihEeSRp-p9nf2EsA _Gi2hEEihEeSRp-p9nf2EsA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Gi3IIUihEeSRp-p9nf2EsA" name="extension_Bean" type="_Be-XgEihEeSRp-p9nf2EsA" aggregation="composite" association="_Gi3IIEihEeSRp-p9nf2EsA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_HDyD4EihEeSRp-p9nf2EsA" name="E_Finder_Operation1" memberEnd="_HDyD4UihEeSRp-p9nf2EsA _HDxc0EihEeSRp-p9nf2EsA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_HDyD4UihEeSRp-p9nf2EsA" name="extension_Finder" type="_DNegsEihEeSRp-p9nf2EsA" aggregation="composite" association="_HDyD4EihEeSRp-p9nf2EsA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_IwZ9wEihEeSRp-p9nf2EsA" name="bean_finder_1" memberEnd="_IwZ9wUihEeSRp-p9nf2EsA _IwZWsEihEeSRp-p9nf2EsA">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_IwZ9wUihEeSRp-p9nf2EsA" name="bean" type="_Be-XgEihEeSRp-p9nf2EsA" association="_IwZ9wEihEeSRp-p9nf2EsA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IwZ9wkihEeSRp-p9nf2EsA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IwZ9w0ihEeSRp-p9nf2EsA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_WA1SAEihEeSRp-p9nf2EsA" name="BeanKind">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_XMd-sEihEeSRp-p9nf2EsA" name="entity"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Yzr0IEihEeSRp-p9nf2EsA" name="session"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Zg2cIEihEeSRp-p9nf2EsA" name="messagedriven"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Eo_ccEihEeSRp-p9nf2EsA" name="Import">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_JiPwEHW0EeSkkId3wIdLLg" name="base_Dependency" association="_JiQXIHW0EeSkkId3wIdLLg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_JiQXIHW0EeSkkId3wIdLLg" name="E_Import_Dependency1" memberEnd="_JiQXIXW0EeSkkId3wIdLLg _JiPwEHW0EeSkkId3wIdLLg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_JiQXIXW0EeSkkId3wIdLLg" name="extension_Import" type="_Eo_ccEihEeSRp-p9nf2EsA" aggregation="composite" association="_JiQXIHW0EeSkkId3wIdLLg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_m3yyoHcFEeSigYPDkthHwg" name="WebScenario">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_pUrPUHcGEeSigYPDkthHwg" name="base_UseCase" association="_pUrPUXcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_qiossHcFEeSigYPDkthHwg" name="User">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_oB1ucHcGEeSigYPDkthHwg" name="base_Actor" association="_oB2VgHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_rus3MHcFEeSigYPDkthHwg" name="Browser">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_oiYPsHcGEeSigYPDkthHwg" name="base_Actor" association="_oiY2wHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_4VupIHcFEeSigYPDkthHwg" name="BranchPoint">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_o5nrAHcGEeSigYPDkthHwg" name="base_ExtensionPoint" association="_o5oSEHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_8HPL4HcFEeSigYPDkthHwg" name="Web">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_iTkkEHcGEeSigYPDkthHwg" name="base_Association" association="_iTlLIHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Association"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_iTlLIHcGEeSigYPDkthHwg" name="E_Web_Association1" memberEnd="_iTlLIXcGEeSigYPDkthHwg _iTkkEHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_iTlLIXcGEeSigYPDkthHwg" name="extension_Web" type="_8HPL4HcFEeSigYPDkthHwg" aggregation="composite" association="_iTlLIHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_oB2VgHcGEeSigYPDkthHwg" name="E_User_Actor1" memberEnd="_oB2VgXcGEeSigYPDkthHwg _oB1ucHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_oB2VgXcGEeSigYPDkthHwg" name="extension_User" type="_qiossHcFEeSigYPDkthHwg" aggregation="composite" association="_oB2VgHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_oiY2wHcGEeSigYPDkthHwg" name="E_Browser_Actor1" memberEnd="_oiY2wXcGEeSigYPDkthHwg _oiYPsHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_oiY2wXcGEeSigYPDkthHwg" name="extension_Browser" type="_rus3MHcFEeSigYPDkthHwg" aggregation="composite" association="_oiY2wHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_o5oSEHcGEeSigYPDkthHwg" name="E_BranchPoint_ExtensionPoint1" memberEnd="_o5oSEXcGEeSigYPDkthHwg _o5nrAHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_o5oSEXcGEeSigYPDkthHwg" name="extension_BranchPoint" type="_4VupIHcFEeSigYPDkthHwg" aggregation="composite" association="_o5oSEHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_pUrPUXcGEeSigYPDkthHwg" name="E_WebScenario_UseCase1" memberEnd="_pUrPUncGEeSigYPDkthHwg _pUrPUHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_pUrPUncGEeSigYPDkthHwg" name="extension_WebScenario" type="_m3yyoHcFEeSigYPDkthHwg" aggregation="composite" association="_pUrPUXcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_0jBXEJbDEeSp3sLEVy9Cbw" name="AccessControlled">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Hvek4JbEEeSp3sLEVy9Cbw" name="base_Class" association="_HvfL8JbEEeSp3sLEVy9Cbw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_IPh98JbEEeSp3sLEVy9Cbw" name="base_Operation" association="_IPh98ZbEEeSp3sLEVy9Cbw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Ip5lwJbEEeSp3sLEVy9Cbw" name="base_Property" association="_Ip6M0JbEEeSp3sLEVy9Cbw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_zNnsUJdxEeSKqojqzo808A" name="base_Interface" association="_zNoTYJdxEeSKqojqzo808A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_HvfL8JbEEeSp3sLEVy9Cbw" name="E_AccessControlled_Class1" memberEnd="_HvfL8ZbEEeSp3sLEVy9Cbw _Hvek4JbEEeSp3sLEVy9Cbw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_HvfL8ZbEEeSp3sLEVy9Cbw" name="extension_AccessControlled" type="_0jBXEJbDEeSp3sLEVy9Cbw" aggregation="composite" association="_HvfL8JbEEeSp3sLEVy9Cbw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_IPh98ZbEEeSp3sLEVy9Cbw" name="E_AccessControlled_Operation1" memberEnd="_IPh98pbEEeSp3sLEVy9Cbw _IPh98JbEEeSp3sLEVy9Cbw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_IPh98pbEEeSp3sLEVy9Cbw" name="extension_AccessControlled" type="_0jBXEJbDEeSp3sLEVy9Cbw" aggregation="composite" association="_IPh98ZbEEeSp3sLEVy9Cbw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Ip6M0JbEEeSp3sLEVy9Cbw" name="E_AccessControlled_Property1" memberEnd="_Ip6M0ZbEEeSp3sLEVy9Cbw _Ip5lwJbEEeSp3sLEVy9Cbw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Ip6M0ZbEEeSp3sLEVy9Cbw" name="extension_AccessControlled" type="_0jBXEJbDEeSp3sLEVy9Cbw" aggregation="composite" association="_Ip6M0JbEEeSp3sLEVy9Cbw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_zNoTYJdxEeSKqojqzo808A" name="E_AccessControlled_Interface1" memberEnd="_zNoTYZdxEeSKqojqzo808A _zNnsUJdxEeSKqojqzo808A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_zNoTYZdxEeSKqojqzo808A" name="extension_AccessControlled" type="_0jBXEJbDEeSp3sLEVy9Cbw" aggregation="composite" association="_zNoTYJdxEeSKqojqzo808A"/>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4DUj4IZCEeSuTJMIrueWyQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4EfBgIZCEeSuTJMIrueWyQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Profile>
+ <Ecore:EPackage xmi:id="_5jYBYIZCEeSuTJMIrueWyQ" base_Package="_raLqoEigEeSRp-p9nf2EsA" basePackage="org.eclipse.papyrus.example"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.di b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.notation b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.notation
new file mode 100644
index 00000000000..febce5398f0
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.notation
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_XDNvwKdOEeS-y569OJYknA" type="PapyrusUMLProfileDiagram" name="stereotypes" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_kZ8gUKdOEeS-y569OJYknA" type="1030">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kaAxwKdOEeS-y569OJYknA" type="1047"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kaBY0KdOEeS-y569OJYknA" type="1042">
+ <children xmi:type="notation:Shape" xmi:id="_92B5IKdOEeS-y569OJYknA" type="1023">
+ <children xmi:type="notation:DecorationNode" xmi:id="_92B5IqdOEeS-y569OJYknA" type="1046"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_92B5I6dOEeS-y569OJYknA" type="1052">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_92B5JKdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_92B5JadOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_92B5JqdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_92B5J6dOEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_92B5KKdOEeS-y569OJYknA" type="1053">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_92B5KadOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_92B5KqdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_92B5K6dOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_92B5LKdOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_91_c4KdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_92B5IadOEeS-y569OJYknA" x="23" y="50"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-wum0KdOEeS-y569OJYknA" type="1023">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-wvN4KdOEeS-y569OJYknA" type="1046"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-wvN4adOEeS-y569OJYknA" type="1052">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-wvN4qdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-wvN46dOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-wvN5KdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wvN5adOEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-wv08KdOEeS-y569OJYknA" type="1053">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-wv08adOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-wv08qdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-wv086dOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wv09KdOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_-wsKkKdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wum0adOEeS-y569OJYknA" x="155" y="48"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_kaBY0adOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaBY0qdOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Profile" href="nesting.profile.uml#_kZoXQKdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kZ8gUadOEeS-y569OJYknA" x="106" y="341" width="297" height="205"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_oaSJQKdOEeS-y569OJYknA" type="2007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_oaSwUKdOEeS-y569OJYknA" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oaSwUadOEeS-y569OJYknA" type="1005">
+ <children xmi:type="notation:Shape" xmi:id="_A0Ry8KdPEeS-y569OJYknA" type="1023">
+ <children xmi:type="notation:DecorationNode" xmi:id="_A0Ry8qdPEeS-y569OJYknA" type="1046"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_A0Ry86dPEeS-y569OJYknA" type="1052">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_A0Ry9KdPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_A0SaAKdPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_A0SaAadPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A0SaAqdPEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_A0SaA6dPEeS-y569OJYknA" type="1053">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_A0SaBKdPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_A0SaBadPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_A0SaBqdPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A0SaB6dPEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_A0PWsKdPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A0Ry8adPEeS-y569OJYknA" x="42" y="57"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_BmYlUKdPEeS-y569OJYknA" type="1023">
+ <children xmi:type="notation:DecorationNode" xmi:id="_BmYlUqdPEeS-y569OJYknA" type="1046"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BmYlU6dPEeS-y569OJYknA" type="1052">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BmYlVKdPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BmYlVadPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BmYlVqdPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmYlV6dPEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BmYlWKdPEeS-y569OJYknA" type="1053">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BmYlWadPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BmYlWqdPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BmYlW6dPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmZMYKdPEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_BmViAKdPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmYlUadPEeS-y569OJYknA" x="191" y="53"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_oaSwUqdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oaSwU6dOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Package" href="nesting.profile.uml#_oaAccKdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oaSJQadOEeS-y569OJYknA" x="483" y="341" width="333" height="197"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_uXCbkKdOEeS-y569OJYknA" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_uXCbkqdOEeS-y569OJYknA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_uXEQwKdOEeS-y569OJYknA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_uXEQwadOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uXEQwqdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uXEQw6dOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXEQxKdOEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_uXE30KdOEeS-y569OJYknA" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_uXE30adOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uXE30qdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uXE306dOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXE31KdOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_uW__UKdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXCbkadOEeS-y569OJYknA" x="198" y="153"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ySK0YKdOEeS-y569OJYknA" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ySLbcadOEeS-y569OJYknA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ySLbcqdOEeS-y569OJYknA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ySLbc6dOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ySLbdKdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ySLbdadOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ySLbdqdOEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ySLbd6dOEeS-y569OJYknA" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ySLbeKdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ySLbeadOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ySLbeqdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ySLbe6dOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_ySI_MKdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ySLbcKdOEeS-y569OJYknA" x="660" y="159"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_K3jOsKdPEeS-y569OJYknA" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K3lq8KdPEeS-y569OJYknA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K3lq8adPEeS-y569OJYknA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K3lq8qdPEeS-y569OJYknA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K3lq86dPEeS-y569OJYknA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K3mSAKdPEeS-y569OJYknA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K3mSAadPEeS-y569OJYknA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_K3jOsqdPEeS-y569OJYknA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_K3j1wKdPEeS-y569OJYknA" x="306" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yWuu0KdPEeS-y569OJYknA" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yWwkAKdPEeS-y569OJYknA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yWwkAadPEeS-y569OJYknA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yWxLEKdPEeS-y569OJYknA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yWxLEadPEeS-y569OJYknA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yWxLEqdPEeS-y569OJYknA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yWxLE6dPEeS-y569OJYknA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_yWvV4KdPEeS-y569OJYknA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yWvV4adPEeS-y569OJYknA" x="454" y="36"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_XDNvwadOEeS-y569OJYknA" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_XDNvwqdOEeS-y569OJYknA"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_XDNvw6dOEeS-y569OJYknA">
+ <owner xmi:type="uml:Profile" href="nesting.profile.uml#_XADuEKdOEeS-y569OJYknA"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="nesting.profile.uml#_XADuEKdOEeS-y569OJYknA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_EZkeoKdPEeS-y569OJYknA" type="4002" source="_92B5IKdOEeS-y569OJYknA" target="_uXCbkKdOEeS-y569OJYknA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_EZlFsKdPEeS-y569OJYknA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EZlFsadPEeS-y569OJYknA" x="-4" y="28"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EZkeoadPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Generalization" href="nesting.profile.uml#_EZJn4KdPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EZkeoqdPEeS-y569OJYknA" points="[17, -50, -98, 248]$[65, -255, -50, 43]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O3Ke4KdPEeS-y569OJYknA" id="(0.61,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O3Ke4adPEeS-y569OJYknA" id="(0.38,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_FU10EKdPEeS-y569OJYknA" type="4002" source="_A0Ry8KdPEeS-y569OJYknA" target="_uXCbkKdOEeS-y569OJYknA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FU10E6dPEeS-y569OJYknA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FU10FKdPEeS-y569OJYknA" x="-5" y="19"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FU10EadPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Generalization" href="nesting.profile.uml#_FUzX0KdPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FU10EqdPEeS-y569OJYknA" points="[-24, -23, 237, 243]$[-228, -216, 33, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FU9I0KdPEeS-y569OJYknA" id="(0.0,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O3J30KdPEeS-y569OJYknA" id="(1.0,0.88)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RDtO8KdPEeS-y569OJYknA" type="1013" source="_uXCbkKdOEeS-y569OJYknA" target="_K3jOsKdPEeS-y569OJYknA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RDtO8adPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Extension" href="nesting.profile.uml#_RDmhQKdPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RDtO8qdPEeS-y569OJYknA" points="[17, -21, -71, 88]$[81, -84, -7, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RD1KwKdPEeS-y569OJYknA" id="(0.7,0.21)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_S5mZkKdPEeS-y569OJYknA" type="1013" source="_ySK0YKdOEeS-y569OJYknA" target="_yWuu0KdPEeS-y569OJYknA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_S5mZkadPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Extension" href="nesting.profile.uml#_S5iIIadPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_S5mZkqdPEeS-y569OJYknA" points="[-14, -14, 95, 73]$[-59, -90, 50, -3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S5rSEKdPEeS-y569OJYknA" id="(0.01,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6MTj8KdPEeS-y569OJYknA" id="(0.9,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Ue7_sKdPEeS-y569OJYknA" type="1013" source="_-wum0KdOEeS-y569OJYknA" target="_yWuu0KdPEeS-y569OJYknA" jumpLinkStatus="All">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ue7_sadPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Extension" href="nesting.profile.uml#_Ue5jcKdPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ue7_sqdPEeS-y569OJYknA" points="[20, -50, -155, 345]$[125, -396, -50, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6MS84KdPEeS-y569OJYknA" id="(0.68,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_30NEIKdPEeS-y569OJYknA" id="(0.07,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vr_BoKdPEeS-y569OJYknA" type="1013" source="_BmYlUKdPEeS-y569OJYknA" target="_yWuu0KdPEeS-y569OJYknA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vr_BoadPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Extension" href="nesting.profile.uml#_Vr7-UKdPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vr_BoqdPEeS-y569OJYknA" points="[-9, -14, 196, 338]$[-255, -359, -50, -7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VsFIQKdPEeS-y569OJYknA" id="(0.08,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2ntb0KdPEeS-y569OJYknA" id="(0.38,1.0)"/>
+ </edges>
+</notation:Diagram>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.uml b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.uml
new file mode 100644
index 00000000000..7cd07408209
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/resources/nesting.profile.uml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Profile xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_XADuEKdOEeS-y569OJYknA" name="root" metaclassReference="_K3fkUKdPEeS-y569OJYknA _K3gLYKdPEeS-y569OJYknA _yWs5oKdPEeS-y569OJYknA" metamodelReference="_XADuEadOEeS-y569OJYknA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hxdlsKdPEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_DYb8UadQEeS-y569OJYknA" name="root" nsURI="http:///schemas/root/_DYb8UKdQEeS-y569OJYknA/0" nsPrefix="root">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8UqdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_kZoXQKdOEeS-y569OJYknA"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYhb4KdQEeS-y569OJYknA" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYhb4adQEeS-y569OJYknA" key="Version" value="0.0.1"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYhb4qdQEeS-y569OJYknA" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYhb46dQEeS-y569OJYknA" key="Copyright" value="Copyright (c) 2015 Christian W. Damus and others.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA; Christian W. Damus - Initial API and implementation"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYhb5KdQEeS-y569OJYknA" key="Date" value="2015-01-28"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYhb5adQEeS-y569OJYknA" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYb8U6dQEeS-y569OJYknA" name="S1">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8VKdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uW__UKdOEeS-y569OJYknA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_DYb8VadQEeS-y569OJYknA" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYb8V6dQEeS-y569OJYknA" name="S2">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8WKdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ySI_MKdOEeS-y569OJYknA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_DYb8WadQEeS-y569OJYknA" name="base_Generalization" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Generalization"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eSubpackages xmi:type="ecore:EPackage" xmi:id="_DYb8W6dQEeS-y569OJYknA" name="nestedPackage" nsURI="http:///root/nestedPackage.ecore" nsPrefix="root.nestedPackage">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8XKdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_oaAccKdOEeS-y569OJYknA"/>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYb8XadQEeS-y569OJYknA" name="S2_1" eSuperTypes="_DYb8U6dQEeS-y569OJYknA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8XqdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_A0PWsKdPEeS-y569OJYknA"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYb8YKdQEeS-y569OJYknA" name="S2_2">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8YadQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BmViAKdPEeS-y569OJYknA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_DYb8YqdQEeS-y569OJYknA" name="base_Generalization" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Generalization"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ </contents>
+ </eAnnotations>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_K3fkUKdPEeS-y569OJYknA" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_K3gLYKdPEeS-y569OJYknA" alias="DataType">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_yWs5oKdPEeS-y569OJYknA" alias="Generalization">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ </elementImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_XADuEadOEeS-y569OJYknA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_XADuEqdOEeS-y569OJYknA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_kZoXQKdOEeS-y569OJYknA" name="nestedProfile">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hxfa4adPEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_DYdxgKdQEeS-y569OJYknA" name="nestedProfile" nsURI="http://root/schemas/nestedProfile/_DYdKcKdQEeS-y569OJYknA/0" nsPrefix="nestedProfile">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYdxgadQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/4.1.0/UML" references="_DYb8UadQEeS-y569OJYknA"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYiC8KdQEeS-y569OJYknA" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYiC8adQEeS-y569OJYknA" key="Version" value="0.0.1"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYiC8qdQEeS-y569OJYknA" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYiC86dQEeS-y569OJYknA" key="Copyright" value="Copyright (c) 2015 Christian W. Damus and others.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA; Christian W. Damus - Initial API and implementation"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYiC9KdQEeS-y569OJYknA" key="Date" value="2015-01-28"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYiC9adQEeS-y569OJYknA" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYdxgqdQEeS-y569OJYknA" name="S1_1" eSuperTypes="_DYb8U6dQEeS-y569OJYknA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYdxg6dQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_91_c4KdOEeS-y569OJYknA"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYdxhadQEeS-y569OJYknA" name="S1_2">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYdxhqdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-wsKkKdOEeS-y569OJYknA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_DYdxh6dQEeS-y569OJYknA" name="base_Generalization" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Generalization"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ </eAnnotations>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_91_c4KdOEeS-y569OJYknA" name="S1_1">
+ <generalization xmi:type="uml:Generalization" xmi:id="_EZJn4KdPEeS-y569OJYknA" general="_uW__UKdOEeS-y569OJYknA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_-wsKkKdOEeS-y569OJYknA" name="S1_2">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Ue48YKdPEeS-y569OJYknA" name="base_Generalization" association="_Ue5jcKdPEeS-y569OJYknA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Ue5jcKdPEeS-y569OJYknA" name="E_S1_2_Generalization1" memberEnd="_Ue5jcadPEeS-y569OJYknA _Ue48YKdPEeS-y569OJYknA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Ue5jcadPEeS-y569OJYknA" name="extension_S1_2" type="_-wsKkKdOEeS-y569OJYknA" aggregation="composite" association="_Ue5jcKdPEeS-y569OJYknA"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_oaAccKdOEeS-y569OJYknA" name="nestedPackage">
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_A0PWsKdPEeS-y569OJYknA" name="S2_1">
+ <generalization xmi:type="uml:Generalization" xmi:id="_FUzX0KdPEeS-y569OJYknA" general="_uW__UKdOEeS-y569OJYknA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_BmViAKdPEeS-y569OJYknA" name="S2_2">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Vr7XQKdPEeS-y569OJYknA" name="base_Generalization" association="_Vr7-UKdPEeS-y569OJYknA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Vr7-UKdPEeS-y569OJYknA" name="E_S2_2_Generalization1" memberEnd="_Vr7-UadPEeS-y569OJYknA _Vr7XQKdPEeS-y569OJYknA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Vr7-UadPEeS-y569OJYknA" name="extension_S2_2" type="_BmViAKdPEeS-y569OJYknA" aggregation="composite" association="_Vr7-UKdPEeS-y569OJYknA"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_uW__UKdOEeS-y569OJYknA" name="S1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_RDl6MKdPEeS-y569OJYknA" name="base_Class" association="_RDmhQKdPEeS-y569OJYknA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ySI_MKdOEeS-y569OJYknA" name="S2">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_S5iIIKdPEeS-y569OJYknA" name="base_Generalization" association="_S5iIIadPEeS-y569OJYknA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_RDmhQKdPEeS-y569OJYknA" name="E_S1_Class1" memberEnd="_RDmhQadPEeS-y569OJYknA _RDl6MKdPEeS-y569OJYknA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_RDmhQadPEeS-y569OJYknA" name="extension_S1" type="_uW__UKdOEeS-y569OJYknA" aggregation="composite" association="_RDmhQKdPEeS-y569OJYknA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_S5iIIadPEeS-y569OJYknA" name="E_S2_Generalization1" memberEnd="_S5iIIqdPEeS-y569OJYknA _S5iIIKdPEeS-y569OJYknA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_S5iIIqdPEeS-y569OJYknA" name="extension_S2" type="_ySI_MKdOEeS-y569OJYknA" aggregation="composite" association="_S5iIIadPEeS-y569OJYknA"/>
+ </packagedElement>
+</uml:Profile>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/AllTests.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/AllTests.java
new file mode 100644
index 00000000000..ff954e18a18
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/AllTests.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.assistants.generator.tests;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * The master test suite for the plug-in.
+ */
+@RunWith(Suite.class)
+@SuiteClasses({
+ BasicAssistantsGenerationTest.class, DiagramSpecificAssistantsGenerationTest.class,
+ ProfilesWithPackageNestingTest.class })
+public class AllTests {
+ // Nothing required
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/BasicAssistantsGenerationTest.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/BasicAssistantsGenerationTest.java
new file mode 100644
index 00000000000..6c7c05506c7
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/BasicAssistantsGenerationTest.java
@@ -0,0 +1,176 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.assistants.generator.tests;
+
+import static com.google.common.collect.Iterables.filter;
+import static com.google.common.collect.Iterables.transform;
+import static org.hamcrest.CoreMatchers.hasItems;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.List;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.emf.utils.EMFFunctions;
+import org.eclipse.papyrus.infra.filters.CompoundFilter;
+import org.eclipse.papyrus.infra.filters.Filter;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.xtext.xbase.lib.Pair;
+import org.hamcrest.BaseMatcher;
+import org.hamcrest.Description;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+import com.google.common.base.Function;
+import com.google.common.base.Functions;
+import com.google.common.base.Predicates;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Sets;
+
+/**
+ * Test cases for diagram-specific diagram assistants generation for UML profiles.
+ */
+@PluginResource("/resources/j2ee.profile.uml")
+public class BasicAssistantsGenerationTest {
+
+ @ClassRule
+ public static final ModelGenFixture fixture = new ModelGenFixture();
+
+ public BasicAssistantsGenerationTest() {
+ super();
+ }
+
+ @Test
+ public void popupsGenerated() {
+ Pair<Stereotype, Class> branchPoint = fixture.getMetaclassExtension("Finder", "Operation");
+ fixture.assertAllPopupAssistants(branchPoint);
+ }
+
+ @Test
+ public void connectionsGenerated() {
+ Pair<Stereotype, Class> webAssociation = fixture.getMetaclassExtension("Import", "Dependency");
+ fixture.assertAllConnectionAssistants(webAssociation);
+ }
+
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void popupFilters() {
+ Pair<Stereotype, Class> finderOperation = fixture.getMetaclassExtension("Finder", "Operation");
+ List<PopupAssistant> popups = fixture.assertAllPopupAssistants(finderOperation);
+
+ Pair<Stereotype, Class> beanClass = fixture.getMetaclassExtension("Bean", "Class");
+ ElementTypeFilter filterClass = fixture.assertMetaclassFilter(beanClass, 0);
+ Pair<Stereotype, Class> accessControlledInterface = fixture.getMetaclassExtension("AccessControlled", "Interface");
+ ElementTypeFilter filterInterface = fixture.assertMetaclassFilter(accessControlledInterface, 0);
+
+ assertThat(transform(popups, EMFFunctions.getFeature(AssistantPackage.Literals.POPUP_ASSISTANT__FILTER, Filter.class)), //
+ hasItems(includes(filterClass), includes(filterInterface)));
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void connectionSourceFilters() {
+ Pair<Stereotype, Class> webAssociation = fixture.getMetaclassExtension("Web", "Association");
+ List<ConnectionAssistant> connections = fixture.assertAllConnectionAssistants(webAssociation);
+
+ Pair<Stereotype, Class> beanClass = fixture.getMetaclassExtension("Bean", "Class");
+ ElementTypeFilter filterClass = fixture.assertMetaclassFilter(beanClass, 0);
+ Pair<Stereotype, Class> accessControlledInterface = fixture.getMetaclassExtension("AccessControlled", "Interface");
+ ElementTypeFilter filterInterface = fixture.assertMetaclassFilter(accessControlledInterface, 0);
+
+ assertThat(transform(connections, EMFFunctions.getFeature(AssistantPackage.Literals.CONNECTION_ASSISTANT__SOURCE_FILTER, Filter.class)), //
+ hasItems(includes(filterClass), includes(filterInterface)));
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void connectionTargetFilters() {
+ Pair<Stereotype, Class> webAssociation = fixture.getMetaclassExtension("Web", "Association");
+ List<ConnectionAssistant> connections = fixture.assertAllConnectionAssistants(webAssociation);
+
+ Pair<Stereotype, Class> beanClass = fixture.getMetaclassExtension("Bean", "Class");
+ ElementTypeFilter filterClass = fixture.assertMetaclassFilter(beanClass, 0);
+ Pair<Stereotype, Class> accessControlledInterface = fixture.getMetaclassExtension("AccessControlled", "Interface");
+ ElementTypeFilter filterInterface = fixture.assertMetaclassFilter(accessControlledInterface, 0);
+
+ assertThat(transform(connections, EMFFunctions.getFeature(AssistantPackage.Literals.CONNECTION_ASSISTANT__TARGET_FILTER, Filter.class)), //
+ hasItems(includes(filterClass), includes(filterInterface)));
+ }
+
+ //
+ // Test framework
+ //
+
+ static Function<String, String> suffixFunction() {
+ return new Function<String, String>() {
+ final Pattern suffix = Pattern.compile("[._]([0-9a-zA-Z]+)$");
+
+ @Override
+ public String apply(String input) {
+ Matcher m = suffix.matcher(input);
+ return m.find() ? m.group(1) : null;
+ }
+ };
+ }
+
+ static Function<EObject, Integer> visualIDFunction() {
+ Function<String, Integer> parse = new Function<String, Integer>() {
+ @Override
+ public Integer apply(String input) {
+ return Integer.valueOf(input);
+ }
+ };
+ return Functions.compose(parse, Functions.compose(suffixFunction(), EMFFunctions.getFeature(AssistantPackage.Literals.ASSISTANT__ELEMENT_TYPE_ID, String.class)));
+ }
+
+ static org.hamcrest.Matcher<Filter> includes(final Filter filter) {
+ return new BaseMatcher<Filter>() {
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("includes filter ").appendValue(filter.getName());
+ }
+
+ @Override
+ public boolean matches(Object item) {
+ boolean result = item == filter;
+ if (!result && (item instanceof CompoundFilter)) {
+ result = includes((CompoundFilter) item, filter);
+ }
+ return result;
+ }
+
+ private boolean includes(CompoundFilter compound, Filter filter) {
+ Set<Filter> atoms = closureOfAtoms(compound, Sets.<Filter> newHashSet());
+ return atoms.contains(filter);
+ }
+
+ private Set<Filter> closureOfAtoms(CompoundFilter compound, Set<Filter> result) {
+ Iterables.addAll(result, filter(compound.getFilters(), Predicates.not(Predicates.instanceOf(CompoundFilter.class))));
+ for (CompoundFilter next : filter(compound.getFilters(), CompoundFilter.class)) {
+ closureOfAtoms(next, result);
+ }
+ return result;
+ }
+ };
+ }
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/DiagramSpecificAssistantsGenerationTest.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/DiagramSpecificAssistantsGenerationTest.java
new file mode 100644
index 00000000000..f9489aba8e3
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/DiagramSpecificAssistantsGenerationTest.java
@@ -0,0 +1,194 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.assistants.generator.tests;
+
+import static com.google.common.collect.Iterables.filter;
+import static com.google.common.collect.Iterables.transform;
+import static org.hamcrest.CoreMatchers.hasItems;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.List;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.emf.utils.EMFFunctions;
+import org.eclipse.papyrus.infra.filters.CompoundFilter;
+import org.eclipse.papyrus.infra.filters.Filter;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.BaseElementTypes;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.xtext.xbase.lib.Pair;
+import org.hamcrest.BaseMatcher;
+import org.hamcrest.Description;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+import com.google.common.base.Function;
+import com.google.common.base.Functions;
+import com.google.common.base.Predicates;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Sets;
+
+/**
+ * Test cases for diagram-specific diagram assistants generation for UML profiles.
+ */
+@PluginResource("/resources/j2ee.profile.uml")
+@BaseElementTypes("org.eclipse.papyrus.uml.diagram.usecase.elementTypeSet")
+public class DiagramSpecificAssistantsGenerationTest {
+
+ @ClassRule
+ public static final ModelGenFixture fixture = new ModelGenFixture();
+
+ public DiagramSpecificAssistantsGenerationTest() {
+ super();
+ }
+
+ @Test
+ public void popupsGenerated() {
+ Pair<Stereotype, Class> branchPoint = fixture.getMetaclassExtension("BranchPoint", "ExtensionPoint");
+ fixture.assertAllPopupAssistants(branchPoint);
+ }
+
+ @Test
+ public void connectionsGenerated() {
+ Pair<Stereotype, Class> webAssociation = fixture.getMetaclassExtension("Web", "Association");
+ fixture.assertAllConnectionAssistants(webAssociation);
+ }
+
+ @Test
+ public void distinctPopupHintsGenerated() {
+ Pair<Stereotype, Class> branchPoint = fixture.getMetaclassExtension("BranchPoint", "ExtensionPoint");
+ List<PopupAssistant> popups = fixture.assertAllPopupAssistants(branchPoint);
+ Set<Integer> hints = ImmutableSet.copyOf(transform(popups, visualIDFunction()));
+ assertThat(hints, hasItems(3007, 3008));
+ }
+
+ @Test
+ public void distinctConnectionHintsGenerated() {
+ Pair<Stereotype, Class> webAssociation = fixture.getMetaclassExtension("Web", "Association");
+ List<ConnectionAssistant> connections = fixture.assertAllConnectionAssistants(webAssociation);
+ Set<Integer> hints = ImmutableSet.copyOf(transform(connections, visualIDFunction()));
+ assertThat(hints, hasItems(4011));
+ }
+
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void popupFilters() {
+ Pair<Stereotype, Class> branchPoint = fixture.getMetaclassExtension("BranchPoint", "ExtensionPoint");
+ List<PopupAssistant> popups = fixture.assertAllPopupAssistants(branchPoint);
+
+ Pair<Stereotype, Class> webScenarioUseCase = fixture.getMetaclassExtension("WebScenario", "UseCase");
+ ElementTypeFilter filter2013 = fixture.assertMetaclassFilter(webScenarioUseCase, 2013);
+ ElementTypeFilter filter2014 = fixture.assertMetaclassFilter(webScenarioUseCase, 2014);
+
+ assertThat(transform(popups, EMFFunctions.getFeature(AssistantPackage.Literals.POPUP_ASSISTANT__FILTER, Filter.class)), //
+ hasItems(includes(filter2013), includes(filter2014)));
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void connectionSourceFilters() {
+ Pair<Stereotype, Class> webAssociation = fixture.getMetaclassExtension("Web", "Association");
+ List<ConnectionAssistant> connections = fixture.assertAllConnectionAssistants(webAssociation);
+
+ Pair<Stereotype, Class> userActor = fixture.getMetaclassExtension("User", "Actor");
+ ElementTypeFilter filter2011 = fixture.assertMetaclassFilter(userActor, 2011);
+ Pair<Stereotype, Class> webScenarioUseCase = fixture.getMetaclassExtension("WebScenario", "UseCase");
+ ElementTypeFilter filter2013 = fixture.assertMetaclassFilter(webScenarioUseCase, 2013);
+
+ assertThat(transform(connections, EMFFunctions.getFeature(AssistantPackage.Literals.CONNECTION_ASSISTANT__SOURCE_FILTER, Filter.class)), //
+ hasItems(includes(filter2011), includes(filter2013)));
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void connectionTargetFilters() {
+ Pair<Stereotype, Class> webAssociation = fixture.getMetaclassExtension("Web", "Association");
+ List<ConnectionAssistant> connections = fixture.assertAllConnectionAssistants(webAssociation);
+
+ Pair<Stereotype, Class> userActor = fixture.getMetaclassExtension("User", "Actor");
+ ElementTypeFilter filter2011 = fixture.assertMetaclassFilter(userActor, 2011);
+ Pair<Stereotype, Class> webScenarioUseCase = fixture.getMetaclassExtension("WebScenario", "UseCase");
+ ElementTypeFilter filter2013 = fixture.assertMetaclassFilter(webScenarioUseCase, 2013);
+
+ assertThat(transform(connections, EMFFunctions.getFeature(AssistantPackage.Literals.CONNECTION_ASSISTANT__TARGET_FILTER, Filter.class)), //
+ hasItems(includes(filter2011), includes(filter2013)));
+ }
+
+ //
+ // Test framework
+ //
+
+ static Function<String, String> suffixFunction() {
+ return new Function<String, String>() {
+ final Pattern suffix = Pattern.compile("[._]([0-9a-zA-Z]+)$");
+
+ @Override
+ public String apply(String input) {
+ Matcher m = suffix.matcher(input);
+ return m.find() ? m.group(1) : null;
+ }
+ };
+ }
+
+ static Function<EObject, Integer> visualIDFunction() {
+ Function<String, Integer> parse = new Function<String, Integer>() {
+ @Override
+ public Integer apply(String input) {
+ return Integer.valueOf(input);
+ }
+ };
+ return Functions.compose(parse, Functions.compose(suffixFunction(), EMFFunctions.getFeature(AssistantPackage.Literals.ASSISTANT__ELEMENT_TYPE_ID, String.class)));
+ }
+
+ static org.hamcrest.Matcher<Filter> includes(final Filter filter) {
+ return new BaseMatcher<Filter>() {
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("includes filter ").appendValue(filter.getName());
+ }
+
+ @Override
+ public boolean matches(Object item) {
+ boolean result = item == filter;
+ if (!result && (item instanceof CompoundFilter)) {
+ result = includes((CompoundFilter) item, filter);
+ }
+ return result;
+ }
+
+ private boolean includes(CompoundFilter compound, Filter filter) {
+ Set<Filter> atoms = closureOfAtoms(compound, Sets.<Filter> newHashSet());
+ return atoms.contains(filter);
+ }
+
+ private Set<Filter> closureOfAtoms(CompoundFilter compound, Set<Filter> result) {
+ Iterables.addAll(result, filter(compound.getFilters(), Predicates.not(Predicates.instanceOf(CompoundFilter.class))));
+ for (CompoundFilter next : filter(compound.getFilters(), CompoundFilter.class)) {
+ closureOfAtoms(next, result);
+ }
+ return result;
+ }
+ };
+ }
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/ModelGenFixture.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/ModelGenFixture.java
new file mode 100644
index 00000000000..48c459414cd
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/ModelGenFixture.java
@@ -0,0 +1,198 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.assistants.generator.tests;
+
+import static com.google.common.collect.Iterables.filter;
+import static org.eclipse.papyrus.junit.matchers.MoreMatchers.isEmpty;
+import static org.eclipse.papyrus.junit.matchers.MoreMatchers.lessThan;
+import static org.hamcrest.CoreMatchers.everyItem;
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.List;
+import java.util.regex.Pattern;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.Assistant;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ModelingAssistantProvider;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.util.AssistantResource;
+import org.eclipse.papyrus.uml.profile.assistants.generator.ModelingAssistantsGenerator;
+import org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.Identifiers;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.xtext.xbase.lib.Pair;
+import org.hamcrest.CoreMatchers;
+
+import com.google.common.collect.Lists;
+
+/**
+ * A specialization of the element types generation fixture that additionally generates the Diagram Assistants model.
+ */
+public class ModelGenFixture extends org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.ModelGenFixture {
+ public ModelGenFixture() {
+ super();
+ }
+
+ public URI getAssistantsResourceURI() {
+ URI inputURI = getModelResourceURI();
+ String basename = inputURI.lastSegment();
+ basename = basename.substring(0, basename.indexOf('.'));
+
+ return inputURI.trimSegments(1).appendSegment(basename).appendFileExtension(AssistantResource.FILE_EXTENSION);
+ }
+
+ public ModelingAssistantProvider getModelingAssistantProvider() {
+ Resource resource = getResourceSet().getResource(getAssistantsResourceURI(), true);
+ return (ModelingAssistantProvider) resource.getContents().get(0);
+ }
+
+ public <A extends Assistant> A getAssistant(Pair<Stereotype, Class> metaclassExtension, int visualID, java.lang.Class<A> type) {
+ Assistant result = getAssistant(metaclassExtension, visualID);
+ assertThat("not a " + type.getSimpleName(), result, instanceOf(type));
+ return type.cast(result);
+ }
+
+ public Assistant getAssistant(Pair<Stereotype, Class> metaclassExtension, int visualID) {
+ return getAssistant(getElementTypeID(metaclassExtension, visualID));
+ }
+
+ protected String getElementTypeID(Pair<Stereotype, Class> metaclassExtension, int visualID) {
+ return String.format("%s_%s", getElementTypeID(metaclassExtension, false), visualID);
+ }
+
+ protected String getElementTypeID(org.eclipse.uml2.uml.Class metaclass, int visualID) {
+ String metaclassID = getElementTypeID(metaclass);
+ return (visualID <= 0) ? metaclassID : String.format("%s_%s", metaclassID, visualID);
+ }
+
+ public Assistant getAssistant(String id) {
+ Assistant result = null;
+
+ for (Assistant next : getModelingAssistantProvider().getAssistants()) {
+ if (id.equals(next.getElementTypeID())) {
+ result = next;
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ public <A extends Assistant> List<A> getAllAssistants(Pair<Stereotype, Class> metaclassExtension, java.lang.Class<A> type) {
+ List<Assistant> result = getAllAssistants(metaclassExtension);
+ assertThat("not " + type.getSimpleName(), result, everyItem(CoreMatchers.<Assistant> instanceOf(type)));
+
+ @SuppressWarnings("unchecked")
+ List<A> resultAsA = (List<A>) result;
+ return resultAsA;
+ }
+
+ public List<Assistant> getAllAssistants(Pair<Stereotype, Class> metaclassExtension) {
+ return getAllAssistants(Pattern.compile(String.format("%s($|_\\w+)", Pattern.quote(getElementTypeID(metaclassExtension, false)))));
+ }
+
+ public List<Assistant> getAllAssistants(Pattern idPattern) {
+ List<Assistant> result = Lists.newArrayListWithExpectedSize(3);
+
+ for (Assistant next : getModelingAssistantProvider().getAssistants()) {
+ if (idPattern.matcher(next.getElementTypeID()).find()) {
+ result.add(next);
+ }
+ }
+
+ return result;
+ }
+
+ public PopupAssistant assertPopupAssistant(Pair<Stereotype, Class> metaclassExtension, int visualID) {
+ PopupAssistant result = getAssistant(metaclassExtension, visualID, PopupAssistant.class);
+ return result;
+ }
+
+ public List<PopupAssistant> assertAllPopupAssistants(Pair<Stereotype, Class> metaclassExtension) {
+ List<PopupAssistant> result = getAllAssistants(metaclassExtension, PopupAssistant.class);
+ return result;
+ }
+
+ public ConnectionAssistant assertConnectionAssistant(Pair<Stereotype, Class> metaclassExtension, int visualID) {
+ ConnectionAssistant result = getAssistant(metaclassExtension, visualID, ConnectionAssistant.class);
+ return result;
+ }
+
+ public List<ConnectionAssistant> assertAllConnectionAssistants(Pair<Stereotype, Class> metaclassExtension) {
+ List<ConnectionAssistant> result = getAllAssistants(metaclassExtension, ConnectionAssistant.class);
+ return result;
+ }
+
+ public ElementTypeFilter getMetaclassFilter(Pair<Stereotype, Class> metaclassExtension, int visualID) {
+ ElementTypeFilter result = null;
+ String id = getElementTypeID(metaclassExtension.getValue(), visualID);
+
+ for (ElementTypeFilter next : filter(getModelingAssistantProvider().getOwnedFilters(), ElementTypeFilter.class)) {
+ if (next.getElementTypeID().equals(id)) {
+ result = next;
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ public List<ElementTypeFilter> getAllMetaclassFilters(Pair<Stereotype, Class> metaclassExtension) {
+ return getAllMetaclassFilters(getElementTypeID(metaclassExtension.getValue()) + "_");
+ }
+
+ public List<ElementTypeFilter> getAllMetaclassFilters(String idPrefix) {
+ List<ElementTypeFilter> result = Lists.newArrayListWithExpectedSize(3);
+
+ for (ElementTypeFilter next : filter(getModelingAssistantProvider().getOwnedFilters(), ElementTypeFilter.class)) {
+ if (next.getElementTypeID().startsWith(idPrefix)) {
+ result.add(next);
+ }
+ }
+
+ return result;
+ }
+
+ public ElementTypeFilter assertMetaclassFilter(Pair<Stereotype, Class> metaclassExtension, int visualID) {
+ ElementTypeFilter result = getMetaclassFilter(metaclassExtension, visualID);
+ assertThat(result, notNullValue());
+ return result;
+ }
+
+ public List<ElementTypeFilter> assertAllMetaclassFilters(Pair<Stereotype, Class> metaclassExtension) {
+ List<ElementTypeFilter> result = getAllMetaclassFilters(metaclassExtension);
+ assertThat(result, not(isEmpty()));
+ return result;
+ }
+
+ @Override
+ protected void generateModel(Identifiers identifiers) {
+ super.generateModel(identifiers);
+
+ generateDiagramAssistants(identifiers);
+ }
+
+ protected void generateDiagramAssistants(Identifiers identifiers) {
+ ModelingAssistantsGenerator assistantsGenerator = new ModelingAssistantsGenerator(identifiers);
+ IStatus status = assistantsGenerator.generate(getModelURI(), getAssistantsResourceURI());
+ assertThat(status.getMessage(), status.getSeverity(), lessThan(IStatus.ERROR));
+ }
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/ProfilesWithPackageNestingTest.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/ProfilesWithPackageNestingTest.java
new file mode 100644
index 00000000000..3674822d1db
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests/src/org/eclipse/papyrus/uml/profile/assistants/generator/tests/ProfilesWithPackageNestingTest.java
@@ -0,0 +1,175 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.assistants.generator.tests;
+
+import static com.google.common.collect.Iterables.filter;
+import static com.google.common.collect.Iterables.transform;
+import static org.hamcrest.CoreMatchers.hasItems;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.List;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.emf.utils.EMFFunctions;
+import org.eclipse.papyrus.infra.filters.CompoundFilter;
+import org.eclipse.papyrus.infra.filters.Filter;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.AssistantPackage;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ConnectionAssistant;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.ElementTypeFilter;
+import org.eclipse.papyrus.infra.gmfdiag.assistant.PopupAssistant;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.xtext.xbase.lib.Pair;
+import org.hamcrest.BaseMatcher;
+import org.hamcrest.Description;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+import com.google.common.base.Function;
+import com.google.common.base.Functions;
+import com.google.common.base.Predicates;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Sets;
+
+/**
+ * Test cases for diagram assistants generation for UML profiles that have nested packages and profiles.
+ */
+@PluginResource("/resources/nesting.profile.uml")
+public class ProfilesWithPackageNestingTest {
+
+ @ClassRule
+ public static final ModelGenFixture fixture = new ModelGenFixture();
+
+ public ProfilesWithPackageNestingTest() {
+ super();
+ }
+
+ @Test
+ public void popupsGenerated() {
+ Pair<Stereotype, Class> s11Class = fixture.getMetaclassExtension("S1_1", "Class");
+ fixture.assertAllPopupAssistants(s11Class);
+ }
+
+ @Test
+ public void connectionsGenerated() {
+ Pair<Stereotype, Class> s12Generalization = fixture.getMetaclassExtension("S1_2", "Generalization");
+ fixture.assertAllConnectionAssistants(s12Generalization);
+ }
+
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void popupFilters() {
+ Pair<Stereotype, Class> s11Class = fixture.getMetaclassExtension("S1_1", "Class");
+ List<PopupAssistant> popups = fixture.assertAllPopupAssistants(s11Class);
+
+ ElementTypeFilter filterClass = fixture.assertMetaclassFilter(s11Class, 0);
+ Pair<Stereotype, Class> s21Class = fixture.getMetaclassExtension("S2_1", "Class");
+ ElementTypeFilter filterClass2 = fixture.assertMetaclassFilter(s21Class, 0);
+
+ assertThat(transform(popups, EMFFunctions.getFeature(AssistantPackage.Literals.POPUP_ASSISTANT__FILTER, Filter.class)), //
+ hasItems(includes(filterClass), includes(filterClass2)));
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void connectionSourceFilters() {
+ Pair<Stereotype, Class> s12Generalization = fixture.getMetaclassExtension("S1_2", "Generalization");
+ List<ConnectionAssistant> connections = fixture.assertAllConnectionAssistants(s12Generalization);
+
+ Pair<Stereotype, Class> s11Class = fixture.getMetaclassExtension("S1_1", "Class");
+ ElementTypeFilter filterClass = fixture.assertMetaclassFilter(s11Class, 0);
+ Pair<Stereotype, Class> s21Class = fixture.getMetaclassExtension("S2_1", "Class");
+ ElementTypeFilter filterClass2 = fixture.assertMetaclassFilter(s21Class, 0);
+
+ assertThat(transform(connections, EMFFunctions.getFeature(AssistantPackage.Literals.CONNECTION_ASSISTANT__SOURCE_FILTER, Filter.class)), //
+ hasItems(includes(filterClass), includes(filterClass2)));
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void connectionTargetFilters() {
+ Pair<Stereotype, Class> s12Generalization = fixture.getMetaclassExtension("S1_2", "Generalization");
+ List<ConnectionAssistant> connections = fixture.assertAllConnectionAssistants(s12Generalization);
+
+ Pair<Stereotype, Class> s11Class = fixture.getMetaclassExtension("S1_1", "Class");
+ ElementTypeFilter filterClass = fixture.assertMetaclassFilter(s11Class, 0);
+ Pair<Stereotype, Class> s21Class = fixture.getMetaclassExtension("S2_1", "Class");
+ ElementTypeFilter filterClass2 = fixture.assertMetaclassFilter(s21Class, 0);
+
+ assertThat(transform(connections, EMFFunctions.getFeature(AssistantPackage.Literals.CONNECTION_ASSISTANT__TARGET_FILTER, Filter.class)), //
+ hasItems(includes(filterClass), includes(filterClass2)));
+ }
+
+ //
+ // Test framework
+ //
+
+ static Function<String, String> suffixFunction() {
+ return new Function<String, String>() {
+ final Pattern suffix = Pattern.compile("[._]([0-9a-zA-Z]+)$");
+
+ @Override
+ public String apply(String input) {
+ Matcher m = suffix.matcher(input);
+ return m.find() ? m.group(1) : null;
+ }
+ };
+ }
+
+ static Function<EObject, Integer> visualIDFunction() {
+ Function<String, Integer> parse = new Function<String, Integer>() {
+ @Override
+ public Integer apply(String input) {
+ return Integer.valueOf(input);
+ }
+ };
+ return Functions.compose(parse, Functions.compose(suffixFunction(), EMFFunctions.getFeature(AssistantPackage.Literals.ASSISTANT__ELEMENT_TYPE_ID, String.class)));
+ }
+
+ static org.hamcrest.Matcher<Filter> includes(final Filter filter) {
+ return new BaseMatcher<Filter>() {
+ @Override
+ public void describeTo(Description description) {
+ description.appendText("includes filter ").appendValue(filter.getName());
+ }
+
+ @Override
+ public boolean matches(Object item) {
+ boolean result = item == filter;
+ if (!result && (item instanceof CompoundFilter)) {
+ result = includes((CompoundFilter) item, filter);
+ }
+ return result;
+ }
+
+ private boolean includes(CompoundFilter compound, Filter filter) {
+ Set<Filter> atoms = closureOfAtoms(compound, Sets.<Filter> newHashSet());
+ return atoms.contains(filter);
+ }
+
+ private Set<Filter> closureOfAtoms(CompoundFilter compound, Set<Filter> result) {
+ Iterables.addAll(result, filter(compound.getFilters(), Predicates.not(Predicates.instanceOf(CompoundFilter.class))));
+ for (CompoundFilter next : filter(compound.getFilters(), CompoundFilter.class)) {
+ closureOfAtoms(next, result);
+ }
+ return result;
+ }
+ };
+ }
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.classpath b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.classpath
new file mode 100644
index 00000000000..098194ca4b7
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.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/JavaSE-1.7"/>
+ <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/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.project b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.project
new file mode 100644
index 00000000000..99c0099f8e6
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.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/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f08be2b06c4
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..522841282e1
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,27 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests;singleton:=true
+Bundle-Version: 1.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Description: %pluginDescription
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Require-Bundle: org.eclipse.core.runtime,
+ org.junit;bundle-version="4.11.0",
+ org.eclipse.papyrus.junit.framework;bundle-version="1.1.0",
+ org.eclipse.papyrus.junit.utils;bundle-version="1.1.0",
+ org.eclipse.emf.ecore;bundle-version="2.11.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.1.0",
+ org.eclipse.papyrus.uml.tools.elementtypesconfigurations;bundle-version="1.1.0",
+ org.eclipse.uml2.uml;bundle-version="5.1.0",
+ org.eclipse.papyrus.uml.service.types;bundle-version="1.1.0",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.7.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="1.1.0",
+ org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator;bundle-version="1.1.0",
+ com.google.inject;bundle-version="3.0.0",
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.xtext.xbase.lib;bundle-version="2.8.0"
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/about.html b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.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>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/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/build.properties b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/build.properties
new file mode 100644
index 00000000000..e6ac66d4daf
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/build.properties
@@ -0,0 +1,19 @@
+# Copyright (c) 2015 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.properties,\
+ about.html,\
+ resources/
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.launch b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.launch
new file mode 100644
index 00000000000..5ec60cd22ad
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests.launch
@@ -0,0 +1,45 @@
+<?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"/>
+<listAttribute key="com.mountainminds.eclemma.core.SCOPE_IDS">
+<listEntry value="=org.eclipse.papyrus.uml.decoratormodel/src"/>
+</listAttribute>
+<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-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/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"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<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.uml.profile.elementtypesconfigurations.generator.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.uml.profile.elementtypesconfigurations.generator.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.6 -Xms128m -Xmx1200m -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/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/plugin.properties b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/plugin.properties
new file mode 100644
index 00000000000..0e75fec33b0
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/plugin.properties
@@ -0,0 +1,13 @@
+# Copyright (c) 2015 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+pluginName = Automated Tests for Papyrus Element Types Configuration Generator for UML Profiles
+providerName = Eclipse Modeling Project
+pluginDescription = JUnit tests for element types model generation for UML profiles
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/pom.xml b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/pom.xml
new file mode 100644
index 00000000000..4d69735b991
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/pom.xml
@@ -0,0 +1,27 @@
+<?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.1.0-SNAPSHOT</version>
+ <relativePath>../../../../../../releng/top-pom-main-tests.xml</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+ <build>
+ <plugins>
+ <!-- Tycho build using the project's JDT settings. -->
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useProjectSettings>true</useProjectSettings>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.di b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.di
new file mode 100644
index 00000000000..24bc988cd5f
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.di
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="j2ee.profile.notation#_rdgrcEigEeSRp-p9nf2EsA"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="j2ee.profile.notation#_52licJbDEeSp3sLEVy9Cbw"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="j2ee.profile.notation#_OqMJsHcGEeSigYPDkthHwg"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.notation b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.notation
new file mode 100644
index 00000000000..3b5f2260540
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.notation
@@ -0,0 +1,437 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_rdgrcEigEeSRp-p9nf2EsA" type="PapyrusUMLProfileDiagram" name="stereotypes" measurementUnit="Pixel">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5jumsIZCEeSuTJMIrueWyQ" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jumsYZCEeSuTJMIrueWyQ" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jvNwIZCEeSuTJMIrueWyQ" key="StereotypeList" value="Ecore::EPackage"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jvNwYZCEeSuTJMIrueWyQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jvNwoZCEeSuTJMIrueWyQ" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_5jvNw4ZCEeSuTJMIrueWyQ" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_33LW0EigEeSRp-p9nf2EsA" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_33PoQEigEeSRp-p9nf2EsA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_33PoQUigEeSRp-p9nf2EsA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_33PoQkigEeSRp-p9nf2EsA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_33PoQ0igEeSRp-p9nf2EsA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_33PoREigEeSRp-p9nf2EsA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_33PoRUigEeSRp-p9nf2EsA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_33OaIEigEeSRp-p9nf2EsA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_33OaIUigEeSRp-p9nf2EsA" x="88" y="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6kXV0EigEeSRp-p9nf2EsA" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6kX84EigEeSRp-p9nf2EsA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kX84UigEeSRp-p9nf2EsA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kX84kigEeSRp-p9nf2EsA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kX840igEeSRp-p9nf2EsA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kX85EigEeSRp-p9nf2EsA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6kX85UigEeSRp-p9nf2EsA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_6kXV0kigEeSRp-p9nf2EsA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6kXV00igEeSRp-p9nf2EsA" x="443" y="36"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_AYAIYEihEeSRp-p9nf2EsA" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AYAvcUihEeSRp-p9nf2EsA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYAvckihEeSRp-p9nf2EsA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYBWgEihEeSRp-p9nf2EsA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYBWgUihEeSRp-p9nf2EsA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYBWgkihEeSRp-p9nf2EsA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_AYBWg0ihEeSRp-p9nf2EsA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AYAIYkihEeSRp-p9nf2EsA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AYAvcEihEeSRp-p9nf2EsA" x="275" y="41"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_BfLy4EihEeSRp-p9nf2EsA" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_BfLy4kihEeSRp-p9nf2EsA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BfLy40ihEeSRp-p9nf2EsA" type="1071">
+ <children xmi:type="notation:Node" xmi:id="_btXXAEihEeSRp-p9nf2EsA" type="3002">
+ <element xmi:type="uml:Property" href="j2ee.profile.uml#_btMX4EihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_btXXAUihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_wa0NwGEcEeSRDpkdeXfJuw" type="3002">
+ <element xmi:type="uml:Property" href="j2ee.profile.uml#_wZ9SIGEcEeSRDpkdeXfJuw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_wa0NwWEcEeSRDpkdeXfJuw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BfLy5EihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BfLy5UihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BfMZ8EihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BfMZ8UihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BfMZ8kihEeSRp-p9nf2EsA" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BfMZ80ihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BfMZ9EihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BfMZ9UihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BfMZ9kihEeSRp-p9nf2EsA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_Be-XgEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BfLy4UihEeSRp-p9nf2EsA" x="24" y="197"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_DNfu0EihEeSRp-p9nf2EsA" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_DNgV4EihEeSRp-p9nf2EsA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_DNgV4UihEeSRp-p9nf2EsA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DNgV4kihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DNgV40ihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DNgV5EihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DNgV5UihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_DNgV5kihEeSRp-p9nf2EsA" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DNgV50ihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DNgV6EihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DNgV6UihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DNgV6kihEeSRp-p9nf2EsA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_DNegsEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DNfu0UihEeSRp-p9nf2EsA" x="287" y="197"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WA6KgEihEeSRp-p9nf2EsA" type="2006">
+ <children xmi:type="notation:DecorationNode" xmi:id="_WA6xkEihEeSRp-p9nf2EsA" type="5023"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_WA6xkUihEeSRp-p9nf2EsA" type="1063">
+ <children xmi:type="notation:Node" xmi:id="_XMi3MEihEeSRp-p9nf2EsA" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="j2ee.profile.uml#_XMd-sEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XMi3MUihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_YztCQEihEeSRp-p9nf2EsA" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="j2ee.profile.uml#_Yzr0IEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YztCQUihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Zg3qQEihEeSRp-p9nf2EsA" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="j2ee.profile.uml#_Zg2cIEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Zg3qQUihEeSRp-p9nf2EsA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_WA6xkkihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_WA6xk0ihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_WA6xlEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WA6xlUihEeSRp-p9nf2EsA"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="j2ee.profile.uml#_WA1SAEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WA6KgUihEeSRp-p9nf2EsA" x="73" y="339"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_EpBRoEihEeSRp-p9nf2EsA" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_EpBRokihEeSRp-p9nf2EsA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_EpBRo0ihEeSRp-p9nf2EsA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_EpBRpEihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EpBRpUihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EpBRpkihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EpBRp0ihEeSRp-p9nf2EsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_EpBRqEihEeSRp-p9nf2EsA" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_EpBRqUihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EpBRqkihEeSRp-p9nf2EsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EpBRq0ihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EpBRrEihEeSRp-p9nf2EsA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_Eo_ccEihEeSRp-p9nf2EsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EpBRoUihEeSRp-p9nf2EsA" x="445" y="198"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_rdgrcUigEeSRp-p9nf2EsA" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_rdgrckigEeSRp-p9nf2EsA"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_rdgrc0igEeSRp-p9nf2EsA">
+ <owner xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_Gi8AoEihEeSRp-p9nf2EsA" type="1013" source="_BfLy4EihEeSRp-p9nf2EsA" target="_33LW0EigEeSRp-p9nf2EsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Gi8AoUihEeSRp-p9nf2EsA"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_Gi3IIEihEeSRp-p9nf2EsA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Gi8AokihEeSRp-p9nf2EsA" points="[-2, -15, 14, 131]$[-14, -171, 2, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GjASEEihEeSRp-p9nf2EsA" id="(0.6607142857142857,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JshAsUihEeSRp-p9nf2EsA" id="(0.47,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_HDzSAEihEeSRp-p9nf2EsA" type="1013" source="_DNfu0EihEeSRp-p9nf2EsA" target="_AYAIYEihEeSRp-p9nf2EsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_HDzSAUihEeSRp-p9nf2EsA"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_HDyD4EihEeSRp-p9nf2EsA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HDzSAkihEeSRp-p9nf2EsA" points="[-4, -50, 8, 131]$[-12, -156, 0, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6G7hAEiiEeSKm9FE-lgkJg" id="(0.43,0.02)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6G8IEEiiEeSKm9FE-lgkJg" id="(0.46,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Iw5tAEihEeSRp-p9nf2EsA" type="4001" source="_BfLy4EihEeSRp-p9nf2EsA" target="_DNfu0EihEeSRp-p9nf2EsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw6UEEihEeSRp-p9nf2EsA" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw6UEUihEeSRp-p9nf2EsA" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw6UEkihEeSRp-p9nf2EsA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw6UE0ihEeSRp-p9nf2EsA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw67IEihEeSRp-p9nf2EsA" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw67IUihEeSRp-p9nf2EsA" x="-8" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw67IkihEeSRp-p9nf2EsA" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw67I0ihEeSRp-p9nf2EsA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw67JEihEeSRp-p9nf2EsA" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw7iMEihEeSRp-p9nf2EsA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Iw7iMUihEeSRp-p9nf2EsA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Iw7iMkihEeSRp-p9nf2EsA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Iw5tAUihEeSRp-p9nf2EsA"/>
+ <element xmi:type="uml:Association" href="j2ee.profile.uml#_IwZ9wEihEeSRp-p9nf2EsA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Iw5tAkihEeSRp-p9nf2EsA" points="[50, -8, -144, -8]$[144, -8, -50, -8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JsgZoEihEeSRp-p9nf2EsA" id="(1.0,0.45045045045045046)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JshAsEihEeSRp-p9nf2EsA" id="(0.0,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_JiVPoHW0EeSkkId3wIdLLg" type="1013" source="_EpBRoEihEeSRp-p9nf2EsA" target="_6kXV0EigEeSRp-p9nf2EsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_JiVPoXW0EeSkkId3wIdLLg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_JiQXIHW0EeSkkId3wIdLLg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JiVPonW0EeSkkId3wIdLLg" points="[-3, -17, 12, 137]$[-23, -129, -8, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JiY6AHW0EeSkkId3wIdLLg" id="(0.46,0.09)"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_x0-j0EigEeSRp-p9nf2EsA"/>
+ <notation:Diagram xmi:id="_OqMJsHcGEeSigYPDkthHwg" type="PapyrusUMLProfileDiagram" name="usecases" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_QF8WAHcGEeSigYPDkthHwg" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QF89EHcGEeSigYPDkthHwg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QF89EXcGEeSigYPDkthHwg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QF89EncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QF89E3cGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QF89FHcGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QF89FXcGEeSigYPDkthHwg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QF9kIHcGEeSigYPDkthHwg" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QF9kIXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QF9kIncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QF9kI3cGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QF9kJHcGEeSigYPDkthHwg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_m3yyoHcFEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QF8WAXcGEeSigYPDkthHwg" x="26" y="163"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QGER0HcGEeSigYPDkthHwg" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QGE44HcGEeSigYPDkthHwg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGE44XcGEeSigYPDkthHwg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGE44ncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGE443cGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGE45HcGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGE45XcGEeSigYPDkthHwg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGE45ncGEeSigYPDkthHwg" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGE453cGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGE46HcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGE46XcGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGE46ncGEeSigYPDkthHwg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_qiossHcFEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGER0XcGEeSigYPDkthHwg" x="294" y="168"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QGLmkHcGEeSigYPDkthHwg" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QGLmkncGEeSigYPDkthHwg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGLmk3cGEeSigYPDkthHwg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGLmlHcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGLmlXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGLmlncGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGLml3cGEeSigYPDkthHwg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGMNoHcGEeSigYPDkthHwg" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGMNoXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGMNoncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGMNo3cGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGMNpHcGEeSigYPDkthHwg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_rus3MHcFEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGLmkXcGEeSigYPDkthHwg" x="416" y="166"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QGSUQHcGEeSigYPDkthHwg" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QGSUQncGEeSigYPDkthHwg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGSUQ3cGEeSigYPDkthHwg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGSURHcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGSURXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGSURncGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGSUR3cGEeSigYPDkthHwg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGS7UHcGEeSigYPDkthHwg" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGS7UXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGS7UncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGS7U3cGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGS7VHcGEeSigYPDkthHwg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_4VupIHcFEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGSUQXcGEeSigYPDkthHwg" x="156" y="165"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QGZpAHcGEeSigYPDkthHwg" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QGZpAncGEeSigYPDkthHwg" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGZpA3cGEeSigYPDkthHwg" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGZpBHcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGZpBXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGZpBncGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGZpB3cGEeSigYPDkthHwg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QGaQEHcGEeSigYPDkthHwg" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_QGaQEXcGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_QGaQEncGEeSigYPDkthHwg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_QGaQE3cGEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGaQFHcGEeSigYPDkthHwg"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_8HPL4HcFEeSigYPDkthHwg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QGZpAXcGEeSigYPDkthHwg" x="554" y="163"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_V4Q58HcGEeSigYPDkthHwg" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4SIEHcGEeSigYPDkthHwg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4SIEXcGEeSigYPDkthHwg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4SIEncGEeSigYPDkthHwg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4SIE3cGEeSigYPDkthHwg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4SIFHcGEeSigYPDkthHwg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4SIFXcGEeSigYPDkthHwg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_V4Q58ncGEeSigYPDkthHwg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V4RhAHcGEeSigYPDkthHwg" x="21" y="31"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_V4SvIHcGEeSigYPDkthHwg" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V4TWMXcGEeSigYPDkthHwg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4T9QHcGEeSigYPDkthHwg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4T9QXcGEeSigYPDkthHwg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4T9QncGEeSigYPDkthHwg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4T9Q3cGEeSigYPDkthHwg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_V4T9RHcGEeSigYPDkthHwg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_V4SvIncGEeSigYPDkthHwg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V4TWMHcGEeSigYPDkthHwg" x="345" y="30"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_hAXPwHcGEeSigYPDkthHwg" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hAYd4HcGEeSigYPDkthHwg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hAYd4XcGEeSigYPDkthHwg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hAZE8HcGEeSigYPDkthHwg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hAZE8XcGEeSigYPDkthHwg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hAZE8ncGEeSigYPDkthHwg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_hAZE83cGEeSigYPDkthHwg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_hAX20HcGEeSigYPDkthHwg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Association"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hAX20XcGEeSigYPDkthHwg" x="551" y="26"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_neABkHcGEeSigYPDkthHwg" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_neBPsHcGEeSigYPDkthHwg" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_neBPsXcGEeSigYPDkthHwg" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_neBPsncGEeSigYPDkthHwg" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_neBPs3cGEeSigYPDkthHwg" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_neBPtHcGEeSigYPDkthHwg" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_neB2wHcGEeSigYPDkthHwg" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_neABkncGEeSigYPDkthHwg" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_neAooHcGEeSigYPDkthHwg" x="160" y="27"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_OqMJsXcGEeSigYPDkthHwg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_OqMJsncGEeSigYPDkthHwg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_OqMJs3cGEeSigYPDkthHwg">
+ <owner xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_iTrRwHcGEeSigYPDkthHwg" type="1013" source="_QGZpAHcGEeSigYPDkthHwg" target="_hAXPwHcGEeSigYPDkthHwg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_iTrRwXcGEeSigYPDkthHwg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_iTlLIHcGEeSigYPDkthHwg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iTrRwncGEeSigYPDkthHwg" points="[0, 16, 9, -108]$[0, 149, 9, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iTvjMHcGEeSigYPDkthHwg" id="(0.47,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-eZHUHdDEeSqne_6Ue1U0A" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_oB5_4HcGEeSigYPDkthHwg" type="1013" source="_QGER0HcGEeSigYPDkthHwg" target="_V4SvIHcGEeSigYPDkthHwg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_oB5_4XcGEeSigYPDkthHwg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_oB2VgHcGEeSigYPDkthHwg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oB5_4ncGEeSigYPDkthHwg" points="[16, 50, -40, -107]$[50, 132, -6, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-ef1AHdDEeSqne_6Ue1U0A" id="(0.75,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-egcEHdDEeSqne_6Ue1U0A" id="(0.36,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_oichIHcGEeSigYPDkthHwg" type="1013" source="_QGLmkHcGEeSigYPDkthHwg" target="_V4SvIHcGEeSigYPDkthHwg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_oichIXcGEeSigYPDkthHwg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_oiY2wHcGEeSigYPDkthHwg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_oichIncGEeSigYPDkthHwg" points="[-19, 50, 47, -109]$[-58, 134, 8, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-egcEXdDEeSqne_6Ue1U0A" id="(0.14,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-ehDIHdDEeSqne_6Ue1U0A" id="(0.66,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_o5rVYHcGEeSigYPDkthHwg" type="1013" source="_QGSUQHcGEeSigYPDkthHwg" target="_neABkHcGEeSigYPDkthHwg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_o5rVYXcGEeSigYPDkthHwg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_o5oSEHcGEeSigYPDkthHwg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_o5rVYncGEeSigYPDkthHwg" points="[3, 50, -6, -107]$[3, 182, -6, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-eLr8HdDEeSqne_6Ue1U0A" id="(0.54,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-eMTAHdDEeSqne_6Ue1U0A" id="(0.5,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pUu5sHcGEeSigYPDkthHwg" type="1013" source="_QF8WAHcGEeSigYPDkthHwg" target="_V4Q58HcGEeSigYPDkthHwg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pUu5sXcGEeSigYPDkthHwg"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_pUrPUXcGEeSigYPDkthHwg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pUu5sncGEeSigYPDkthHwg" points="[-3, 13, 13, -113]$[-19, 101, -3, -25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pUykEHcGEeSigYPDkthHwg" id="(0.45,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-eTAsHdDEeSqne_6Ue1U0A" id="(0.5,1.0)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_52licJbDEeSp3sLEVy9Cbw" type="PapyrusUMLProfileDiagram" name="access control" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_66cMIJbDEeSp3sLEVy9Cbw" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_66cMIpbDEeSp3sLEVy9Cbw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_66czMJbDEeSp3sLEVy9Cbw" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_66czMZbDEeSp3sLEVy9Cbw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_66czMpbDEeSp3sLEVy9Cbw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_66czM5bDEeSp3sLEVy9Cbw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_66czNJbDEeSp3sLEVy9Cbw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_66czNZbDEeSp3sLEVy9Cbw" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_66czNpbDEeSp3sLEVy9Cbw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_66czN5bDEeSp3sLEVy9Cbw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_66czOJbDEeSp3sLEVy9Cbw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_66czOZbDEeSp3sLEVy9Cbw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_0jBXEJbDEeSp3sLEVy9Cbw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_66cMIZbDEeSp3sLEVy9Cbw" x="256" y="290"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_BCaP8JbEEeSp3sLEVy9Cbw" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BCcsMJbEEeSp3sLEVy9Cbw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BCdTQJbEEeSp3sLEVy9Cbw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BCdTQZbEEeSp3sLEVy9Cbw" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BCdTQpbEEeSp3sLEVy9Cbw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BCdTQ5bEEeSp3sLEVy9Cbw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BCdTRJbEEeSp3sLEVy9Cbw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_BCa3AJbEEeSp3sLEVy9Cbw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BCa3AZbEEeSp3sLEVy9Cbw" x="387" y="117"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GHq5kJbEEeSp3sLEVy9Cbw" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GHsHsJbEEeSp3sLEVy9Cbw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHsHsZbEEeSp3sLEVy9Cbw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHsHspbEEeSp3sLEVy9Cbw" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHsHs5bEEeSp3sLEVy9Cbw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHsHtJbEEeSp3sLEVy9Cbw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHsHtZbEEeSp3sLEVy9Cbw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GHq5kpbEEeSp3sLEVy9Cbw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GHrgoJbEEeSp3sLEVy9Cbw" x="125" y="120"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GHsuwJbEEeSp3sLEVy9Cbw" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GHtV0ZbEEeSp3sLEVy9Cbw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHt84JbEEeSp3sLEVy9Cbw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHt84ZbEEeSp3sLEVy9Cbw" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHt84pbEEeSp3sLEVy9Cbw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHt845bEEeSp3sLEVy9Cbw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GHt85JbEEeSp3sLEVy9Cbw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GHsuwpbEEeSp3sLEVy9Cbw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GHtV0JbEEeSp3sLEVy9Cbw" x="254" y="118"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_52licZbDEeSp3sLEVy9Cbw" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_52licpbDEeSp3sLEVy9Cbw"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_52lic5bDEeSp3sLEVy9Cbw">
+ <owner xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="j2ee.profile.uml#_raLqoEigEeSRp-p9nf2EsA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_Hvnu0JbEEeSp3sLEVy9Cbw" type="1013" source="_66cMIJbDEeSp3sLEVy9Cbw" target="_GHq5kJbEEeSp3sLEVy9Cbw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Hvnu0ZbEEeSp3sLEVy9Cbw"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_HvfL8JbEEeSp3sLEVy9Cbw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Hvnu0pbEEeSp3sLEVy9Cbw" points="[-10, -14, 106, 145]$[-66, -152, 50, 7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HvucgJbEEeSp3sLEVy9Cbw" id="(0.35,0.14)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_IPmPYJbEEeSp3sLEVy9Cbw" type="1013" source="_66cMIJbDEeSp3sLEVy9Cbw" target="_GHsuwJbEEeSp3sLEVy9Cbw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_IPmPYZbEEeSp3sLEVy9Cbw"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_IPh98ZbEEeSp3sLEVy9Cbw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IPmPYpbEEeSp3sLEVy9Cbw" points="[-6, -13, -5, 147]$[-6, -135, -5, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IPru8JbEEeSp3sLEVy9Cbw" id="(0.49,0.13)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Ip_FUJbEEeSp3sLEVy9Cbw" type="1013" source="_66cMIJbDEeSp3sLEVy9Cbw" target="_BCaP8JbEEeSp3sLEVy9Cbw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ip_FUZbEEeSp3sLEVy9Cbw"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_Ip6M0JbEEeSp3sLEVy9Cbw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ip_FUpbEEeSp3sLEVy9Cbw" points="[7, -12, -104, 148]$[63, -135, -48, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IqEk4JbEEeSp3sLEVy9Cbw" id="(0.7,0.12)"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.uml b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.uml
new file mode 100644
index 00000000000..e63302b1f11
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/j2ee.profile.uml
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Profile xmi:id="_raLqoEigEeSRp-p9nf2EsA" name="j2ee" metaclassReference="_33I6kEigEeSRp-p9nf2EsA _6kVgoEigEeSRp-p9nf2EsA _AX-6QEihEeSRp-p9nf2EsA _u8XtEHcFEeSigYPDkthHwg _V4PEwHcGEeSigYPDkthHwg _hAWBoHcGEeSigYPDkthHwg _nd-MYHcGEeSigYPDkthHwg _BCV-gJbEEeSp3sLEVy9Cbw" metamodelReference="_raLqoUigEeSRp-p9nf2EsA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0O4lAEihEeSRp-p9nf2EsA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_MCU6IJbEEeSp3sLEVy9Cbw" name="j2ee" nsURI="http:///schemas/j2ee/_MCRPwJbEEeSp3sLEVy9Cbw/5" nsPrefix="j2ee">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6IZbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/4.1.0/UML"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCbn0ZbEEeSp3sLEVy9Cbw" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MCbn0pbEEeSp3sLEVy9Cbw" key="Version" value="0.0.6"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MCbn05bEEeSp3sLEVy9Cbw" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MCbn1JbEEeSp3sLEVy9Cbw" key="Copyright" value="Copyright (c) 2015 Christian W. Damus and others.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA; Christian W. Damus - Initial API and implementation"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MCbn1ZbEEeSp3sLEVy9Cbw" key="Date" value="2015-01-07"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MCbn1pbEEeSp3sLEVy9Cbw" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6IpbEEeSp3sLEVy9Cbw" name="Bean">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6I5bEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Be-XgEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6JJbEEeSp3sLEVy9Cbw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6JpbEEeSp3sLEVy9Cbw" name="finder" ordered="false" eType="_MCU6LJbEEeSp3sLEVy9Cbw"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MCU6KJbEEeSp3sLEVy9Cbw" name="kind" ordered="false" lowerBound="1"/>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_MCU6KpbEEeSp3sLEVy9Cbw" name="isManaged" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6LJbEEeSp3sLEVy9Cbw" name="Finder">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6LZbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_DNegsEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6LpbEEeSp3sLEVy9Cbw" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_MCU6MJbEEeSp3sLEVy9Cbw" name="BeanKind">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6MZbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_MCU6MpbEEeSp3sLEVy9Cbw" name="entity"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_MCU6M5bEEeSp3sLEVy9Cbw" name="session" value="1"/>
+ <eLiterals xmi:type="ecore:EEnumLiteral" xmi:id="_MCU6NJbEEeSp3sLEVy9Cbw" name="messagedriven" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6NZbEEeSp3sLEVy9Cbw" name="Import">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6NpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_Eo_ccEihEeSRp-p9nf2EsA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6N5bEEeSp3sLEVy9Cbw" name="base_Dependency" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6OZbEEeSp3sLEVy9Cbw" name="WebScenario">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6OpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_m3yyoHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6O5bEEeSp3sLEVy9Cbw" name="base_UseCase" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//UseCase"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6PZbEEeSp3sLEVy9Cbw" name="User">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6PpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_qiossHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6P5bEEeSp3sLEVy9Cbw" name="base_Actor" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Actor"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6QZbEEeSp3sLEVy9Cbw" name="Browser">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6QpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_rus3MHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6Q5bEEeSp3sLEVy9Cbw" name="base_Actor" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Actor"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6RZbEEeSp3sLEVy9Cbw" name="BranchPoint">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6RpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_4VupIHcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6R5bEEeSp3sLEVy9Cbw" name="base_ExtensionPoint" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ExtensionPoint"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6SZbEEeSp3sLEVy9Cbw" name="Web">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6SpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_8HPL4HcFEeSigYPDkthHwg"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6S5bEEeSp3sLEVy9Cbw" name="base_Association" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Association"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_MCU6TZbEEeSp3sLEVy9Cbw" name="AccessControlled">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MCU6TpbEEeSp3sLEVy9Cbw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_0jBXEJbDEeSp3sLEVy9Cbw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6T5bEEeSp3sLEVy9Cbw" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6UZbEEeSp3sLEVy9Cbw" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_MCU6U5bEEeSp3sLEVy9Cbw" name="base_Property" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ </eAnnotations>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_33I6kEigEeSRp-p9nf2EsA" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_6kVgoEigEeSRp-p9nf2EsA" alias="Dependency">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_AX-6QEihEeSRp-p9nf2EsA" alias="Operation">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_u8XtEHcFEeSigYPDkthHwg" alias="UseCase">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_V4PEwHcGEeSigYPDkthHwg" alias="Actor">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_hAWBoHcGEeSigYPDkthHwg" alias="Association">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Association"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_nd-MYHcGEeSigYPDkthHwg" alias="ExtensionPoint">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_BCV-gJbEEeSp3sLEVy9Cbw" alias="Property">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </elementImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_raLqoUigEeSRp-p9nf2EsA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_raLqokigEeSRp-p9nf2EsA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Be-XgEihEeSRp-p9nf2EsA" name="Bean">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Gi2hEEihEeSRp-p9nf2EsA" name="base_Class" association="_Gi3IIEihEeSRp-p9nf2EsA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_IwZWsEihEeSRp-p9nf2EsA" name="finder" type="_DNegsEihEeSRp-p9nf2EsA" association="_IwZ9wEihEeSRp-p9nf2EsA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IwZWsUihEeSRp-p9nf2EsA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IwZWskihEeSRp-p9nf2EsA" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_btMX4EihEeSRp-p9nf2EsA" name="kind" type="_WA1SAEihEeSRp-p9nf2EsA"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_wZ9SIGEcEeSRDpkdeXfJuw" name="isManaged">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_DNegsEihEeSRp-p9nf2EsA" name="Finder">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_HDxc0EihEeSRp-p9nf2EsA" name="base_Operation" association="_HDyD4EihEeSRp-p9nf2EsA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Gi3IIEihEeSRp-p9nf2EsA" name="E_Bean_Class1" memberEnd="_Gi3IIUihEeSRp-p9nf2EsA _Gi2hEEihEeSRp-p9nf2EsA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Gi3IIUihEeSRp-p9nf2EsA" name="extension_Bean" type="_Be-XgEihEeSRp-p9nf2EsA" aggregation="composite" association="_Gi3IIEihEeSRp-p9nf2EsA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_HDyD4EihEeSRp-p9nf2EsA" name="E_Finder_Operation1" memberEnd="_HDyD4UihEeSRp-p9nf2EsA _HDxc0EihEeSRp-p9nf2EsA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_HDyD4UihEeSRp-p9nf2EsA" name="extension_Finder" type="_DNegsEihEeSRp-p9nf2EsA" aggregation="composite" association="_HDyD4EihEeSRp-p9nf2EsA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_IwZ9wEihEeSRp-p9nf2EsA" name="bean_finder_1" memberEnd="_IwZ9wUihEeSRp-p9nf2EsA _IwZWsEihEeSRp-p9nf2EsA">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_IwZ9wUihEeSRp-p9nf2EsA" name="bean" type="_Be-XgEihEeSRp-p9nf2EsA" association="_IwZ9wEihEeSRp-p9nf2EsA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IwZ9wkihEeSRp-p9nf2EsA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IwZ9w0ihEeSRp-p9nf2EsA" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_WA1SAEihEeSRp-p9nf2EsA" name="BeanKind">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_XMd-sEihEeSRp-p9nf2EsA" name="entity"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Yzr0IEihEeSRp-p9nf2EsA" name="session"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_Zg2cIEihEeSRp-p9nf2EsA" name="messagedriven"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Eo_ccEihEeSRp-p9nf2EsA" name="Import">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_JiPwEHW0EeSkkId3wIdLLg" name="base_Dependency" association="_JiQXIHW0EeSkkId3wIdLLg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_JiQXIHW0EeSkkId3wIdLLg" name="E_Import_Dependency1" memberEnd="_JiQXIXW0EeSkkId3wIdLLg _JiPwEHW0EeSkkId3wIdLLg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_JiQXIXW0EeSkkId3wIdLLg" name="extension_Import" type="_Eo_ccEihEeSRp-p9nf2EsA" aggregation="composite" association="_JiQXIHW0EeSkkId3wIdLLg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_m3yyoHcFEeSigYPDkthHwg" name="WebScenario">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_pUrPUHcGEeSigYPDkthHwg" name="base_UseCase" association="_pUrPUXcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#UseCase"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_qiossHcFEeSigYPDkthHwg" name="User">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_oB1ucHcGEeSigYPDkthHwg" name="base_Actor" association="_oB2VgHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_rus3MHcFEeSigYPDkthHwg" name="Browser">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_oiYPsHcGEeSigYPDkthHwg" name="base_Actor" association="_oiY2wHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Actor"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_4VupIHcFEeSigYPDkthHwg" name="BranchPoint">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_o5nrAHcGEeSigYPDkthHwg" name="base_ExtensionPoint" association="_o5oSEHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ExtensionPoint"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_8HPL4HcFEeSigYPDkthHwg" name="Web">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_iTkkEHcGEeSigYPDkthHwg" name="base_Association" association="_iTlLIHcGEeSigYPDkthHwg">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Association"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_iTlLIHcGEeSigYPDkthHwg" name="E_Web_Association1" memberEnd="_iTlLIXcGEeSigYPDkthHwg _iTkkEHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_iTlLIXcGEeSigYPDkthHwg" name="extension_Web" type="_8HPL4HcFEeSigYPDkthHwg" aggregation="composite" association="_iTlLIHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_oB2VgHcGEeSigYPDkthHwg" name="E_User_Actor1" memberEnd="_oB2VgXcGEeSigYPDkthHwg _oB1ucHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_oB2VgXcGEeSigYPDkthHwg" name="extension_User" type="_qiossHcFEeSigYPDkthHwg" aggregation="composite" association="_oB2VgHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_oiY2wHcGEeSigYPDkthHwg" name="E_Browser_Actor1" memberEnd="_oiY2wXcGEeSigYPDkthHwg _oiYPsHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_oiY2wXcGEeSigYPDkthHwg" name="extension_Browser" type="_rus3MHcFEeSigYPDkthHwg" aggregation="composite" association="_oiY2wHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_o5oSEHcGEeSigYPDkthHwg" name="E_BranchPoint_ExtensionPoint1" memberEnd="_o5oSEXcGEeSigYPDkthHwg _o5nrAHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_o5oSEXcGEeSigYPDkthHwg" name="extension_BranchPoint" type="_4VupIHcFEeSigYPDkthHwg" aggregation="composite" association="_o5oSEHcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_pUrPUXcGEeSigYPDkthHwg" name="E_WebScenario_UseCase1" memberEnd="_pUrPUncGEeSigYPDkthHwg _pUrPUHcGEeSigYPDkthHwg">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_pUrPUncGEeSigYPDkthHwg" name="extension_WebScenario" type="_m3yyoHcFEeSigYPDkthHwg" aggregation="composite" association="_pUrPUXcGEeSigYPDkthHwg"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_0jBXEJbDEeSp3sLEVy9Cbw" name="AccessControlled">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Hvek4JbEEeSp3sLEVy9Cbw" name="base_Class" association="_HvfL8JbEEeSp3sLEVy9Cbw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_IPh98JbEEeSp3sLEVy9Cbw" name="base_Operation" association="_IPh98ZbEEeSp3sLEVy9Cbw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Ip5lwJbEEeSp3sLEVy9Cbw" name="base_Property" association="_Ip6M0JbEEeSp3sLEVy9Cbw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_HvfL8JbEEeSp3sLEVy9Cbw" name="E_AccessControlled_Class1" memberEnd="_HvfL8ZbEEeSp3sLEVy9Cbw _Hvek4JbEEeSp3sLEVy9Cbw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_HvfL8ZbEEeSp3sLEVy9Cbw" name="extension_AccessControlled" type="_0jBXEJbDEeSp3sLEVy9Cbw" aggregation="composite" association="_HvfL8JbEEeSp3sLEVy9Cbw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_IPh98ZbEEeSp3sLEVy9Cbw" name="E_AccessControlled_Operation1" memberEnd="_IPh98pbEEeSp3sLEVy9Cbw _IPh98JbEEeSp3sLEVy9Cbw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_IPh98pbEEeSp3sLEVy9Cbw" name="extension_AccessControlled" type="_0jBXEJbDEeSp3sLEVy9Cbw" aggregation="composite" association="_IPh98ZbEEeSp3sLEVy9Cbw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Ip6M0JbEEeSp3sLEVy9Cbw" name="E_AccessControlled_Property1" memberEnd="_Ip6M0ZbEEeSp3sLEVy9Cbw _Ip5lwJbEEeSp3sLEVy9Cbw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Ip6M0ZbEEeSp3sLEVy9Cbw" name="extension_AccessControlled" type="_0jBXEJbDEeSp3sLEVy9Cbw" aggregation="composite" association="_Ip6M0JbEEeSp3sLEVy9Cbw"/>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_4DUj4IZCEeSuTJMIrueWyQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_4EfBgIZCEeSuTJMIrueWyQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Profile>
+ <Ecore:EPackage xmi:id="_5jYBYIZCEeSuTJMIrueWyQ" base_Package="_raLqoEigEeSRp-p9nf2EsA" basePackage="org.eclipse.papyrus.example"/>
+</xmi:XMI>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.di b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.di
new file mode 100644
index 00000000000..bf9abab340f
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.notation b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.notation
new file mode 100644
index 00000000000..febce5398f0
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.notation
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_XDNvwKdOEeS-y569OJYknA" type="PapyrusUMLProfileDiagram" name="stereotypes" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_kZ8gUKdOEeS-y569OJYknA" type="1030">
+ <children xmi:type="notation:DecorationNode" xmi:id="_kaAxwKdOEeS-y569OJYknA" type="1047"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_kaBY0KdOEeS-y569OJYknA" type="1042">
+ <children xmi:type="notation:Shape" xmi:id="_92B5IKdOEeS-y569OJYknA" type="1023">
+ <children xmi:type="notation:DecorationNode" xmi:id="_92B5IqdOEeS-y569OJYknA" type="1046"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_92B5I6dOEeS-y569OJYknA" type="1052">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_92B5JKdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_92B5JadOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_92B5JqdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_92B5J6dOEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_92B5KKdOEeS-y569OJYknA" type="1053">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_92B5KadOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_92B5KqdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_92B5K6dOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_92B5LKdOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_91_c4KdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_92B5IadOEeS-y569OJYknA" x="23" y="50"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-wum0KdOEeS-y569OJYknA" type="1023">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-wvN4KdOEeS-y569OJYknA" type="1046"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-wvN4adOEeS-y569OJYknA" type="1052">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-wvN4qdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-wvN46dOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-wvN5KdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wvN5adOEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-wv08KdOEeS-y569OJYknA" type="1053">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-wv08adOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-wv08qdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-wv086dOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wv09KdOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_-wsKkKdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-wum0adOEeS-y569OJYknA" x="155" y="48"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_kaBY0adOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kaBY0qdOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Profile" href="nesting.profile.uml#_kZoXQKdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kZ8gUadOEeS-y569OJYknA" x="106" y="341" width="297" height="205"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_oaSJQKdOEeS-y569OJYknA" type="2007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_oaSwUKdOEeS-y569OJYknA" type="5026"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_oaSwUadOEeS-y569OJYknA" type="1005">
+ <children xmi:type="notation:Shape" xmi:id="_A0Ry8KdPEeS-y569OJYknA" type="1023">
+ <children xmi:type="notation:DecorationNode" xmi:id="_A0Ry8qdPEeS-y569OJYknA" type="1046"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_A0Ry86dPEeS-y569OJYknA" type="1052">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_A0Ry9KdPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_A0SaAKdPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_A0SaAadPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A0SaAqdPEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_A0SaA6dPEeS-y569OJYknA" type="1053">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_A0SaBKdPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_A0SaBadPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_A0SaBqdPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A0SaB6dPEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_A0PWsKdPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A0Ry8adPEeS-y569OJYknA" x="42" y="57"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_BmYlUKdPEeS-y569OJYknA" type="1023">
+ <children xmi:type="notation:DecorationNode" xmi:id="_BmYlUqdPEeS-y569OJYknA" type="1046"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BmYlU6dPEeS-y569OJYknA" type="1052">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BmYlVKdPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BmYlVadPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BmYlVqdPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmYlV6dPEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_BmYlWKdPEeS-y569OJYknA" type="1053">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_BmYlWadPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_BmYlWqdPEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_BmYlW6dPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmZMYKdPEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_BmViAKdPEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BmYlUadPEeS-y569OJYknA" x="191" y="53"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_oaSwUqdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oaSwU6dOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Package" href="nesting.profile.uml#_oaAccKdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oaSJQadOEeS-y569OJYknA" x="483" y="341" width="333" height="197"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_uXCbkKdOEeS-y569OJYknA" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_uXCbkqdOEeS-y569OJYknA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_uXEQwKdOEeS-y569OJYknA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_uXEQwadOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uXEQwqdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uXEQw6dOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXEQxKdOEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_uXE30KdOEeS-y569OJYknA" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_uXE30adOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_uXE30qdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_uXE306dOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXE31KdOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_uW__UKdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uXCbkadOEeS-y569OJYknA" x="198" y="153"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ySK0YKdOEeS-y569OJYknA" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ySLbcadOEeS-y569OJYknA" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ySLbcqdOEeS-y569OJYknA" type="1071">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ySLbc6dOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ySLbdKdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ySLbdadOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ySLbdqdOEeS-y569OJYknA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ySLbd6dOEeS-y569OJYknA" type="1019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ySLbeKdOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ySLbeadOEeS-y569OJYknA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ySLbeqdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ySLbe6dOEeS-y569OJYknA"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="nesting.profile.uml#_ySI_MKdOEeS-y569OJYknA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ySLbcKdOEeS-y569OJYknA" x="660" y="159"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_K3jOsKdPEeS-y569OJYknA" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K3lq8KdPEeS-y569OJYknA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K3lq8adPEeS-y569OJYknA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K3lq8qdPEeS-y569OJYknA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K3lq86dPEeS-y569OJYknA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K3mSAKdPEeS-y569OJYknA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K3mSAadPEeS-y569OJYknA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_K3jOsqdPEeS-y569OJYknA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_K3j1wKdPEeS-y569OJYknA" x="306" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yWuu0KdPEeS-y569OJYknA" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_yWwkAKdPEeS-y569OJYknA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yWwkAadPEeS-y569OJYknA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yWxLEKdPEeS-y569OJYknA" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yWxLEadPEeS-y569OJYknA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yWxLEqdPEeS-y569OJYknA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_yWxLE6dPEeS-y569OJYknA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_yWvV4KdPEeS-y569OJYknA" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yWvV4adPEeS-y569OJYknA" x="454" y="36"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_XDNvwadOEeS-y569OJYknA" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_XDNvwqdOEeS-y569OJYknA"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_XDNvw6dOEeS-y569OJYknA">
+ <owner xmi:type="uml:Profile" href="nesting.profile.uml#_XADuEKdOEeS-y569OJYknA"/>
+ </styles>
+ <element xmi:type="uml:Profile" href="nesting.profile.uml#_XADuEKdOEeS-y569OJYknA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_EZkeoKdPEeS-y569OJYknA" type="4002" source="_92B5IKdOEeS-y569OJYknA" target="_uXCbkKdOEeS-y569OJYknA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_EZlFsKdPEeS-y569OJYknA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EZlFsadPEeS-y569OJYknA" x="-4" y="28"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EZkeoadPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Generalization" href="nesting.profile.uml#_EZJn4KdPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EZkeoqdPEeS-y569OJYknA" points="[17, -50, -98, 248]$[65, -255, -50, 43]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O3Ke4KdPEeS-y569OJYknA" id="(0.61,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O3Ke4adPEeS-y569OJYknA" id="(0.38,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_FU10EKdPEeS-y569OJYknA" type="4002" source="_A0Ry8KdPEeS-y569OJYknA" target="_uXCbkKdOEeS-y569OJYknA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FU10E6dPEeS-y569OJYknA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FU10FKdPEeS-y569OJYknA" x="-5" y="19"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_FU10EadPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Generalization" href="nesting.profile.uml#_FUzX0KdPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FU10EqdPEeS-y569OJYknA" points="[-24, -23, 237, 243]$[-228, -216, 33, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FU9I0KdPEeS-y569OJYknA" id="(0.0,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O3J30KdPEeS-y569OJYknA" id="(1.0,0.88)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RDtO8KdPEeS-y569OJYknA" type="1013" source="_uXCbkKdOEeS-y569OJYknA" target="_K3jOsKdPEeS-y569OJYknA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RDtO8adPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Extension" href="nesting.profile.uml#_RDmhQKdPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RDtO8qdPEeS-y569OJYknA" points="[17, -21, -71, 88]$[81, -84, -7, 25]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RD1KwKdPEeS-y569OJYknA" id="(0.7,0.21)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_S5mZkKdPEeS-y569OJYknA" type="1013" source="_ySK0YKdOEeS-y569OJYknA" target="_yWuu0KdPEeS-y569OJYknA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_S5mZkadPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Extension" href="nesting.profile.uml#_S5iIIadPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_S5mZkqdPEeS-y569OJYknA" points="[-14, -14, 95, 73]$[-59, -90, 50, -3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S5rSEKdPEeS-y569OJYknA" id="(0.01,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6MTj8KdPEeS-y569OJYknA" id="(0.9,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Ue7_sKdPEeS-y569OJYknA" type="1013" source="_-wum0KdOEeS-y569OJYknA" target="_yWuu0KdPEeS-y569OJYknA" jumpLinkStatus="All">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Ue7_sadPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Extension" href="nesting.profile.uml#_Ue5jcKdPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ue7_sqdPEeS-y569OJYknA" points="[20, -50, -155, 345]$[125, -396, -50, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6MS84KdPEeS-y569OJYknA" id="(0.68,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_30NEIKdPEeS-y569OJYknA" id="(0.07,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vr_BoKdPEeS-y569OJYknA" type="1013" source="_BmYlUKdPEeS-y569OJYknA" target="_yWuu0KdPEeS-y569OJYknA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vr_BoadPEeS-y569OJYknA"/>
+ <element xmi:type="uml:Extension" href="nesting.profile.uml#_Vr7-UKdPEeS-y569OJYknA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vr_BoqdPEeS-y569OJYknA" points="[-9, -14, 196, 338]$[-255, -359, -50, -7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VsFIQKdPEeS-y569OJYknA" id="(0.08,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2ntb0KdPEeS-y569OJYknA" id="(0.38,1.0)"/>
+ </edges>
+</notation:Diagram>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.uml b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.uml
new file mode 100644
index 00000000000..7cd07408209
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/resources/nesting.profile.uml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Profile xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_XADuEKdOEeS-y569OJYknA" name="root" metaclassReference="_K3fkUKdPEeS-y569OJYknA _K3gLYKdPEeS-y569OJYknA _yWs5oKdPEeS-y569OJYknA" metamodelReference="_XADuEadOEeS-y569OJYknA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hxdlsKdPEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_DYb8UadQEeS-y569OJYknA" name="root" nsURI="http:///schemas/root/_DYb8UKdQEeS-y569OJYknA/0" nsPrefix="root">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8UqdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_kZoXQKdOEeS-y569OJYknA"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYhb4KdQEeS-y569OJYknA" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYhb4adQEeS-y569OJYknA" key="Version" value="0.0.1"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYhb4qdQEeS-y569OJYknA" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYhb46dQEeS-y569OJYknA" key="Copyright" value="Copyright (c) 2015 Christian W. Damus and others.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA; Christian W. Damus - Initial API and implementation"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYhb5KdQEeS-y569OJYknA" key="Date" value="2015-01-28"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYhb5adQEeS-y569OJYknA" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYb8U6dQEeS-y569OJYknA" name="S1">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8VKdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_uW__UKdOEeS-y569OJYknA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_DYb8VadQEeS-y569OJYknA" name="base_Class" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYb8V6dQEeS-y569OJYknA" name="S2">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8WKdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_ySI_MKdOEeS-y569OJYknA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_DYb8WadQEeS-y569OJYknA" name="base_Generalization" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Generalization"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eSubpackages xmi:type="ecore:EPackage" xmi:id="_DYb8W6dQEeS-y569OJYknA" name="nestedPackage" nsURI="http:///root/nestedPackage.ecore" nsPrefix="root.nestedPackage">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8XKdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_oaAccKdOEeS-y569OJYknA"/>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYb8XadQEeS-y569OJYknA" name="S2_1" eSuperTypes="_DYb8U6dQEeS-y569OJYknA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8XqdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_A0PWsKdPEeS-y569OJYknA"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYb8YKdQEeS-y569OJYknA" name="S2_2">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYb8YadQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_BmViAKdPEeS-y569OJYknA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_DYb8YqdQEeS-y569OJYknA" name="base_Generalization" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Generalization"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ </contents>
+ </eAnnotations>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_K3fkUKdPEeS-y569OJYknA" alias="Class">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_K3gLYKdPEeS-y569OJYknA" alias="DataType">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ </elementImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_yWs5oKdPEeS-y569OJYknA" alias="Generalization">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ </elementImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_XADuEadOEeS-y569OJYknA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_XADuEqdOEeS-y569OJYknA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Profile" xmi:id="_kZoXQKdOEeS-y569OJYknA" name="nestedProfile">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_hxfa4adPEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_DYdxgKdQEeS-y569OJYknA" name="nestedProfile" nsURI="http://root/schemas/nestedProfile/_DYdKcKdQEeS-y569OJYknA/0" nsPrefix="nestedProfile">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYdxgadQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/4.1.0/UML" references="_DYb8UadQEeS-y569OJYknA"/>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYiC8KdQEeS-y569OJYknA" source="PapyrusVersion">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYiC8adQEeS-y569OJYknA" key="Version" value="0.0.1"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYiC8qdQEeS-y569OJYknA" key="Comment" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYiC86dQEeS-y569OJYknA" key="Copyright" value="Copyright (c) 2015 Christian W. Damus and others.&#xA;&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA; Christian W. Damus - Initial API and implementation"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYiC9KdQEeS-y569OJYknA" key="Date" value="2015-01-28"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_DYiC9adQEeS-y569OJYknA" key="Author" value="Christian W. Damus"/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYdxgqdQEeS-y569OJYknA" name="S1_1" eSuperTypes="_DYb8U6dQEeS-y569OJYknA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYdxg6dQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_91_c4KdOEeS-y569OJYknA"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_DYdxhadQEeS-y569OJYknA" name="S1_2">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_DYdxhqdQEeS-y569OJYknA" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_-wsKkKdOEeS-y569OJYknA"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_DYdxh6dQEeS-y569OJYknA" name="base_Generalization" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Generalization"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ </eAnnotations>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_91_c4KdOEeS-y569OJYknA" name="S1_1">
+ <generalization xmi:type="uml:Generalization" xmi:id="_EZJn4KdPEeS-y569OJYknA" general="_uW__UKdOEeS-y569OJYknA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_-wsKkKdOEeS-y569OJYknA" name="S1_2">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Ue48YKdPEeS-y569OJYknA" name="base_Generalization" association="_Ue5jcKdPEeS-y569OJYknA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Ue5jcKdPEeS-y569OJYknA" name="E_S1_2_Generalization1" memberEnd="_Ue5jcadPEeS-y569OJYknA _Ue48YKdPEeS-y569OJYknA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Ue5jcadPEeS-y569OJYknA" name="extension_S1_2" type="_-wsKkKdOEeS-y569OJYknA" aggregation="composite" association="_Ue5jcKdPEeS-y569OJYknA"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_oaAccKdOEeS-y569OJYknA" name="nestedPackage">
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_A0PWsKdPEeS-y569OJYknA" name="S2_1">
+ <generalization xmi:type="uml:Generalization" xmi:id="_FUzX0KdPEeS-y569OJYknA" general="_uW__UKdOEeS-y569OJYknA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_BmViAKdPEeS-y569OJYknA" name="S2_2">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Vr7XQKdPEeS-y569OJYknA" name="base_Generalization" association="_Vr7-UKdPEeS-y569OJYknA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_Vr7-UKdPEeS-y569OJYknA" name="E_S2_2_Generalization1" memberEnd="_Vr7-UadPEeS-y569OJYknA _Vr7XQKdPEeS-y569OJYknA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_Vr7-UadPEeS-y569OJYknA" name="extension_S2_2" type="_BmViAKdPEeS-y569OJYknA" aggregation="composite" association="_Vr7-UKdPEeS-y569OJYknA"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_uW__UKdOEeS-y569OJYknA" name="S1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_RDl6MKdPEeS-y569OJYknA" name="base_Class" association="_RDmhQKdPEeS-y569OJYknA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_ySI_MKdOEeS-y569OJYknA" name="S2">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_S5iIIKdPEeS-y569OJYknA" name="base_Generalization" association="_S5iIIadPEeS-y569OJYknA">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_RDmhQKdPEeS-y569OJYknA" name="E_S1_Class1" memberEnd="_RDmhQadPEeS-y569OJYknA _RDl6MKdPEeS-y569OJYknA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_RDmhQadPEeS-y569OJYknA" name="extension_S1" type="_uW__UKdOEeS-y569OJYknA" aggregation="composite" association="_RDmhQKdPEeS-y569OJYknA"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_S5iIIadPEeS-y569OJYknA" name="E_S2_Generalization1" memberEnd="_S5iIIqdPEeS-y569OJYknA _S5iIIKdPEeS-y569OJYknA">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_S5iIIqdPEeS-y569OJYknA" name="extension_S2" type="_ySI_MKdOEeS-y569OJYknA" aggregation="composite" association="_S5iIIadPEeS-y569OJYknA"/>
+ </packagedElement>
+</uml:Profile>
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/AllTests.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/AllTests.java
new file mode 100644
index 00000000000..4da9c0cbbdc
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/AllTests.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * The master test suite for the plug-in.
+ */
+@RunWith(Suite.class)
+@SuiteClasses({
+ BasicElementTypesGenerationTest.class, DiagramSpecificElementTypesGenerationTest.class,
+ ProfilesWithPackageNestingTest.class })
+public class AllTests {
+ // Nothing required
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/BaseElementTypes.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/BaseElementTypes.java
new file mode 100644
index 00000000000..cb36f5b6f7c
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/BaseElementTypes.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotates a test case or suite class with the ID of the base element types set for model generation.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.METHOD, ElementType.TYPE })
+public @interface BaseElementTypes {
+ /**
+ * The ID of the base element types set configuration model.
+ */
+ String value();
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/BasicElementTypesGenerationTest.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/BasicElementTypesGenerationTest.java
new file mode 100644
index 00000000000..d3465d82d23
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/BasicElementTypesGenerationTest.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests;
+
+import static org.eclipse.papyrus.junit.matchers.MoreMatchers.isEmpty;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import org.eclipse.papyrus.infra.elementtypesconfigurations.IconEntry;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.SpecializationTypeConfiguration;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.eclipse.papyrus.uml.tools.elementtypesconfigurations.applystereotypeadviceconfiguration.ApplyStereotypeAdviceConfiguration;
+import org.eclipse.papyrus.uml.tools.elementtypesconfigurations.stereotypeapplicationmatcherconfiguration.StereotypeApplicationMatcherConfiguration;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+import org.eclipse.xtext.xbase.lib.Pair;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+/**
+ * Test cases for the basics of element types generation for UML profiles.
+ */
+@PluginResource("/resources/j2ee.profile.uml")
+public class BasicElementTypesGenerationTest {
+
+ @ClassRule
+ public static final ModelGenFixture fixture = new ModelGenFixture();
+
+ public BasicElementTypesGenerationTest() {
+ super();
+ }
+
+ @Test
+ public void elementTypesGenerated() {
+ Pair<Stereotype, Class> beanClass = fixture.getMetaclassExtension("Bean", "Class");
+ fixture.assertSpecializationType(beanClass);
+ assertThat(fixture.getElementTypeSet().getMetamodelNsURI(), is(UMLPackage.eNS_URI));
+ }
+
+ @Test
+ public void multipleElementTypesForOneStereotypeGenerated() {
+ Pair<Stereotype, Class> accessClass = fixture.getMetaclassExtension("AccessControlled", "Class");
+ Pair<Stereotype, Class> accessProperty = fixture.getMetaclassExtension("AccessControlled", "Property");
+ assertThat(fixture.assertSpecializationType(accessClass), not(fixture.assertSpecializationType(accessProperty)));
+ }
+
+ @Test
+ public void iconGenerated() {
+ Pair<Stereotype, Class> beanClass = fixture.getMetaclassExtension("Bean", "Class");
+ SpecializationTypeConfiguration type = fixture.assertSpecializationType(beanClass);
+ IconEntry icon = type.getIconEntry();
+ assertThat(icon.getBundleId(), is(UMLEditPlugin.getPlugin().getSymbolicName()));
+ assertThat(icon.getIconPath(), containsString("obj16/Class.gif"));
+ }
+
+ @Test
+ public void stereotypeMatcherGenerated() {
+ Pair<Stereotype, Class> beanClass = fixture.getMetaclassExtension("Bean", "Class");
+ SpecializationTypeConfiguration type = fixture.assertSpecializationType(beanClass);
+ StereotypeApplicationMatcherConfiguration matcher = fixture.assertStereotypeMatcher(type);
+ assertThat(matcher.getStereotypesQualifiedNames(), hasItem("j2ee::Bean"));
+ }
+
+ @Test
+ public void stereotypeAdviceGenerated() {
+ Pair<Stereotype, Class> beanClass = fixture.getMetaclassExtension("Bean", "Class");
+ ApplyStereotypeAdviceConfiguration advice = fixture.assertApplyStereotypeAdvice(beanClass);
+ assertThat(advice.getTarget(), is(fixture.getElementTypeConfiguration(beanClass)));
+ assertThat(advice.getStereotypesToApply(), not(isEmpty()));
+ assertThat(advice.getStereotypesToApply().get(0).getRequiredProfiles(), hasItem("j2ee"));
+ assertThat(advice.getStereotypesToApply().get(0).getStereotypeQualifiedName(), is("j2ee::Bean"));
+ }
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/DiagramSpecificElementTypesGenerationTest.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/DiagramSpecificElementTypesGenerationTest.java
new file mode 100644
index 00000000000..c8ee035015f
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/DiagramSpecificElementTypesGenerationTest.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests;
+
+import static com.google.common.collect.Iterables.transform;
+import static org.eclipse.papyrus.junit.matchers.MoreMatchers.isEmpty;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.hasItems;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.papyrus.infra.elementtypesconfigurations.ElementtypesconfigurationsPackage;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.IconEntry;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.SpecializationTypeConfiguration;
+import org.eclipse.papyrus.infra.emf.utils.EMFFunctions;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.eclipse.papyrus.uml.tools.elementtypesconfigurations.applystereotypeadviceconfiguration.ApplyStereotypeAdviceConfiguration;
+import org.eclipse.papyrus.uml.tools.elementtypesconfigurations.stereotypeapplicationmatcherconfiguration.StereotypeApplicationMatcherConfiguration;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+import org.eclipse.xtext.xbase.lib.Pair;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Test cases for diagram-specific element types generation for UML profiles.
+ */
+@PluginResource("/resources/j2ee.profile.uml")
+@BaseElementTypes("org.eclipse.papyrus.uml.diagram.usecase.elementTypeSet")
+public class DiagramSpecificElementTypesGenerationTest {
+
+ @ClassRule
+ public static final ModelGenFixture fixture = new ModelGenFixture();
+
+ public DiagramSpecificElementTypesGenerationTest() {
+ super();
+ }
+
+ @Test
+ public void elementTypesGenerated() {
+ Pair<Stereotype, Class> userActor = fixture.getMetaclassExtension("User", "Actor");
+ fixture.assertAllSpecializationTypes(userActor);
+ assertThat(fixture.getElementTypeSet().getMetamodelNsURI(), is(UMLPackage.eNS_URI));
+ }
+
+ @Test
+ public void distinctHintsGenerated() {
+ Pair<Stereotype, Class> userActor = fixture.getMetaclassExtension("User", "Actor");
+ List<SpecializationTypeConfiguration> types = fixture.assertAllSpecializationTypes(userActor);
+ Set<String> hints = ImmutableSet.copyOf(transform(types, EMFFunctions.getFeature(ElementtypesconfigurationsPackage.Literals.ELEMENT_TYPE_CONFIGURATION__HINT, String.class)));
+ assertThat(hints, hasItems("2011", "2012"));
+ }
+
+ @Test
+ public void iconGenerated() {
+ Pair<Stereotype, Class> userActor = fixture.getMetaclassExtension("User", "Actor");
+ List<SpecializationTypeConfiguration> types = fixture.assertAllSpecializationTypes(userActor);
+ for (SpecializationTypeConfiguration type : types) {
+ IconEntry icon = type.getIconEntry();
+ assertThat(icon.getBundleId(), is(UMLEditPlugin.getPlugin().getSymbolicName()));
+ assertThat(icon.getIconPath(), containsString("obj16/Actor.gif"));
+ }
+ }
+
+ @Test
+ public void stereotypeMatcherGenerated() {
+ Pair<Stereotype, Class> userActor = fixture.getMetaclassExtension("User", "Actor");
+ List<SpecializationTypeConfiguration> types = fixture.assertAllSpecializationTypes(userActor);
+ for (SpecializationTypeConfiguration type : types) {
+ StereotypeApplicationMatcherConfiguration matcher = fixture.assertStereotypeMatcher(type);
+ assertThat(matcher.getStereotypesQualifiedNames(), hasItem("j2ee::User"));
+ }
+ }
+
+ @Test
+ public void stereotypeAdviceGenerated() {
+ Pair<Stereotype, Class> userActor = fixture.getMetaclassExtension("User", "Actor");
+ List<ApplyStereotypeAdviceConfiguration> advices = fixture.assertAllApplyStereotypeAdvices(userActor);
+ for (ApplyStereotypeAdviceConfiguration advice : advices) {
+ String visualID = advice.getIdentifier().substring(advice.getIdentifier().lastIndexOf('_') + 1);
+ assertThat(advice.getTarget(), is(fixture.getElementTypeConfiguration(userActor, visualID)));
+ assertThat(advice.getStereotypesToApply(), not(isEmpty()));
+ assertThat(advice.getStereotypesToApply().get(0).getRequiredProfiles(), hasItem("j2ee"));
+ assertThat(advice.getStereotypesToApply().get(0).getStereotypeQualifiedName(), is("j2ee::User"));
+ }
+ }
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/ModelGenFixture.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/ModelGenFixture.java
new file mode 100644
index 00000000000..93fbbaad66f
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/ModelGenFixture.java
@@ -0,0 +1,290 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests;
+
+import static org.eclipse.papyrus.junit.matchers.MoreMatchers.lessThan;
+import static org.eclipse.uml2.common.util.UML2Util.getValidJavaIdentifier;
+import static org.hamcrest.CoreMatchers.everyItem;
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.List;
+import java.util.regex.Pattern;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.AdviceBindingConfiguration;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.ElementTypeConfiguration;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.ElementTypeSetConfiguration;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.MatcherConfiguration;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.SpecializationTypeConfiguration;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.registries.ElementTypeSetConfigurationRegistry;
+import org.eclipse.papyrus.junit.utils.JUnitUtils;
+import org.eclipse.papyrus.junit.utils.rules.ResourceSetFixture;
+import org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.ElementTypesGenerator;
+import org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.Identifiers;
+import org.eclipse.papyrus.uml.tools.elementtypesconfigurations.applystereotypeadviceconfiguration.ApplyStereotypeAdviceConfiguration;
+import org.eclipse.papyrus.uml.tools.elementtypesconfigurations.stereotypeapplicationmatcherconfiguration.StereotypeApplicationMatcherConfiguration;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.xtext.xbase.lib.Pair;
+import org.eclipse.xtext.xbase.lib.StringExtensions;
+import org.hamcrest.CoreMatchers;
+import org.junit.runner.Description;
+
+import com.google.common.base.Objects;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Iterators;
+import com.google.common.collect.Lists;
+
+/**
+ * A test fixture for orchestration of model transformations and verification of transformation results.
+ */
+public class ModelGenFixture extends ResourceSetFixture {
+ private static final String UML_ELEMENT_TYPES = "org.eclipse.papyrus.uml.service.types.UMLElementTypeSet";
+
+ protected final String prefix = "org.eclipse.papyrus.test";
+
+ private String baseElementTypesSet = UML_ELEMENT_TYPES;
+
+ public ModelGenFixture() {
+ super();
+ }
+
+ public URI getElementTypesResourceURI() {
+ URI inputURI = getModelResourceURI();
+ String basename = inputURI.lastSegment();
+ basename = basename.substring(0, basename.indexOf('.'));
+
+ return inputURI.trimSegments(1).appendSegment(basename).appendFileExtension("elementtypesconfiguration");
+ }
+
+ public ElementTypeSetConfiguration getElementTypeSet() {
+ Resource resource = getResourceSet().getResource(getElementTypesResourceURI(), true);
+ return (ElementTypeSetConfiguration) resource.getContents().get(0);
+ }
+
+ static Predicate<NamedElement> named(final String name) {
+ return new Predicate<NamedElement>() {
+ @Override
+ public boolean apply(NamedElement input) {
+ return Objects.equal(name, input.getName());
+ }
+ };
+ }
+
+ public Pair<Stereotype, org.eclipse.uml2.uml.Class> getMetaclassExtension(final String stereotypeName, final String metaclassName) {
+ Pair<Stereotype, org.eclipse.uml2.uml.Class> result = null;
+ Stereotype stereotype = Iterators.find(Iterators.filter(getModel().eAllContents(), Stereotype.class), named(stereotypeName));
+ if (stereotype != null) {
+ org.eclipse.uml2.uml.Class metaclass = Iterables.find(stereotype.getAllExtendedMetaclasses(), named(metaclassName));
+ if (metaclass != null) {
+ result = Pair.of(stereotype, metaclass);
+ }
+ }
+
+ return result;
+ }
+
+ public <C extends ElementTypeConfiguration> C getElementTypeConfiguration(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension, Class<C> type) {
+ ElementTypeConfiguration result = getElementTypeConfiguration(metaclassExtension);
+ assertThat("not a " + type.getSimpleName(), result, instanceOf(type));
+ return type.cast(result);
+ }
+
+ public ElementTypeConfiguration getElementTypeConfiguration(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension) {
+ return getElementTypeConfiguration(getElementTypeID(metaclassExtension, false));
+ }
+
+ public ElementTypeConfiguration getElementTypeConfiguration(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension, String visualID) {
+ return getElementTypeConfiguration(String.format("%s_%s", getElementTypeID(metaclassExtension, false), visualID));
+ }
+
+ protected String getElementTypeID(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension, boolean initialLower) {
+ String metaclassName = getValidJavaIdentifier(metaclassExtension.getValue().getName());
+ if (initialLower) {
+ metaclassName = StringExtensions.toFirstLower(metaclassName);
+ }
+ String stereotypeName = getValidJavaIdentifier(metaclassExtension.getKey().getName());
+ if (initialLower) {
+ stereotypeName = StringExtensions.toFirstLower(stereotypeName);
+ }
+
+ return (metaclassExtension.getKey().getExtendedMetaclasses().size() > 1)
+ ? String.format("%s.%s_%s", prefix, stereotypeName, metaclassName)
+ : String.format("%s.%s", prefix, stereotypeName);
+ }
+
+ protected String getElementTypeID(org.eclipse.uml2.uml.Class metaclass) {
+ String metaclassName = getValidJavaIdentifier(metaclass.getName());
+ return baseElementTypesSet.equals(UML_ELEMENT_TYPES) ? "org.eclipse.papyrus.uml." + metaclassName : baseElementTypesSet.replaceFirst("\\w+$", metaclassName);
+ }
+
+ public ElementTypeConfiguration getElementTypeConfiguration(String id) {
+ ElementTypeConfiguration result = null;
+
+ for (ElementTypeConfiguration next : getElementTypeSet().getElementTypeConfigurations()) {
+ if (id.equals(next.getIdentifier())) {
+ result = next;
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ public <C extends ElementTypeConfiguration> List<C> getAllElementTypeConfigurations(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension, Class<C> type) {
+ List<ElementTypeConfiguration> result = getAllElementTypeConfigurations(metaclassExtension);
+ assertThat("not " + type.getSimpleName(), result, everyItem(CoreMatchers.<ElementTypeConfiguration> instanceOf(type)));
+
+ @SuppressWarnings("unchecked")
+ List<C> resultAsC = (List<C>) result;
+ return resultAsC;
+ }
+
+ public List<ElementTypeConfiguration> getAllElementTypeConfigurations(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension) {
+ return getAllElementTypeConfigurations(Pattern.compile(String.format("%s($|_\\w+)", Pattern.quote(getElementTypeID(metaclassExtension, false)))));
+ }
+
+ public List<ElementTypeConfiguration> getAllElementTypeConfigurations(Pattern idPattern) {
+ List<ElementTypeConfiguration> result = Lists.newArrayListWithExpectedSize(3);
+
+ for (ElementTypeConfiguration next : getElementTypeSet().getElementTypeConfigurations()) {
+ if (idPattern.matcher(next.getIdentifier()).find()) {
+ result.add(next);
+ }
+ }
+
+ return result;
+ }
+
+ public SpecializationTypeConfiguration assertSpecializationType(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension) {
+ SpecializationTypeConfiguration result = getElementTypeConfiguration(metaclassExtension, SpecializationTypeConfiguration.class);
+ return result;
+ }
+
+ public List<SpecializationTypeConfiguration> assertAllSpecializationTypes(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension) {
+ List<SpecializationTypeConfiguration> result = getAllElementTypeConfigurations(metaclassExtension, SpecializationTypeConfiguration.class);
+ return result;
+ }
+
+ public StereotypeApplicationMatcherConfiguration assertStereotypeMatcher(SpecializationTypeConfiguration specializationType) {
+ MatcherConfiguration result = specializationType.getMatcherConfiguration();
+ assertThat("not a stereotype matcher", result, instanceOf(StereotypeApplicationMatcherConfiguration.class));
+ return (StereotypeApplicationMatcherConfiguration) result;
+ }
+
+ public <C extends AdviceBindingConfiguration> C getAdviceBindingConfiguration(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension, Class<C> type) {
+ AdviceBindingConfiguration result = getAdviceBindingConfiguration(metaclassExtension);
+ assertThat("not a " + type.getSimpleName(), result, instanceOf(type));
+ return type.cast(result);
+ }
+
+ public AdviceBindingConfiguration getAdviceBindingConfiguration(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension) {
+ return getAdviceBindingConfiguration(getElementTypeID(metaclassExtension, true));
+ }
+
+ public AdviceBindingConfiguration getAdviceBindingConfiguration(String id) {
+ AdviceBindingConfiguration result = null;
+
+ for (AdviceBindingConfiguration next : getElementTypeSet().getAdviceBindingsConfigurations()) {
+ if (id.equals(next.getIdentifier())) {
+ result = next;
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ public <C extends AdviceBindingConfiguration> List<C> getAllAdviceBindingConfigurations(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension, Class<C> type) {
+ List<AdviceBindingConfiguration> result = getAllAdviceBindingConfigurations(metaclassExtension);
+ assertThat("not " + type.getSimpleName(), result, everyItem(CoreMatchers.<AdviceBindingConfiguration> instanceOf(type)));
+
+ @SuppressWarnings("unchecked")
+ List<C> resultAsC = (List<C>) result;
+ return resultAsC;
+ }
+
+ public List<AdviceBindingConfiguration> getAllAdviceBindingConfigurations(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension) {
+ return getAllAdviceBindingConfigurations(Pattern.compile(String.format("%s($|_\\w+)", Pattern.quote(getElementTypeID(metaclassExtension, true)))));
+ }
+
+ public List<AdviceBindingConfiguration> getAllAdviceBindingConfigurations(Pattern idPattern) {
+ List<AdviceBindingConfiguration> result = Lists.newArrayListWithExpectedSize(3);
+
+ for (AdviceBindingConfiguration next : getElementTypeSet().getAdviceBindingsConfigurations()) {
+ if (idPattern.matcher(next.getIdentifier()).find()) {
+ result.add(next);
+ }
+ }
+
+ return result;
+ }
+
+ public ApplyStereotypeAdviceConfiguration assertApplyStereotypeAdvice(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension) {
+ ApplyStereotypeAdviceConfiguration result = getAdviceBindingConfiguration(metaclassExtension, ApplyStereotypeAdviceConfiguration.class);
+ return result;
+ }
+
+ public List<ApplyStereotypeAdviceConfiguration> assertAllApplyStereotypeAdvices(Pair<Stereotype, org.eclipse.uml2.uml.Class> metaclassExtension) {
+ List<ApplyStereotypeAdviceConfiguration> result = getAllAdviceBindingConfigurations(metaclassExtension, ApplyStereotypeAdviceConfiguration.class);
+ return result;
+ }
+
+ /**
+ * Extends the inherited method to run the profile-to-elementtypes transformation.
+ *
+ * @see #generateElementTypesConfiguration()
+ */
+ @Override
+ protected void starting(Description description) {
+ super.starting(description);
+
+ // Get some configuration details
+ BaseElementTypes basedOn = JUnitUtils.getAnnotation(description, BaseElementTypes.class);
+ if (basedOn != null) {
+ baseElementTypesSet = basedOn.value();
+ }
+
+ // Ensure the registration of the element types that we need
+ ElementTypeSetConfigurationRegistry.getInstance();
+
+ generateModel();
+ }
+
+ private void generateModel() {
+ Identifiers identifiers = new Identifiers();
+ identifiers.setPrefix(prefix);
+ identifiers.setDiagramElementTypesSet(getBaseElementTypesSet());
+
+ generateModel(identifiers);
+ }
+
+ protected void generateModel(Identifiers identifiers) {
+ generateElementTypesConfiguration(identifiers);
+ }
+
+ protected String getBaseElementTypesSet() {
+ return baseElementTypesSet;
+ }
+
+ private void generateElementTypesConfiguration(Identifiers identifiers) {
+ ElementTypesGenerator elementTypesGenerator = new ElementTypesGenerator(identifiers);
+ IStatus status = elementTypesGenerator.generate(getModelURI(), getElementTypesResourceURI());
+ assertThat(status.getMessage(), status.getSeverity(), lessThan(IStatus.ERROR));
+ }
+}
diff --git a/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/ProfilesWithPackageNestingTest.java b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/ProfilesWithPackageNestingTest.java
new file mode 100644
index 00000000000..bba82d6013d
--- /dev/null
+++ b/tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests/src/org/eclipse/papyrus/uml/profile/elementtypesconfigurations/generator/tests/ProfilesWithPackageNestingTest.java
@@ -0,0 +1,143 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests;
+
+import static org.eclipse.papyrus.junit.matchers.MoreMatchers.isEmpty;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import org.eclipse.papyrus.infra.elementtypesconfigurations.IconEntry;
+import org.eclipse.papyrus.infra.elementtypesconfigurations.SpecializationTypeConfiguration;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.eclipse.papyrus.uml.tools.elementtypesconfigurations.applystereotypeadviceconfiguration.ApplyStereotypeAdviceConfiguration;
+import org.eclipse.papyrus.uml.tools.elementtypesconfigurations.stereotypeapplicationmatcherconfiguration.StereotypeApplicationMatcherConfiguration;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Stereotype;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+import org.eclipse.xtext.xbase.lib.Pair;
+import org.junit.ClassRule;
+import org.junit.Test;
+
+/**
+ * Test cases for element types generation for UML profiles that have nested packages and profiles.
+ */
+@PluginResource("/resources/nesting.profile.uml")
+public class ProfilesWithPackageNestingTest {
+
+ @ClassRule
+ public static final ModelGenFixture fixture = new ModelGenFixture();
+
+ public ProfilesWithPackageNestingTest() {
+ super();
+ }
+
+ @Test
+ public void elementTypesGenerated() {
+ Pair<Stereotype, Class> s11Class = fixture.getMetaclassExtension("S1_1", "Class");
+ Pair<Stereotype, Class> s21Class = fixture.getMetaclassExtension("S2_1", "Class");
+ Pair<Stereotype, Class> s12Generalization = fixture.getMetaclassExtension("S1_2", "Generalization");
+ Pair<Stereotype, Class> s22Generalization = fixture.getMetaclassExtension("S2_2", "Generalization");
+ fixture.assertSpecializationType(s11Class);
+ fixture.assertSpecializationType(s21Class);
+ fixture.assertSpecializationType(s12Generalization);
+ fixture.assertSpecializationType(s22Generalization);
+ }
+
+ @Test
+ public void iconGenerated() {
+ Pair<Stereotype, Class> s11Class = fixture.getMetaclassExtension("S1_1", "Class");
+ Pair<Stereotype, Class> s21Class = fixture.getMetaclassExtension("S2_1", "Class");
+ Pair<Stereotype, Class> s12Generalization = fixture.getMetaclassExtension("S1_2", "Generalization");
+ Pair<Stereotype, Class> s22Generalization = fixture.getMetaclassExtension("S2_2", "Generalization");
+
+ SpecializationTypeConfiguration type = fixture.assertSpecializationType(s11Class);
+ IconEntry icon = type.getIconEntry();
+ assertThat(icon.getBundleId(), is(UMLEditPlugin.getPlugin().getSymbolicName()));
+ assertThat(icon.getIconPath(), containsString("obj16/Class.gif"));
+
+ type = fixture.assertSpecializationType(s21Class);
+ icon = type.getIconEntry();
+ assertThat(icon.getBundleId(), is(UMLEditPlugin.getPlugin().getSymbolicName()));
+ assertThat(icon.getIconPath(), containsString("obj16/Class.gif"));
+
+ type = fixture.assertSpecializationType(s12Generalization);
+ icon = type.getIconEntry();
+ assertThat(icon.getBundleId(), is(UMLEditPlugin.getPlugin().getSymbolicName()));
+ assertThat(icon.getIconPath(), containsString("obj16/Generalization.gif"));
+
+ type = fixture.assertSpecializationType(s22Generalization);
+ icon = type.getIconEntry();
+ assertThat(icon.getBundleId(), is(UMLEditPlugin.getPlugin().getSymbolicName()));
+ assertThat(icon.getIconPath(), containsString("obj16/Generalization.gif"));
+ }
+
+ @Test
+ public void stereotypeMatcherGenerated() {
+ Pair<Stereotype, Class> s11Class = fixture.getMetaclassExtension("S1_1", "Class");
+ Pair<Stereotype, Class> s21Class = fixture.getMetaclassExtension("S2_1", "Class");
+ Pair<Stereotype, Class> s12Generalization = fixture.getMetaclassExtension("S1_2", "Generalization");
+ Pair<Stereotype, Class> s22Generalization = fixture.getMetaclassExtension("S2_2", "Generalization");
+
+ SpecializationTypeConfiguration type = fixture.assertSpecializationType(s11Class);
+ StereotypeApplicationMatcherConfiguration matcher = fixture.assertStereotypeMatcher(type);
+ assertThat(matcher.getStereotypesQualifiedNames(), hasItem("root::nestedProfile::S1_1"));
+
+ type = fixture.assertSpecializationType(s21Class);
+ matcher = fixture.assertStereotypeMatcher(type);
+ assertThat(matcher.getStereotypesQualifiedNames(), hasItem("root::nestedPackage::S2_1"));
+
+ type = fixture.assertSpecializationType(s12Generalization);
+ matcher = fixture.assertStereotypeMatcher(type);
+ assertThat(matcher.getStereotypesQualifiedNames(), hasItem("root::nestedProfile::S1_2"));
+
+ type = fixture.assertSpecializationType(s22Generalization);
+ matcher = fixture.assertStereotypeMatcher(type);
+ assertThat(matcher.getStereotypesQualifiedNames(), hasItem("root::nestedPackage::S2_2"));
+ }
+
+ @Test
+ public void stereotypeAdviceGenerated() {
+ Pair<Stereotype, Class> s11Class = fixture.getMetaclassExtension("S1_1", "Class");
+ Pair<Stereotype, Class> s21Class = fixture.getMetaclassExtension("S2_1", "Class");
+ Pair<Stereotype, Class> s12Generalization = fixture.getMetaclassExtension("S1_2", "Generalization");
+ Pair<Stereotype, Class> s22Generalization = fixture.getMetaclassExtension("S2_2", "Generalization");
+
+ ApplyStereotypeAdviceConfiguration advice = fixture.assertApplyStereotypeAdvice(s11Class);
+ assertThat(advice.getTarget(), is(fixture.getElementTypeConfiguration(s11Class)));
+ assertThat(advice.getStereotypesToApply(), not(isEmpty()));
+ assertThat(advice.getStereotypesToApply().get(0).getRequiredProfiles(), hasItem("root::nestedProfile"));
+ assertThat(advice.getStereotypesToApply().get(0).getStereotypeQualifiedName(), is("root::nestedProfile::S1_1"));
+
+ advice = fixture.assertApplyStereotypeAdvice(s12Generalization);
+ assertThat(advice.getTarget(), is(fixture.getElementTypeConfiguration(s12Generalization)));
+ assertThat(advice.getStereotypesToApply(), not(isEmpty()));
+ assertThat(advice.getStereotypesToApply().get(0).getRequiredProfiles(), hasItem("root::nestedProfile"));
+ assertThat(advice.getStereotypesToApply().get(0).getStereotypeQualifiedName(), is("root::nestedProfile::S1_2"));
+
+ advice = fixture.assertApplyStereotypeAdvice(s21Class);
+ assertThat(advice.getTarget(), is(fixture.getElementTypeConfiguration(s21Class)));
+ assertThat(advice.getStereotypesToApply(), not(isEmpty()));
+ assertThat(advice.getStereotypesToApply().get(0).getRequiredProfiles(), hasItem("root"));
+ assertThat(advice.getStereotypesToApply().get(0).getStereotypeQualifiedName(), is("root::nestedPackage::S2_1"));
+
+ advice = fixture.assertApplyStereotypeAdvice(s22Generalization);
+ assertThat(advice.getTarget(), is(fixture.getElementTypeConfiguration(s22Generalization)));
+ assertThat(advice.getStereotypesToApply(), not(isEmpty()));
+ assertThat(advice.getStereotypesToApply().get(0).getRequiredProfiles(), hasItem("root"));
+ assertThat(advice.getStereotypesToApply().get(0).getStereotypeQualifiedName(), is("root::nestedPackage::S2_2"));
+ }
+}
diff --git a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/src/org/eclipse/papyrus/uml/diagram/activity/tests/edit/helper/ExpansionRegionHelperTest.java b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/src/org/eclipse/papyrus/uml/diagram/activity/tests/edit/helper/ExpansionRegionHelperTest.java
index 29727be646b..85309a455da 100644
--- a/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/src/org/eclipse/papyrus/uml/diagram/activity/tests/edit/helper/ExpansionRegionHelperTest.java
+++ b/tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/src/org/eclipse/papyrus/uml/diagram/activity/tests/edit/helper/ExpansionRegionHelperTest.java
@@ -1,3 +1,16 @@
+/*****************************************************************************
+ * Copyright (c) 2014, 2015 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Anatoliy Tischenko - Initial API and implementation
+ * Christian W. Damus - bug 451230
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.activity.tests.edit.helper;
import static org.junit.Assert.assertEquals;
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.classpath b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.classpath
new file mode 100644
index 00000000000..a2ed0b79305
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <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="output" path="bin"/>
+</classpath>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.project b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.project
new file mode 100644
index 00000000000..7a62bd459e2
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.filters.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.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..4d72ad12656
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,288 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/META-INF/MANIFEST.MF b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..c84ee889b2c
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,20 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.uml.filters.tests;singleton:=true
+Bundle-Version: 1.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Description: %pluginDescription
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.eclipse.papyrus.uml.filters.tests
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.uml.filters;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="2.11.0";visibility:=reexport,
+ org.eclipse.papyrus.infra.filters;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="2.0.0";visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="5.1.0";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="2.11.0";visibility:=reexport,
+ org.junit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/about.html b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.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>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/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/build.properties b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/build.properties
new file mode 100644
index 00000000000..b39ec83c3fb
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/build.properties
@@ -0,0 +1,19 @@
+# Copyright (c) 2014, 2015 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = bin/
+src.includes = about.html
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/org.eclipse.papyrus.uml.filters.tests.launch b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/org.eclipse.papyrus.uml.filters.tests.launch
new file mode 100644
index 00000000000..0c6a9229e8f
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/org.eclipse.papyrus.uml.filters.tests.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.uml.filters.tests/src/org/eclipse/papyrus/uml/filters/tests/UMLFiltersAllTests.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"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.uml.filters.tests.UMLFiltersAllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.uml.filters.tests"/>
+</launchConfiguration>
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/plugin.properties b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/plugin.properties
new file mode 100644
index 00000000000..2441304170c
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/plugin.properties
@@ -0,0 +1,13 @@
+# Copyright (c) 2014 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - Initial API and implementation
+
+pluginName = Papyrus UML Filters Model Tests
+providerName = Eclipse Modeling Project
+pluginDescription = JUnit tests for model of UML-specific filters used for conditional matching in other models
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/pom.xml b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/pom.xml
new file mode 100644
index 00000000000..0c7b68f69eb
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/pom.xml
@@ -0,0 +1,26 @@
+<?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.1.0-SNAPSHOT</version>
+ <relativePath>../../../../../releng/top-pom-main-tests.xml</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.uml.filters.tests</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <useProjectSettings>true</useProjectSettings>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/ProfileAppliedTest.java b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/ProfileAppliedTest.java
new file mode 100644
index 00000000000..2d4eaeed203
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/ProfileAppliedTest.java
@@ -0,0 +1,209 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.filters.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assume.assumeThat;
+import junit.framework.TestCase;
+import junit.textui.TestRunner;
+
+import org.eclipse.emf.common.util.URI;
+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.impl.XMIResourceFactoryImpl;
+import org.eclipse.papyrus.uml.filters.ProfileApplied;
+import org.eclipse.papyrus.uml.filters.UMLFiltersFactory;
+import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.resource.UMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test case for the model object '<em><b>Profile Applied</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following operations are tested:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.filters.ProfileApplied#resolveProfile(java.lang.Object) <em>Resolve Profile</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProfileAppliedTest extends TestCase {
+
+ /**
+ * The fixture for this Profile Applied test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ProfileApplied fixture = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(ProfileAppliedTest.class);
+ }
+
+ /**
+ * Constructs a new Profile Applied test case with the given name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ProfileAppliedTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Sets the fixture for this Profile Applied test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void setFixture(ProfileApplied fixture) {
+ this.fixture = fixture;
+ }
+
+ /**
+ * Returns the fixture for this Profile Applied test case.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ProfileApplied getFixture() {
+ return fixture;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#setUp()
+ * @generated NOT
+ */
+ @Override
+ protected void setUp() throws Exception {
+ Profile profile = UMLFactory.eINSTANCE.createProfile();
+ profile.setName("profile1");
+ profile.define();
+
+ ResourceSet rset = new ResourceSetImpl();
+ Resource profileResource = UMLResource.Factory.INSTANCE.createResource(URI.createURI("test://profile1.uml", true));
+ rset.getResources().add(profileResource);
+ profileResource.getContents().add(profile);
+
+ Resource filterResource = new XMIResourceFactoryImpl().createResource(URI.createURI("test://test.filters", true));
+ rset.getResources().add(filterResource);
+ ProfileApplied fixture = UMLFiltersFactory.eINSTANCE.createProfileApplied();
+ filterResource.getContents().add(fixture);
+
+ fixture.setProfileURI(EcoreUtil.getURI(profile).toString());
+ fixture.setProfileQualifiedName(profile.getQualifiedName());
+ setFixture(fixture);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see junit.framework.TestCase#tearDown()
+ * @generated NOT
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ ProfileApplied fixture = getFixture();
+
+ setFixture(null);
+
+ // Dispose the resource set, making sure any CacheAdapters are purged
+ ResourceSet rset = fixture.eResource().getResourceSet();
+ for(Resource next : rset.getResources()) {
+ next.unload();
+ next.eAdapters().clear();
+ }
+ rset.getResources().clear();
+ rset.eAdapters().clear();
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object) <em>Matches</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.infra.filters.Filter#matches(java.lang.Object)
+ * @generated NOT
+ */
+ public void testMatches__Object() {
+ ResourceSet rset = getFixture().eResource().getResourceSet();
+ Resource modelResource = UMLResource.Factory.INSTANCE.createResource(URI.createURI("test://model1.uml", true));
+ rset.getResources().add(modelResource);
+
+ Package model = UMLFactory.eINSTANCE.createPackage();
+ model.setName("model1");
+ Class foo = model.createOwnedClass("Foo", false);
+
+ // Profile is not applied
+ assertThat(getFixture().matches(foo), is(false));
+
+ Profile profile = UML2Util.load(rset, URI.createURI(getFixture().getProfileURI(), true).trimFragment(), UMLPackage.Literals.PROFILE);
+ assumeThat(profile, notNullValue());
+ model.applyProfile(profile);
+
+ // Profile is applied
+ assertThat(getFixture().matches(foo), is(true));
+
+ getFixture().setProfileURI("bogus://profile1.uml#_0");
+
+ // Even if profile cannot be resolved, the qualified name is an inexact backup
+ assertThat(getFixture().matches(foo), is(true));
+ }
+
+ /**
+ * Tests the '{@link org.eclipse.papyrus.uml.filters.ProfileApplied#resolveProfile(java.lang.Object) <em>Resolve Profile</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.papyrus.uml.filters.ProfileApplied#resolveProfile(java.lang.Object)
+ * @generated NOT
+ */
+ public void testResolveProfile__Object() {
+ Profile profile = getFixture().resolveProfile(getFixture()); // Test uses one resource set for everything
+ assertThat(profile, notNullValue());
+ assertThat(profile.getQualifiedName(), is(getFixture().getProfileQualifiedName()));
+
+ getFixture().setProfileURI("bogus://profile1.uml#_0");
+
+ // No longer resolves
+ assertThat(getFixture().resolveProfile(getFixture()), nullValue());
+ }
+
+} //ProfileAppliedTest
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/UMLFiltersAllTests.java b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/UMLFiltersAllTests.java
new file mode 100644
index 00000000000..0a8c42b9b69
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/UMLFiltersAllTests.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.filters.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>UMLFilters</b></em>' model.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class UMLFiltersAllTests extends TestSuite {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(suite());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Test suite() {
+ TestSuite suite = new UMLFiltersAllTests("UMLFilters Tests"); //$NON-NLS-1$
+ suite.addTest(UMLFiltersTests.suite());
+ return suite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UMLFiltersAllTests(String name) {
+ super(name);
+ }
+
+} //UMLFiltersAllTests
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/UMLFiltersTests.java b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/UMLFiltersTests.java
new file mode 100644
index 00000000000..33099432662
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src-gen/org/eclipse/papyrus/uml/filters/tests/UMLFiltersTests.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2014 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ */
+package org.eclipse.papyrus.uml.filters.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+/**
+ * <!-- begin-user-doc -->
+ * A test suite for the '<em><b>filters</b></em>' package.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class UMLFiltersTests extends TestSuite {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static void main(String[] args) {
+ TestRunner.run(suite());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Test suite() {
+ TestSuite suite = new UMLFiltersTests("filters Tests"); //$NON-NLS-1$
+ suite.addTestSuite(ProfileAppliedTest.class);
+ return suite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public UMLFiltersTests(String name) {
+ super(name);
+ }
+
+} //UMLFiltersTests
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src/org/eclipse/papyrus/uml/filters/tests/AllTests.java b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src/org/eclipse/papyrus/uml/filters/tests/AllTests.java
new file mode 100644
index 00000000000..a138c1f31d4
--- /dev/null
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests/src/org/eclipse/papyrus/uml/filters/tests/AllTests.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.uml.filters.tests;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * The master test suite for the plug-in.
+ */
+@RunWith(Suite.class)
+@SuiteClasses(UMLFiltersAllTests.class)
+public class AllTests {
+ // Nothing required
+}
diff --git a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.service.types.tests/src/org/eclipse/papyrus/uml/service/types/tests/registry/TestElementTypeRegistryContent.java b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.service.types.tests/src/org/eclipse/papyrus/uml/service/types/tests/registry/TestElementTypeRegistryContent.java
index 8b16eca5339..39abb1165d6 100644
--- a/tests/junit/plugins/uml/org.eclipse.papyrus.uml.service.types.tests/src/org/eclipse/papyrus/uml/service/types/tests/registry/TestElementTypeRegistryContent.java
+++ b/tests/junit/plugins/uml/org.eclipse.papyrus.uml.service.types.tests/src/org/eclipse/papyrus/uml/service/types/tests/registry/TestElementTypeRegistryContent.java
@@ -1,3 +1,16 @@
+/*****************************************************************************
+ * Copyright (c) 2011, 2015 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Yann Tanguy - Initial API and implementation
+ * Christian W. Damus - bug 451230
+ *
+ *****************************************************************************/
package org.eclipse.papyrus.uml.service.types.tests.registry;
import static org.junit.Assert.assertFalse;

Back to the top