Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2015-07-23 03:18:27 -0400
committerChristian W. Damus2015-08-12 10:57:45 -0400
commit5b46f47b24f3afd8218cabf1834c850abbc51773 (patch)
treedffa5e4c3911596324489c7487ee6e094f6ab7b9
parent2a3e6fb0e0cedaae9111a95e38591623cc990fc5 (diff)
downloadorg.eclipse.papyrus-5b46f47b24f3afd8218cabf1834c850abbc51773.tar.gz
org.eclipse.papyrus-5b46f47b24f3afd8218cabf1834c850abbc51773.tar.xz
org.eclipse.papyrus-5b46f47b24f3afd8218cabf1834c850abbc51773.zip
Bug 464647: [Tests] Generate JUnit tests for diagram view synch
https://bugs.eclipse.org/bugs/show_bug.cgi?id=464647 Adaptation of initial prototype of a Papyrus Tests Generation framework to add diagram synchronization tests. Changes by Christian W. Damus <give.a.damus@gmail.com>: Rebase onto latest Mars maintenance branch. Fix .ignores: ensure that only contents of xtend-gen/ folders are ignored, not the folders themselves Convert Xtend codegen templates to UTF-8 encoding Update the QVTo transformation to support the statically generated UTP profile. This requires: - invoking the UMLResourcesUtil API for stand-alone set-up - updating the profile-registration workflow component to support the registration of a statically generated profile - updating the QVTo transformation to ensure that applicable stereotypes are resolved in the proper ResourceSet context to avoid losing all applied stereotypes in the generated test model. This, in turn, requires a Java black box to handle the EMF-specific concerns of resource-set context that QVTo is not aware of Fix build.properties files to include all sources and POMs to generate sources in xtend-gen/ folder. Fix compilation problems in the integration of the generated tests into the master suite bundle. Update the Tycho build to include the test generation framework bundle. Update the build and Oomph setup to include the UPR profile bundle dependency and the Papyrus Developer tools dependency. Fix numerous codegen problems: - base model does not reflect correct package name for palette tests - inject replaceable templates instead of making them all static - add generation of import statements in suites - fix references to test constants interface - fix references to diagram creation command Fix remaining compilation errors in Use Case tests: - look up the DiagramUpdater class to compute correct import - factor out creation of generated files into an utility extension - factor out generation of the copyright header comment - add some imports to templates that were missing them Refactor Xtend codegen templates to: - improve management of imports - improve names of AllXyzTestsGen suite classes - don't generate test classes that have no test cases - share common code to simplify the specific test case templates Fix more code generation problems: * missing package imports for required edit-part classes * invalid package imports (non-existent edit-part classes) * non-conformant names of diagram creation command and test constants interface. This introduces new attributes to test classes in the model, of String type, specifying the relevant type names. The defaults are computed by the QVTo transformation but may be overridden (hard-coded) by a diagram test's bundle's specific QVTo to provide custom names Add generated tests for Communication Diagram. Fixed workflow infrastructure to support all-tests generation. Use URI mappings to eliminate the need to copy and delete the framework's QVTo files. Add an infrastructure for generation of diagram synchronization tests. This includes * new abstract test classes in the oep.uml.diagram.tests bundle * updates to the framework UML model to capture the new base test classes * new QVTo transformation to generate synchronization tests in the UTP model * new Xtend template to generate synchronization tests from the UTP Fixed various small problems: * unwanted newlines in some test method bodies * fully-qualified references to UMLTypes class in synchronization tests * missing commas in QVTo scripts that cause edit-part names to be concatenated * (a biggie, actually) fix the all-tests generation to avoid repeating all previous transformations at each step Translate QVTo transformation steps to Xtend: Xtend exposes list values in UML models in their native EList terms, which affords stable and predictable ordering of transformation operations and, hence, test model structure and generated code. It also provides for more concise, debuggable, searchable, and performant transformations with better Java integration. Assign predictable, stable XMI identifiers to elements of generated UML models to avoid unnecessary diffs in source control when re-generating. Regenerate code from the Xtend version of the framework. Git-ignore the generated UTP source models because they reference and depend on UML instance models of the GMFGens that are already git-ignored, so there's no point in having these in git. Besides that they are now much larger because of the generated unique XMI IDs. Develop a DSL for compact and readable declarations of transformation rules for test contexts and assembly into packages. This uses new active annotations which, owing to a logistical limitation of Xtend, must be defined in a new separate plug-in project. Finally! Fixed the generation of the wrong diagram-updater instance field reference for Sequence Diagram, which as a legacy diagram still uses TYPED_INSTANCE. This employs a class-file scanning hack that is potentially expensive in I/O, so it uses a new @Cached active annotation that caches method computation results. Complete the specification of generation of view synchronization tests, adding the following scenarios: * synchronize child label nodes in label compartments of top shapes * synchronize child shape nodes in shape compartments of top shapes * synchronize connections between shapes * synchronize connections between shapes where the source owns the semantic link Define a new ClassificationSuite JUnit test runner that supports filtering entire suites by classification annotations. Apply this runner with the @GeneratedTest annotation to all generated test-suite classes. Refine the generation of link creation and synchronization tests to test links only between edit-parts that the GMFGen model reports as valid sources and targets for the links. This vastly reduces the number of invalid test cases generated for elements that cannot be linked (such as Include between an Actor and a Package). Integrate code generation into the build (both maven build and Eclipse workspace) and suppress generated sources from source control. This is implemented as a build profile in a new parent POM for the UML Diagram Tests bundles. Further elaboration and fixes: * rename 'edition' tests as DirectEdit in generated tests (not yet in the framework) * use a generic name for the test class for top node creation from palette * fix test cases for creation of links in containers to actually create the source and target elements in such container * fix the ClassificationConfig to drill into test suites to look for further filtering annotations instead of assuming that the entire suite is a 'standard' test when the 'standard' tests are excluded by the requested configuration * split test cases that execute multiple test scenarios into separate test case methods per test scenario. This ensures that a single test failure doesn't hide several other test results * move @GeneratedTest annotation from test case method to the test context class to reduce overhead of annotations in the VM * use the GMFGen model's information about child node containment to avoid generating all permutations of top-node/child-node, eliminating most of the the invalid child-node creation tests * fix broken references to the UML model for the Ecore metamodel in UML models for the gmfgen and genmodel metamodels by redirecting them to the UML2-provided Ecore metamodel. Delete the obsolete local ecore.uml * define a model of test exceptions for the purpose of constraining the generation of the UML-UTP model to exclude unwanted permutations of edit parts, optionally for specific kinds of tests * enhance the UML-UTP test model generation to filter the tests that it would generate through the optionally provided test exceptions models * add a test exclusions model to the Use Case test bundle to exclude tests for package-import relationships on classifiers (which UML supports but the diagram does not) * generate a CSS stylesheet (attached via an annotation on the test context class) to enable synchronization of the diagrams for tests * fix generation of invalid child-node permutations in the synchronization tests by using the compartment container information in the GMFGen model * fix various bugs in the abstract test framework operations found by running the generated tests Further refinement and fixes: * add some more flexibility to test exceptions model and utilize it for exclusion of some more Class Diagram tests that don't make sense or cannot be generated like the rest * simplify the generation of synchronization tests, removing the specialized M2T templates * fix the deletion tests that failed because the edit-part to be deleted was not selected * fix the tests dealing with child label nodes in nodes that are themselves child nodes by ensuring proper creation of a top-level node to contain the nested node that has the label children * fix abstract appearance test cases, resolving a large proportion of test failures * further simplification of the M2T templates based on structure of the UTP model * don't just not generate excluded tests, but apply the @FailingTest, @NotImplemented, and @Ignore annotations as appropriate to the reason for the test exclusion * now that the UTP model is not managed in source control, it can use generated XMI IDs to save some space (the computed unique IDs were long, based on qualified names) * add another kind of test exception that blanket excludes an edit-part from all tests * add support for completely omitting test cases from the generated code (instead of just annotating them), e.g. for cases where the generated code would not even compile * create a DSL embedded in the transformation workflow for definition of test exceptions, as a convenient and integrated alternative to the test-exceptions model * add default calculation of edit-parts-to-test lists for all kinds of tests, to stream-line the workflow model. Employ this with the new test-exceptions DSL in the Use Case Diagram tests generation workflow as an example of how it all works * further streamlining of the test exceptions DSL with an active annotation generating constants for the reason kinds and multiplicative nesting of edit-part blocks in forbidden permutation rules * adopt the test exceptions DSL in the Class Diagram tests * support injection of custom GMFGen-to-UTP transformation rules * customize the link creation tests in the Class Diagram to fix association link failures caused by odd default name that associations get in the test environment * automatically compute imports for all edit-part classes actually required by the tests, based on the references to edit-parts in the generated activities, to avoid unused import warnings for edit-part classes that would only have been used by tests that were excluded * fix some problems in behavior diagram tests that failed on attempting to create the top container frame (behavior) that was already implicitly created by creation of the diagram * update abstract synchronization tests to take advantage of diagram editor sharing (cherry-picked from streams/1.1-maintenance Id627299a0b28614877cba0e372d980c6bf3ec675) Signed-off-by: jcadavid <juan.cadavid@cea.fr> Signed-off-by: Christian W. Damus <give.a.damus@gmail.com> Change-Id: I59cc3d621889f0caeff78acd6c0eb07c7479268f
-rw-r--r--.gitignore3
-rw-r--r--features/papyrus-dev-features/org.eclipse.papyrus.dev.feature/feature.xml49
-rw-r--r--features/papyrus-dev-features/org.eclipse.papyrus.junit.feature/feature.xml14
-rw-r--r--features/papyrus-tests-features/org.eclipse.papyrus.tests.feature/feature.xml14
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.classpath7
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.project34
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/META-INF/MANIFEST.MF17
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/OSGI-INF/l10n/bundle.properties14
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/about.html28
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/build.properties20
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/plugin.xml89
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/pom.xml14
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/src/org/eclipse/papyrus/dev/tests/framework/internal/ui/Activator.java38
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/src/org/eclipse/papyrus/dev/tests/framework/internal/ui/ToggleNatureHandler.java65
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/.classpath7
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/.project34
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/.settings/org.eclipse.jdt.core.prefs291
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/META-INF/MANIFEST.MF17
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/OSGI-INF/l10n/bundle.properties14
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/about.html28
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/build.properties20
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/plugin.xml71
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/pom.xml14
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/Activator.java38
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/PapyrusDiagramTestProjectNature.java135
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/PapyrusDiagramTestsGenerationBuilder.java251
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen/transforsrc/org/eclipse/papyrus/domaincontextcodegen/modules/GenerateHandlers.java370
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen/transforsrc/org/eclipse/papyrus/domaincontextcodegen/modules/GenerateTypes.java370
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/.classpath16
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/.project74
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/META-INF/MANIFEST.MF39
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/Activator.java3
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/XtendWorkflow.java37
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/MultiReader.java74
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/QvtoTransformationWorkflow.java (renamed from plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/QvtoTransformationWorkflowComponent.java)290
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/RegisterUmlProfile.java (renamed from plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/RegisterUmlProfileComponent.java)197
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/UMLWriter.java274
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/messages/Messages.java82
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/messages/messages.properties18
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/xtend-gen/.gitignore2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/model/GenericDiagramFucntion.uml208
-rw-r--r--releng/Main tests - Generated.launch20
-rwxr-xr-xreleng/dev/pom.xml627
-rw-r--r--releng/main-tests/pom.xml755
-rw-r--r--releng/org.eclipse.papyrus.oomph/setups/papyrus.setup204
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/.classpath8
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/.project40
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.jdt.core.prefs292
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/META-INF/MANIFEST.MF15
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/about.html28
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/build.properties12
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/plugin.properties12
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/pom.xml50
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/Cached.xtend108
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/FrameworkConfig.xtend53
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/LiteralConstants.xtend89
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/TestContextRule.xtend53
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/TestPackageRule.xtend53
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.annotations/xtend-gen/.gitignore2
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/.classpath7
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/.project28
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/META-INF/MANIFEST.MF25
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/about.html28
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/build.properties20
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/AnyEditPart.gifbin0 -> 129 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/CompositeEditPartSpec.gifbin0 -> 129 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/EditPartRef.gifbin0 -> 129 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/ForbiddenEditPart.gifbin0 -> 129 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/ForbiddenEditPartPermutation.gifbin0 -> 129 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/TestExceptions.gifbin0 -> 129 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/plugin.properties59
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/plugin.xml31
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/pom.xml16
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/AnyEditPartItemProvider.java112
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/CompositeEditPartSpecItemProvider.java225
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/EditPartRefItemProvider.java147
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/EditPartSpecItemProvider.java122
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ExceptionsItemProviderAdapterFactory.java361
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ForbiddenEditPartItemProvider.java209
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ForbiddenEditPartPermutationItemProvider.java228
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestConstraintItemProvider.java151
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestExceptionsItemProvider.java185
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestexceptionsEditPlugin.java103
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/.classpath7
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/.project28
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/META-INF/MANIFEST.MF22
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/about.html28
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/build.properties20
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/icons/full/obj16/ExceptionsModelFile.gifbin0 -> 346 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/icons/full/wizban/NewExceptions.gifbin0 -> 2462 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/plugin.properties54
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/plugin.xml46
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/pom.xml16
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/src-gen/org/eclipse/papyrus/tests/framework/exceptions/presentation/ExceptionsActionBarContributor.java446
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/src-gen/org/eclipse/papyrus/tests/framework/exceptions/presentation/ExceptionsEditor.java1553
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/src-gen/org/eclipse/papyrus/tests/framework/exceptions/presentation/ExceptionsModelWizard.java622
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework.editor/src-gen/org/eclipse/papyrus/tests/framework/exceptions/presentation/TestexceptionsEditorPlugin.java105
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/.classpath9
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/.project40
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/.settings/org.eclipse.jdt.core.prefs292
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/.settings/org.eclipse.jdt.ui.prefs68
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/META-INF/MANIFEST.MF53
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/about.html28
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/build.properties24
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/Architecture.pptxbin0 -> 53532 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/DeveloperDoc.html115
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/DeveloperDoc.mediawiki216
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/PapyrusTestingFramework-Jan2014.pptbin0 -> 819200 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/Papyrus_-_TestGenerationFrameworkBase.pngbin0 -> 29027 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/architecture.di47
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/architecture.notation1028
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/architecture.pngbin0 -> 17973 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/architecture.uml141
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/default.css86
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/doc.mediawiki138
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/imgDOC/AbstractTestClassesDiagram.pngbin0 -> 29248 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/imgDOC/ClassDiagram.pngbin0 -> 34051 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/imgDOC/Comments_about_design.pngbin0 -> 10080 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/imgDOC/DesignOverview.pngbin0 -> 15191 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/imgDOC/GenerationWorkflow.pngbin0 -> 30899 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/imgDOC/UseCasesDiagram.pngbin0 -> 25090 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/imgDOC/testingFrameworkBase.pngbin0 -> 33768 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/mde-doc.di (renamed from tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/model/ClassDiagramTest.notation)4
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/mde-doc.notation1366
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/mde-doc.uml372
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/model.di (renamed from tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/model/ClassDiagramTest.di)4
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/doc/model.uml69
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/exceptions.ecore148
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/genmodel.uml946
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/gmfgen.uml4781
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/test-exceptions.di2
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/test-exceptions.genmodel109
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/test-exceptions.notation776
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/test-exceptions.uml287
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/testingFrameworkBase.di29
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/testingFrameworkBase.notation749
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/testingFrameworkBase.pngbin0 -> 33768 bytes
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/model/testingFrameworkBase.uml74
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/plugin.properties13
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/plugin.xml33
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/pom.xml50
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/AnyEditPart.java26
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/CompositeEditPartSpec.java100
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/EditPartRef.java62
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/EditPartSpec.java75
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/ExceptionsFactory.java105
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/ExceptionsPackage.java1269
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/ForbiddenEditPart.java139
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/ForbiddenEditPartPermutation.java196
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/ForbiddenReasonKind.java307
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/OperatorKind.java278
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/TestConstraint.java108
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/TestExceptions.java79
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/impl/AnyEditPartImpl.java82
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/impl/CompositeEditPartSpecImpl.java304
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/impl/EditPartRefImpl.java209
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/impl/EditPartSpecImpl.java273
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/impl/ExceptionsFactoryImpl.java268
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/impl/ExceptionsPackageImpl.java790
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/impl/ForbiddenEditPartImpl.java394
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/impl/ForbiddenEditPartPermutationImpl.java460
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/impl/TestConstraintImpl.java357
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/impl/TestExceptionsImpl.java244
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/util/ExceptionsAdapterFactory.java278
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/util/ExceptionsResourceFactoryImpl.java55
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/util/ExceptionsResourceImpl.java40
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/util/ExceptionsSwitch.java322
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/exceptions/util/ExceptionsValidator.java307
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/internal/exceptions/operations/AnyEditPartOperations.java52
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/internal/exceptions/operations/CompositeEditPartSpecOperations.java80
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/internal/exceptions/operations/EditPartRefOperations.java87
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/internal/exceptions/operations/EditPartSpecOperations.java52
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/internal/exceptions/operations/ForbiddenEditPartOperations.java68
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/internal/exceptions/operations/ForbiddenEditPartPermutationOperations.java81
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/internal/exceptions/operations/TestConstraintOperations.java105
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src-gen/org/eclipse/papyrus/tests/framework/internal/exceptions/operations/TestExceptionsOperations.java63
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/Activator.java66
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/exceptions/impl/TestExceptionsObject.java30
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgen2uml/GMFGen2UML.xtend263
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgen2uml/GMFGen2UMLComponent.java98
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgen2uml/GMFGen2UMLModule.java47
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/AppearanceTest.xtend46
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/CanonicalTests.xtend59
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/CreateFromPaletteChildLabelNodesTest.xtend80
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/CreateFromPaletteTest.xtend268
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/DeleteTest.xtend45
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/DirectEditTest.xtend45
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/DropTest.xtend45
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/GMFGen2UTPComponent.java154
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/GMFGen2UTPModule.xtend179
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/SynchronizationTest.xtend322
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/TestExceptionManager.xtend90
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/gmfgenuml2utp/TransformationUtilities.xtend765
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2m/DefaultingList.xtend57
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2m/Metamodels.xtend108
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/CodeGeneratorComponent.java93
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/CodeGeneratorModule.java87
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/AbstractTestTemplate.xtend163
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/AllPackageTestsTemplate.xtend45
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/AppearanceTestTemplate.xtend35
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/CodegenContext.xtend72
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/DeleteTestTemplate.xtend33
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/DirectEditTestTemplate.xtend35
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/DropTestTemplate.xtend55
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/Importator.xtend87
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/PapyrusDiagramCanonicalTests.xtend93
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/Queries.java83
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/SynchronizationTestTemplate.xtend72
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/TemplateQueries.xtend174
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/TestChildLabelNodeTemplate.xtend24
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/TestLinkTemplate.xtend23
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/m2t/xtend/templates/TestNodeTemplate.xtend40
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/mwe/GenerateTestsWorkflow.xtend298
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/src/org/eclipse/papyrus/tests/framework/mwe/TestExceptionsBuilder.xtend335
-rw-r--r--tests/framework/org.eclipse.papyrus.tests.framework/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/.classpath14
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/META-INF/MANIFEST.MF212
-rw-r--r--tests/junit/plugins/core/org.eclipse.papyrus.tests/test/org/eclipse/papyrus/tests/AllGenTests.java52
-rw-r--r--tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical.tests/src/org/eclipse/papyrus/infra/gmfdiag/canonical/tests/AbstractCSSCanonicalTest.java2
-rw-r--r--tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical.tests/src/org/eclipse/papyrus/infra/gmfdiag/canonical/tests/AllTests.java1
-rw-r--r--tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical.tests/src/org/eclipse/papyrus/infra/gmfdiag/canonical/tests/CSSCanonicalCompositeDiagramTest.java133
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/classification/ClassificationConfig.java37
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/classification/ClassificationSuite.java132
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/classification/GeneratedTest.java40
-rw-r--r--tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework/src/org/eclipse/papyrus/junit/framework/classification/TestCategory.java141
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/.classpath16
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/.project68
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/META-INF/MANIFEST.MF70
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/build.properties4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/src/org/eclipse/papyrus/uml/diagram/activity/tests/AllTests.java18
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/src/org/eclipse/papyrus/uml/diagram/activity/tests/generation/ActivityDiagramGenerateTestsWorkflow.xtend55
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/.classpath17
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/.metadata/.plugins/org.eclipse.oomph.setup.ui/restarting5
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/.project68
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/META-INF/MANIFEST.MF14
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/build.properties3
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/model/ClassDiagramTest.uml39480
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/org.eclipse.papyrus.uml.diagram.clazz.tests.launch2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/AllCanonicalTestsGen.java41
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInClassEditPartGen.java168
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInCommentEditPartGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInComponentEditPartGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInConstraintEditPartGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInDataTypeEditPartGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInEnumerationEditPartGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInInformationItemEditPartGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInInstanceSpecificationEditPartGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInModelEditPartTNGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInPackageEditPartGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInPrimitiveTypeEditPartGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramChildNodeInSignalEditPartGen.java150
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramLinkGen.java4099
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramLinkOwnedBySourceGen.java5108
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test-gen/org/eclipse/papyrus/diagram/clazz/test/createFromPalette/TestClassDiagramTopNodeGen.java149
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/AllTests.java10
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/AllCanonicalTests.java109
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/TestAppearanceClassDiagramTopNode.java338
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/test/canonical/TestEditableClassDiagramTopNode.java338
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/tests/generation/ClassDiagramGenerateTestsWorkflow.xtend103
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/test/org/eclipse/papyrus/uml/diagram/clazz/tests/generation/CustomCreateFromPaletteTest.xtend49
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common.tests/pom.xml4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/.classpath16
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/.project12
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/META-INF/MANIFEST.MF65
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/build.properties4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/src/org/eclipse/papyrus/uml/diagram/communication/tests/AllTests.java13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/src/org/eclipse/papyrus/uml/diagram/communication/tests/generation/CommunicationDiagramGenerateTestsWorkflow.xtend71
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/.classpath16
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/.project68
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/META-INF/MANIFEST.MF67
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/build.properties4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/src/org/eclipse/papyrus/uml/diagram/component/test/AllTests.java17
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/src/org/eclipse/papyrus/uml/diagram/component/test/generation/ComponentDiagramGenerateTestsWorkflow.xtend79
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/.classpath4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/.project12
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/META-INF/MANIFEST.MF64
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/build.properties4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/test/org/eclipse/papyrus/uml/diagram/composite/test/AllTests.java14
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/test/org/eclipse/papyrus/uml/diagram/composite/test/generation/CompositeDiagramGenerateTestsWorkflow.xtend256
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/.classpath16
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/.project68
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/META-INF/MANIFEST.MF66
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/build.properties4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/src/org/eclipse/papyrus/uml/diagram/deployment/test/AllTests.java18
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/src/org/eclipse/papyrus/uml/diagram/deployment/test/generation/DeploymentDiagramGenerateTestsWorkflow.xtend56
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd.tests/pom.xml4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.interactionoverview.tests/pom.xml4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.paletteconfiguration.tests/pom.xml4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/.classpath16
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/.project68
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/META-INF/MANIFEST.MF59
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/build.properties4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/src/org/eclipse/papyrus/uml/diagram/profile/tests/AllTests.java15
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/src/org/eclipse/papyrus/uml/diagram/profile/tests/IProfileDiagramTestsConstants.java (renamed from tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/src/org/eclipse/papyrus/uml/diagram/profile/tests/IProfileDiagramTest.java)12
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/src/org/eclipse/papyrus/uml/diagram/profile/tests/generation/CustomCreateFromPaletteTest.xtend49
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/src/org/eclipse/papyrus/uml/diagram/profile/tests/generation/ProfileDiagramGenerateTestsWorkflow.xtend69
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/.classpath16
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/.project68
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/META-INF/MANIFEST.MF76
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/build.properties4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/src/org/eclipse/papyrus/uml/diagram/sequence/tests/AllTests.java18
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/src/org/eclipse/papyrus/uml/diagram/sequence/tests/generation/SequenceDiagramGenerateTestsWorkflow.xtend98
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/.classpath16
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/.project68
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/META-INF/MANIFEST.MF65
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/build.properties4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/src/org/eclipse/papyrus/uml/diagram/statemachine/tests/AllTests.java17
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/src/org/eclipse/papyrus/uml/diagram/statemachine/tests/generation/StateMachineDiagramGenerateTestsWorkflow.xtend100
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.stereotypeproperty.tests/pom.xml4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/.project62
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/META-INF/MANIFEST.MF18
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/build.properties3
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/resources/synch-test-model.di2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/resources/synch-test-model.notation4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/resources/synch-test-model.uml6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/appearance/AbstractAppearanceNodeTest.java458
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/appearance/AppearanceNodeLabelTest.java38
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/appearance/AppearanceNodeTest.java433
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/canonical/AbstractPapyrusTestCase.java86
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/createFromPalette/AbstractCreateChildLabelNodeFromPaletteTest.java160
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/createFromPalette/AbstractCreateLinkFromPaletteTest.java (renamed from tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/createFromPalette/CreateLinkFromPaletteTest.java)694
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/createFromPalette/AbstractCreateLinkOwnedBySourceFromPaletteTest.java (renamed from tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/createFromPalette/CreateLinkOwnedBySourceFromPaletteTest.java)340
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/createFromPalette/AbstractCreateNodeFromPaletteTest.java335
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/createFromPalette/CreateNodeFromPaletteTest.java327
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/delete/AbstractDeleteNodeTest.java255
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/drop/AbstractDropNodeTest.java141
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/edition/AbstractEditableNodeTest.java143
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/edition/EditableNodeTest.java161
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/synchronization/AbstractCSSSynchronizationTest.java263
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests/src/org/eclipse/papyrus/uml/diagram/tests/synchronization/AbstractSynchronizationTest.java658
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/.classpath16
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/.project68
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/META-INF/MANIFEST.MF65
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/build.properties4
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/src/org/eclipse/papyrus/uml/diagram/timing/tests/AllTests.java21
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/src/org/eclipse/papyrus/uml/diagram/timing/tests/ITimingDiagramTestsConstants.java22
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/src/org/eclipse/papyrus/uml/diagram/timing/tests/generation/TimingDiagramGenerateTestsWorkflow.xtend94
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/.classpath16
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/.project68
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/META-INF/MANIFEST.MF70
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/build.properties17
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/model/.gitignore1
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/plugin.xml5
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/pom.xml13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/src/org/eclipse/papyrus/uml/diagram/usecase/tests/AllTests.java13
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/src/org/eclipse/papyrus/uml/diagram/usecase/tests/IUseCaseTestsConstants.java22
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/src/org/eclipse/papyrus/uml/diagram/usecase/tests/generation/UseCaseDiagramGenerateTestsWorkflow.xtend92
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/test-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests/xtend-gen/.gitignore2
-rw-r--r--tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests/pom.xml4
-rw-r--r--tests/junit/plugins/uml/diagram/pom.xml134
412 files changed, 40756 insertions, 55200 deletions
diff --git a/.gitignore b/.gitignore
index facf8d09698..8be6129aa98 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@ target/
*.pyc
.DS_Store
*.xtendbin
+*.gmfgen.uml
# Workspace metadata folder created by Oomph when launching tests.
-tests/**/.metadata/ \ No newline at end of file
+tests/**/.metadata/
diff --git a/features/papyrus-dev-features/org.eclipse.papyrus.dev.feature/feature.xml b/features/papyrus-dev-features/org.eclipse.papyrus.dev.feature/feature.xml
index b2857469707..fae060d80e9 100644
--- a/features/papyrus-dev-features/org.eclipse.papyrus.dev.feature/feature.xml
+++ b/features/papyrus-dev-features/org.eclipse.papyrus.dev.feature/feature.xml
@@ -161,4 +161,53 @@ http://www.eclipse.org/legal/epl-v10.html
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.papyrus.mwe2.utils"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.dev.tests.framework"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.dev.tests.framework.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.tests.framework"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.tests.framework.annotations"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.tests.framework.edit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.tests.framework.editor"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/features/papyrus-dev-features/org.eclipse.papyrus.junit.feature/feature.xml b/features/papyrus-dev-features/org.eclipse.papyrus.junit.feature/feature.xml
index 749815ed9c9..10ffaae9011 100644
--- a/features/papyrus-dev-features/org.eclipse.papyrus.junit.feature/feature.xml
+++ b/features/papyrus-dev-features/org.eclipse.papyrus.junit.feature/feature.xml
@@ -37,4 +37,18 @@ http://www.eclipse.org/legal/epl-v10.html
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.papyrus.tests.framework"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.tests.framework.annotations"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/features/papyrus-tests-features/org.eclipse.papyrus.tests.feature/feature.xml b/features/papyrus-tests-features/org.eclipse.papyrus.tests.feature/feature.xml
index 288037a7795..c681111e95b 100644
--- a/features/papyrus-tests-features/org.eclipse.papyrus.tests.feature/feature.xml
+++ b/features/papyrus-tests-features/org.eclipse.papyrus.tests.feature/feature.xml
@@ -141,4 +141,18 @@ http://www.eclipse.org/legal/epl-v10.html
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.papyrus.tests.framework"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.tests.framework.annotations"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.classpath b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.classpath
new file mode 100644
index 00000000000..098194ca4b7
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.project b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.project
new file mode 100644
index 00000000000..5fd10003319
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.dev.tests.framework.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f08be2b06c4
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.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/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.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/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..2a129a2e657
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.core.resources;bundle-version="3.10.0",
+ org.eclipse.papyrus.dev.tests.framework;bundle-version="1.1.0",
+ org.eclipse.ui;bundle-version="3.107.0",
+ org.eclipse.core.expressions;bundle-version="3.5.0"
+Export-Package: org.eclipse.papyrus.dev.tests.framework.internal.ui;x-internal:=true
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.1.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.dev.tests.framework.internal.ui.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.dev.tests.framework.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/OSGI-INF/l10n/bundle.properties b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 00000000000..ab9e20708f2
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,14 @@
+#
+# 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
+#
+
+Bundle-Name = Papyrus Diagram Testing Framework Developer Tools UI
+Bundle-Vendor = Eclipse Modeling Project
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/about.html b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>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/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/build.properties b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/build.properties
new file mode 100644
index 00000000000..a4a1a9e46a3
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/build.properties
@@ -0,0 +1,20 @@
+#
+# 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/,\
+ OSGI-INF/,\
+ about.html,\
+ plugin.xml
+src.includes = about.html
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/plugin.xml b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/plugin.xml
new file mode 100644
index 00000000000..0658218a1ad
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/plugin.xml
@@ -0,0 +1,89 @@
+<?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.ui.handlers">
+ <handler
+ class="org.eclipse.papyrus.dev.tests.framework.internal.ui.ToggleNatureHandler"
+ commandId="org.eclipse.papyrus.dev.tests.framework.ui.addNature">
+ <enabledWhen>
+ <and>
+ <count
+ value="+">
+ </count>
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <adapt
+ type="org.eclipse.core.resources.IProject">
+ </adapt>
+ </iterate>
+ <not>
+ <reference
+ definitionId="org.eclipse.papyrus.dev.tests.framework.hasNature">
+ </reference>
+ </not>
+ </and>
+ </enabledWhen>
+ </handler>
+ <handler
+ class="org.eclipse.papyrus.dev.tests.framework.internal.ui.ToggleNatureHandler"
+ commandId="org.eclipse.papyrus.dev.tests.framework.ui.removeNature">
+ <enabledWhen>
+ <reference
+ definitionId="org.eclipse.papyrus.dev.tests.framework.hasNature">
+ </reference>
+ </enabledWhen>
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Configures the project to generate diagram tests"
+ id="org.eclipse.papyrus.dev.tests.framework.ui.addNature"
+ name="Add Papyrus Diagram Tests Nature">
+ </command>
+ <command
+ description="Removes the generation of diagram tests from the project"
+ id="org.eclipse.papyrus.dev.tests.framework.ui.removeNature"
+ name="Remove Papyrus Diagram Tests Nature">
+ </command>
+ </extension>
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ allPopups="true"
+ locationURI="popup:org.eclipse.ui.projectConfigure?after=additions">
+ <command
+ commandId="org.eclipse.papyrus.dev.tests.framework.ui.addNature"
+ label="Add Papyrus Diagram Tests Nature"
+ style="push"
+ tooltip="Adds the Papyrus Diagram Tests generation builder">
+ <visibleWhen
+ checkEnabled="true">
+ </visibleWhen>
+ </command>
+ <command
+ commandId="org.eclipse.papyrus.dev.tests.framework.ui.removeNature"
+ label="Remove Papyrus Diagram Tests Nature"
+ style="push"
+ tooltip="Removes the Papyrus Diagram Tests generation builder">
+ <visibleWhen
+ checkEnabled="true">
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+</plugin>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/pom.xml b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/pom.xml
new file mode 100644
index 00000000000..6fa17414479
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.dev.releng</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.1.0-SNAPSHOT</version>
+ <relativePath>../../../releng/dev</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.dev.tests.framework.ui</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/src/org/eclipse/papyrus/dev/tests/framework/internal/ui/Activator.java b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/src/org/eclipse/papyrus/dev/tests/framework/internal/ui/Activator.java
new file mode 100644
index 00000000000..6ad99b58aa1
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/src/org/eclipse/papyrus/dev/tests/framework/internal/ui/Activator.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * 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.dev.tests.framework.internal.ui;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.dev.tests.framework.ui"; //$NON-NLS-1$
+
+ private static BundleContext context;
+
+ static BundleContext getContext() {
+ return context;
+ }
+
+ @Override
+ public void start(BundleContext bundleContext) throws Exception {
+ Activator.context = bundleContext;
+ }
+
+ @Override
+ public void stop(BundleContext bundleContext) throws Exception {
+ Activator.context = null;
+ }
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/src/org/eclipse/papyrus/dev/tests/framework/internal/ui/ToggleNatureHandler.java b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/src/org/eclipse/papyrus/dev/tests/framework/internal/ui/ToggleNatureHandler.java
new file mode 100644
index 00000000000..66aec47d31a
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/src/org/eclipse/papyrus/dev/tests/framework/internal/ui/ToggleNatureHandler.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * 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.dev.tests.framework.internal.ui;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.papyrus.dev.tests.framework.internal.PapyrusDiagramTestProjectNature;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import com.google.common.collect.Iterables;
+
+/**
+ * Toggles the Papyrus Diagram Tests Framework nature on a project.
+ */
+public class ToggleNatureHandler extends AbstractHandler {
+
+ public ToggleNatureHandler() {
+ super();
+ }
+
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ ISelection sel = HandlerUtil.getCurrentSelection(event);
+ if (sel instanceof IStructuredSelection) {
+ Iterable<IAdaptable> projects = Iterables.filter(((IStructuredSelection) sel).toList(), IAdaptable.class);
+ for (IAdaptable next : projects) {
+ IProject project = next.getAdapter(IProject.class);
+ if (project != null) {
+ try {
+ toggleNature(project);
+ } catch (CoreException e) {
+ throw new ExecutionException("Failed to toggle project nature", e);
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ protected void toggleNature(IProject project) throws CoreException {
+ PapyrusDiagramTestProjectNature nature = new PapyrusDiagramTestProjectNature(project);
+ if (nature.hasNature()) {
+ nature.deconfigure();
+ } else {
+ nature.configure();
+ }
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.classpath b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.classpath
new file mode 100644
index 00000000000..098194ca4b7
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.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/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.project b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.project
new file mode 100644
index 00000000000..8b08e018ffe
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.dev.tests.framework</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>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.settings/org.eclipse.jdt.core.prefs b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..f08be2b06c4
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.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/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.settings/org.eclipse.jdt.ui.prefs b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.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/plugins/developer/org.eclipse.papyrus.dev.tests.framework/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..f3436aa8b9f
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.core.resources;bundle-version="3.10.0",
+ org.eclipse.jdt.launching;bundle-version="3.8.0",
+ org.eclipse.jdt.core;bundle-version="3.11.0",
+ org.eclipse.debug.core;bundle-version="3.10.0"
+Export-Package: org.eclipse.papyrus.dev.tests.framework.internal;x-internal:=true
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.1.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.dev.tests.framework.internal.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.dev.tests.framework;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/OSGI-INF/l10n/bundle.properties b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 00000000000..6d0dcd53e0c
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,14 @@
+#
+# 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
+#
+
+Bundle-Name = Papyrus Diagram Testing Framework Developer Tools
+Bundle-Vendor = Eclipse Modeling Project
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/about.html b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/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/plugins/developer/org.eclipse.papyrus.dev.tests.framework/build.properties b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/build.properties
new file mode 100644
index 00000000000..a4a1a9e46a3
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/build.properties
@@ -0,0 +1,20 @@
+#
+# 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/,\
+ OSGI-INF/,\
+ about.html,\
+ plugin.xml
+src.includes = about.html
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/plugin.xml b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/plugin.xml
new file mode 100644
index 00000000000..74867e408ea
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/plugin.xml
@@ -0,0 +1,71 @@
+<?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
+ id="org.eclipse.papyrus.dev.tests.framework.nature"
+ point="org.eclipse.core.resources.natures"
+ name="Papyrus Diagram Tests Project">
+ <builder
+ id="org.eclipse.papyrus.dev.tests.framework.builder">
+ </builder>
+ <requires-nature
+ id="org.eclipse.jdt.core.javanature">
+ </requires-nature>
+ <requires-nature
+ id="org.eclipse.xtext.ui.shared.xtextNature">
+ </requires-nature>
+ <runtime>
+ <run
+ class="org.eclipse.papyrus.dev.tests.framework.internal.PapyrusDiagramTestProjectNature">
+ </run>
+ </runtime>
+ </extension>
+ <extension
+ id="org.eclipse.papyrus.dev.tests.framework.builder"
+ point="org.eclipse.core.resources.builders"
+ name="Papyrus Diagram Tests Generator">
+ <builder
+ callOnEmptyDelta="false"
+ hasNature="true"
+ isConfigurable="false"
+ supportsConfigurations="false">
+ <run
+ class="org.eclipse.papyrus.dev.tests.framework.internal.PapyrusDiagramTestsGenerationBuilder">
+ </run>
+ </builder>
+ </extension>
+ <extension
+ point="org.eclipse.core.expressions.definitions">
+ <definition
+ id="org.eclipse.papyrus.dev.tests.framework.hasNature">
+ <and>
+ <count
+ value="+">
+ </count>
+ <iterate
+ ifEmpty="false"
+ operator="and">
+ <adapt
+ type="org.eclipse.core.resources.IProject">
+ <test
+ property="org.eclipse.core.resources.projectNature"
+ value="org.eclipse.papyrus.dev.tests.framework.nature">
+ </test>
+ </adapt>
+ </iterate>
+ </and>
+ </definition>
+ </extension>
+</plugin>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/pom.xml b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/pom.xml
new file mode 100644
index 00000000000..21aaa861c8f
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.dev.releng</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.1.0-SNAPSHOT</version>
+ <relativePath>../../../releng/dev</relativePath>
+ </parent>
+ <artifactId>org.eclipse.papyrus.dev.tests.framework</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/Activator.java b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/Activator.java
new file mode 100644
index 00000000000..8238c6b5c2d
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/Activator.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * 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.dev.tests.framework.internal;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.dev.tests.framework"; //$NON-NLS-1$
+
+ private static BundleContext context;
+
+ static BundleContext getContext() {
+ return context;
+ }
+
+ @Override
+ public void start(BundleContext bundleContext) throws Exception {
+ Activator.context = bundleContext;
+ }
+
+ @Override
+ public void stop(BundleContext bundleContext) throws Exception {
+ Activator.context = null;
+ }
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/PapyrusDiagramTestProjectNature.java b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/PapyrusDiagramTestProjectNature.java
new file mode 100644
index 00000000000..8da320c5f7d
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/PapyrusDiagramTestProjectNature.java
@@ -0,0 +1,135 @@
+/*****************************************************************************
+ * 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.dev.tests.framework.internal;
+
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.ICommand;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IProjectNature;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+/**
+ * The Papyrus diagram tests project nature.
+ */
+public class PapyrusDiagramTestProjectNature implements IProjectNature {
+ public static final String NATURE_ID = Activator.PLUGIN_ID + ".nature"; //$NON-NLS-1$
+
+ private IProject project;
+
+ public PapyrusDiagramTestProjectNature() {
+ super();
+ }
+
+ public PapyrusDiagramTestProjectNature(IProject project) {
+ super();
+
+ this.project = project;
+ }
+
+ @Override
+ public final IProject getProject() {
+ return project;
+ }
+
+ @Override
+ public final void setProject(IProject project) {
+ this.project = project;
+ }
+
+ public boolean hasNature() {
+ try {
+ IProjectDescription desc = getProject().getDescription();
+ return Arrays.asList(desc.getNatureIds()).contains(NATURE_ID);
+ } catch (CoreException e) {
+ // Well, obviously it doesn't have the nature, then
+ return false;
+ }
+ }
+
+ @Override
+ public void configure() throws CoreException {
+ IProjectDescription desc = getProject().getDescription();
+ List<String> natures = Lists.newArrayList(desc.getNatureIds());
+
+ boolean changed = false;
+
+ if (!natures.contains(NATURE_ID)) {
+ natures.add(NATURE_ID);
+ desc.setNatureIds(Iterables.toArray(natures, String.class));
+ changed = true;
+ }
+
+ boolean foundBuilder = false;
+ List<ICommand> builders = Lists.newArrayList(desc.getBuildSpec());
+ for (ICommand next : builders) {
+ if (PapyrusDiagramTestsGenerationBuilder.BUILDER_ID.equals(next.getBuilderName())) {
+ foundBuilder = true;
+ }
+ }
+ if (!foundBuilder) {
+ ICommand builder = desc.newCommand();
+ builder.setBuilderName(PapyrusDiagramTestsGenerationBuilder.BUILDER_ID);
+ builder.setBuilding(IncrementalProjectBuilder.CLEAN_BUILD, true);
+ builder.setBuilding(IncrementalProjectBuilder.FULL_BUILD, true);
+ builders.add(builder); // Needs to be after Java builder to compile the generator workflow!
+ desc.setBuildSpec(Iterables.toArray(builders, ICommand.class));
+ changed = true;
+ }
+
+ if (changed) {
+ project.setDescription(desc, null);
+ }
+ }
+
+ @Override
+ public void deconfigure() throws CoreException {
+ IProjectDescription desc = getProject().getDescription();
+ List<String> natures = Lists.newArrayList(desc.getNatureIds());
+
+ boolean changed = false;
+
+ if (natures.remove(NATURE_ID)) {
+ desc.setNatureIds(Iterables.toArray(natures, String.class));
+ project.setDescription(desc, null);
+ changed = true;
+ }
+
+ boolean foundBuilder = false;
+ List<ICommand> builders = Lists.newArrayList(desc.getBuildSpec());
+ for (Iterator<ICommand> iter = builders.iterator(); iter.hasNext();) {
+ ICommand next = iter.next();
+ if (PapyrusDiagramTestsGenerationBuilder.BUILDER_ID.equals(next.getBuilderName())) {
+ iter.remove();
+ foundBuilder = true;
+ }
+ }
+ if (foundBuilder) {
+ desc.setBuildSpec(Iterables.toArray(builders, ICommand.class));
+ changed = true;
+ }
+
+ if (changed) {
+ project.setDescription(desc, null);
+ }
+ }
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/PapyrusDiagramTestsGenerationBuilder.java b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/PapyrusDiagramTestsGenerationBuilder.java
new file mode 100644
index 00000000000..4aee43e22e0
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/src/org/eclipse/papyrus/dev/tests/framework/internal/PapyrusDiagramTestsGenerationBuilder.java
@@ -0,0 +1,251 @@
+/*****************************************************************************
+ * 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.dev.tests.framework.internal;
+
+import java.util.Map;
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.IDebugEventSetListener;
+import org.eclipse.debug.core.ILaunch;
+import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.debug.core.Launch;
+import org.eclipse.debug.core.model.IProcess;
+import org.eclipse.jdt.core.Flags;
+import org.eclipse.jdt.core.ICompilationUnit;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.ILocalVariable;
+import org.eclipse.jdt.core.IMethod;
+import org.eclipse.jdt.core.IPackageFragment;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.Signature;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.IVMRunner;
+import org.eclipse.jdt.launching.JavaRuntime;
+import org.eclipse.jdt.launching.VMRunnerConfiguration;
+
+import com.google.common.base.Strings;
+
+/**
+ * A project builder that generates the diagram tests, if and only if the tests framework
+ * project is currently open.
+ */
+public class PapyrusDiagramTestsGenerationBuilder extends IncrementalProjectBuilder {
+ public static final String BUILDER_ID = "org.eclipse.papyrus.dev.tests.framework.builder"; //$NON-NLS-1$
+
+ private static final String FRAMEWORK_PROJECT = "org.eclipse.papyrus.tests.framework"; //$NON-NLS-1$
+
+ public PapyrusDiagramTestsGenerationBuilder() {
+ super();
+ }
+
+ @Override
+ protected void clean(IProgressMonitor monitor) throws CoreException {
+ IJavaProject javaProject = JavaCore.create(getProject());
+
+ if (javaProject != null) {
+ IFolder testGen = findTestGen(javaProject);
+ SubMonitor subMonitor = SubMonitor.convert(monitor, "Deleting generated tests", 51);
+ deleteSources(testGen, subMonitor.newChild(50));
+ testGen.refreshLocal(IResource.DEPTH_INFINITE, subMonitor.newChild(1));
+ }
+ }
+
+ @Override
+ protected IProject[] build(int kind, Map<String, String> args, IProgressMonitor monitor) throws CoreException {
+ IJavaProject javaProject = JavaCore.create(getProject());
+
+ if (javaProject != null) {
+ IVMInstall vm = JavaRuntime.getVMInstall(javaProject);
+ if (vm == null) {
+ throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "No JVM configured for project " + getProject().getName()));
+ }
+ IVMRunner runner = vm.getVMRunner(ILaunchManager.RUN_MODE);
+ if (runner == null) {
+ throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Cannot get JVM runner for project " + getProject().getName()));
+ }
+ String[] classpath = JavaRuntime.computeDefaultRuntimeClassPath(javaProject);
+ if (classpath == null) {
+ throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Cannot determine classpath for project " + getProject().getName()));
+ }
+
+ SubMonitor subMonitor;
+ IFolder testGen = findTestGen(javaProject);
+ switch (kind) {
+ case FULL_BUILD:
+ // This build requires the tests framework project
+ IProject framework = getProject().getWorkspace().getRoot().getProject(FRAMEWORK_PROJECT);
+ if ((framework == null) || !framework.isAccessible()) {
+ break;
+ }
+
+ subMonitor = SubMonitor.convert(monitor, "Generating tests", IProgressMonitor.UNKNOWN);
+ VMRunnerConfiguration config = new VMRunnerConfiguration(getWorkflowClassName(javaProject), classpath);
+ config.setWorkingDirectory(getProject().getLocation().toOSString());
+ ILaunch launch = new Launch(null, ILaunchManager.RUN_MODE, null);
+ runner.run(config, launch, null);
+ IProcess[] processes = launch.getProcesses();
+ if (processes.length > 0) {
+ final Semaphore termination = new Semaphore(0);
+ final IProcess generator = processes[0];
+
+ IDebugEventSetListener debugListener = new IDebugEventSetListener() {
+
+ @Override
+ public void handleDebugEvents(DebugEvent[] events) {
+ for (DebugEvent next : events) {
+ if (next.getSource() == generator) {
+ if (next.getKind() == DebugEvent.TERMINATE) {
+ // Done
+ termination.release();
+ }
+ }
+ }
+
+ }
+ };
+
+ DebugPlugin.getDefault().addDebugEventListener(debugListener);
+ if (generator.isTerminated()) {
+ termination.release(); // In case we missed the event
+ }
+
+ try {
+ termination.tryAcquire(5L, TimeUnit.MINUTES);
+
+ // Kick an incremental build to compile the new sources
+ new Job("Build generated sources in project " + getProject().getName()) {
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ IStatus result = Status.OK_STATUS;
+
+ try {
+ getProject().build(AUTO_BUILD, monitor);
+ } catch (CoreException e) {
+ result = e.getStatus();
+ }
+
+ return result;
+ }
+ }.schedule();
+ } catch (Exception e) {
+ throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Test code generation timed out in project " + getProject().getName()));
+ } finally {
+ DebugPlugin.getDefault().removeDebugEventListener(debugListener);
+ testGen.refreshLocal(IResource.DEPTH_INFINITE, subMonitor);
+ }
+ }
+ break;
+ }
+ }
+
+ return null;
+ }
+
+ protected String getWorkflowClassName(IJavaProject javaProject) throws CoreException {
+ String result = null;
+
+ out: for (IPackageFragment packageFragment : javaProject.getPackageFragments()) {
+ for (ICompilationUnit cu : packageFragment.getCompilationUnits()) {
+ if (Strings.nullToEmpty(cu.getElementName()).endsWith("Workflow.java")) {
+ IType type = cu.findPrimaryType();
+ if (type != null) {
+ for (IMethod method : type.getMethods()) {
+ if (Flags.isStatic(method.getFlags())) {
+ for (ILocalVariable param : method.getParameters()) {
+ if ("GenerateTestsWorkflow".equals(Signature.getSignatureSimpleName(param.getTypeSignature()))) {
+ result = type.getFullyQualifiedName();
+ break out;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (result == null) {
+ throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Unable to determine codegen workflow for project " + getProject().getName()));
+ }
+
+ return result;
+ }
+
+ protected IFolder findTestGen(IJavaProject javaProject) throws CoreException {
+ IFolder result = null;
+
+ for (IPackageFragmentRoot next : javaProject.getPackageFragmentRoots()) {
+ if (!next.isReadOnly() && !next.isExternal() && !next.isArchive()) {
+ IResource resource = next.getCorrespondingResource();
+ if ((resource != null) && (resource.getType() == IResource.FOLDER)
+ && ("test-gen".equals(resource.getName()))) {
+
+ result = (IFolder) resource;
+ break;
+ }
+ }
+ }
+
+ return result;
+ }
+
+ protected void deleteSources(IFolder srcFolder, IProgressMonitor monitor) throws CoreException {
+ IResource[] members = srcFolder.members();
+ SubMonitor sub = SubMonitor.convert(monitor, members.length);
+
+ for (IResource next : members) {
+ switch (next.getType()) {
+ case IResource.FILE:
+ if (isJavaFile(next)) {
+ next.delete(true, sub.newChild(1));
+ } else {
+ sub.worked(1);
+ }
+ break;
+ case IResource.FOLDER:
+ SubMonitor nested = sub.newChild(51);
+ IFolder folder = (IFolder) next;
+ deleteSources(folder, nested.newChild(50));
+ if (folder.members().length == 0) {
+ folder.delete(true, nested.newChild(1));
+ }
+
+ nested.done();
+ break;
+ }
+ }
+
+ sub.done();
+ }
+
+ protected boolean isJavaFile(IResource file) {
+ return "java".equals(file.getProjectRelativePath().getFileExtension());
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/transforsrc/org/eclipse/papyrus/domaincontextcodegen/modules/GenerateHandlers.java b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/transforsrc/org/eclipse/papyrus/domaincontextcodegen/modules/GenerateHandlers.java
index 02986cedfd1..702235c00e6 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/transforsrc/org/eclipse/papyrus/domaincontextcodegen/modules/GenerateHandlers.java
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/transforsrc/org/eclipse/papyrus/domaincontextcodegen/modules/GenerateHandlers.java
@@ -61,8 +61,8 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
* @generated
*/
public GenerateHandlers() {
- // Empty implementation
- }
+ // Empty implementation
+ }
/**
* This allows clients to instantiates a generator with all required information.
@@ -82,8 +82,8 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
public GenerateHandlers(URI modelURI, File targetFolder,
List<? extends Object> arguments) throws IOException {
- initialize(modelURI, targetFolder, arguments);
- }
+ initialize(modelURI, targetFolder, arguments);
+ }
/**
* This allows clients to instantiates a generator with all required information.
@@ -103,8 +103,8 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
public GenerateHandlers(EObject model, File targetFolder,
List<? extends Object> arguments) throws IOException {
- initialize(model, targetFolder, arguments);
- }
+ initialize(model, targetFolder, arguments);
+ }
/**
* This can be used to launch the generation from a standalone application.
@@ -114,50 +114,50 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
* @generated
*/
public static void main(String[] args) {
- try {
- if (args.length < 2) {
- System.out.println("Arguments not valid : {model, folder}.");
- } else {
- URI modelURI = URI.createFileURI(args[0]);
- File folder = new File(args[1]);
-
- List<String> arguments = new ArrayList<String>();
-
- /*
- * If you want to change the content of this method, do NOT forget to change the "@generated"
- * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
- * of the Acceleo module with the main template that has caused the creation of this class will
- * revert your modifications.
- */
-
- /*
- * Add in this list all the arguments used by the starting point of the generation
- * If your main template is called on an element of your model and a String, you can
- * add in "arguments" this "String" attribute.
- */
-
- GenerateHandlers generator = new GenerateHandlers(modelURI, folder, arguments);
-
- /*
- * Add the properties from the launch arguments.
- * If you want to programmatically add new properties, add them in "propertiesFiles"
- * You can add the absolute path of a properties files, or even a project relative path.
- * If you want to add another "protocol" for your properties files, please override
- * "getPropertiesLoaderService(AcceleoService)" in order to return a new property loader.
- * The behavior of the properties loader service is explained in the Acceleo documentation
- * (Help -> Help Contents).
- */
-
- for (int i = 2; i < args.length; i++) {
- generator.addPropertiesFile(args[i]);
- }
-
- generator.doGenerate(new BasicMonitor());
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
+ try {
+ if (args.length < 2) {
+ System.out.println("Arguments not valid : {model, folder}.");
+ } else {
+ URI modelURI = URI.createFileURI(args[0]);
+ File folder = new File(args[1]);
+
+ List<String> arguments = new ArrayList<String>();
+
+ /*
+ * If you want to change the content of this method, do NOT forget to change the "@generated"
+ * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+ * of the Acceleo module with the main template that has caused the creation of this class will
+ * revert your modifications.
+ */
+
+ /*
+ * Add in this list all the arguments used by the starting point of the generation
+ * If your main template is called on an element of your model and a String, you can
+ * add in "arguments" this "String" attribute.
+ */
+
+ GenerateHandlers generator = new GenerateHandlers(modelURI, folder, arguments);
+
+ /*
+ * Add the properties from the launch arguments.
+ * If you want to programmatically add new properties, add them in "propertiesFiles"
+ * You can add the absolute path of a properties files, or even a project relative path.
+ * If you want to add another "protocol" for your properties files, please override
+ * "getPropertiesLoaderService(AcceleoService)" in order to return a new property loader.
+ * The behavior of the properties loader service is explained in the Acceleo documentation
+ * (Help -> Help Contents).
+ */
+
+ for (int i = 2; i < args.length; i++) {
+ generator.addPropertiesFile(args[i]);
+ }
+
+ generator.doGenerate(new BasicMonitor());
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
/**
* Launches the generation described by this instance.
@@ -170,32 +170,32 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
@Override
public void doGenerate(Monitor monitor) throws IOException {
- /*
- * TODO if you wish to change the generation as a whole, override this. The default behavior should
- * be sufficient in most cases. If you want to change the content of this method, do NOT forget to
- * change the "@generated" tag in the Javadoc of this method to "@generated NOT". Without this new tag,
- * any compilation of the Acceleo module with the main template that has caused the creation of this
- * class will revert your modifications. If you encounter a problem with an unresolved proxy during the
- * generation, you can remove the comments in the following instructions to check for problems. Please
- * note that those instructions may have a significant impact on the performances.
- */
-
- // org.eclipse.emf.ecore.util.EcoreUtil.resolveAll(model);
-
- /*
- * If you want to check for potential errors in your models before the launch of the generation, you
- * use the code below.
- */
-
- // if (model != null && model.eResource() != null) {
- // List<org.eclipse.emf.ecore.resource.Resource.Diagnostic> errors = model.eResource().getErrors();
- // for (org.eclipse.emf.ecore.resource.Resource.Diagnostic diagnostic : errors) {
- // System.err.println(diagnostic.toString());
- // }
- // }
-
- super.doGenerate(monitor);
- }
+ /*
+ * TODO if you wish to change the generation as a whole, override this. The default behavior should
+ * be sufficient in most cases. If you want to change the content of this method, do NOT forget to
+ * change the "@generated" tag in the Javadoc of this method to "@generated NOT". Without this new tag,
+ * any compilation of the Acceleo module with the main template that has caused the creation of this
+ * class will revert your modifications. If you encounter a problem with an unresolved proxy during the
+ * generation, you can remove the comments in the following instructions to check for problems. Please
+ * note that those instructions may have a significant impact on the performances.
+ */
+
+ //org.eclipse.emf.ecore.util.EcoreUtil.resolveAll(model);
+
+ /*
+ * If you want to check for potential errors in your models before the launch of the generation, you
+ * use the code below.
+ */
+
+ //if (model != null && model.eResource() != null) {
+ // List<org.eclipse.emf.ecore.resource.Resource.Diagnostic> errors = model.eResource().getErrors();
+ // for (org.eclipse.emf.ecore.resource.Resource.Diagnostic diagnostic : errors) {
+ // System.err.println(diagnostic.toString());
+ // }
+ //}
+
+ super.doGenerate(monitor);
+ }
/**
* If this generator needs to listen to text generation events, listeners can be returned from here.
@@ -205,15 +205,15 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
@Override
public List<IAcceleoTextGenerationListener> getGenerationListeners() {
- List<IAcceleoTextGenerationListener> listeners = super.getGenerationListeners();
- /*
- * TODO if you need to listen to generation event, add listeners to the list here. If you want to change
- * the content of this method, do NOT forget to change the "@generated" tag in the Javadoc of this method
- * to "@generated NOT". Without this new tag, any compilation of the Acceleo module with the main template
- * that has caused the creation of this class will revert your modifications.
- */
- return listeners;
- }
+ List<IAcceleoTextGenerationListener> listeners = super.getGenerationListeners();
+ /*
+ * TODO if you need to listen to generation event, add listeners to the list here. If you want to change
+ * the content of this method, do NOT forget to change the "@generated" tag in the Javadoc of this method
+ * to "@generated NOT". Without this new tag, any compilation of the Acceleo module with the main template
+ * that has caused the creation of this class will revert your modifications.
+ */
+ return listeners;
+ }
/**
* If you need to change the way files are generated, this is your entry point.
@@ -234,8 +234,8 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
@Override
public IAcceleoGenerationStrategy getGenerationStrategy() {
- return super.getGenerationStrategy();
- }
+ return super.getGenerationStrategy();
+ }
/**
* This will be called in order to find and load the module that will be launched through this launcher.
@@ -246,8 +246,8 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
@Override
public String getModuleName() {
- return MODULE_FILE_NAME;
- }
+ return MODULE_FILE_NAME;
+ }
/**
* If the module(s) called by this launcher require properties files, return their qualified path from
@@ -260,42 +260,42 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
@Override
public List<String> getProperties() {
- /*
- * If you want to change the content of this method, do NOT forget to change the "@generated"
- * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
- * of the Acceleo module with the main template that has caused the creation of this class will
- * revert your modifications.
- */
-
- /*
- * TODO if your generation module requires access to properties files, add their qualified path to the list here.
- *
- * Properties files can be located in an Eclipse plug-in or in the file system (all Acceleo projects are Eclipse
- * plug-in). In order to use properties files located in an Eclipse plugin, you need to add the path of the properties
- * files to the "propertiesFiles" list:
- *
- * final String prefix = "platform:/plugin/";
- * final String pluginName = "org.eclipse.acceleo.module.sample";
- * final String packagePath = "/org/eclipse/acceleo/module/sample/properties/";
- * final String fileName = "default.properties";
- * propertiesFiles.add(prefix + pluginName + packagePath + fileName);
- *
- * With this mechanism, you can load properties files from your plugin or from another plugin.
- *
- * You may want to load properties files from the file system, for that you need to add the absolute path of the file:
- *
- * propertiesFiles.add("C:\Users\MyName\MyFile.properties");
- *
- * If you want to let your users add properties files located in the same folder as the model:
- *
- * if (EMFPlugin.IS_ECLIPSE_RUNNING && model != null && model.eResource() != null) {
- * propertiesFiles.addAll(AcceleoEngineUtils.getPropertiesFilesNearModel(model.eResource()));
- * }
- *
- * To learn more about Properties Files, have a look at the Acceleo documentation (Help -> Help Contents).
- */
- return propertiesFiles;
- }
+ /*
+ * If you want to change the content of this method, do NOT forget to change the "@generated"
+ * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+ * of the Acceleo module with the main template that has caused the creation of this class will
+ * revert your modifications.
+ */
+
+ /*
+ * TODO if your generation module requires access to properties files, add their qualified path to the list here.
+ *
+ * Properties files can be located in an Eclipse plug-in or in the file system (all Acceleo projects are Eclipse
+ * plug-in). In order to use properties files located in an Eclipse plugin, you need to add the path of the properties
+ * files to the "propertiesFiles" list:
+ *
+ * final String prefix = "platform:/plugin/";
+ * final String pluginName = "org.eclipse.acceleo.module.sample";
+ * final String packagePath = "/org/eclipse/acceleo/module/sample/properties/";
+ * final String fileName = "default.properties";
+ * propertiesFiles.add(prefix + pluginName + packagePath + fileName);
+ *
+ * With this mechanism, you can load properties files from your plugin or from another plugin.
+ *
+ * You may want to load properties files from the file system, for that you need to add the absolute path of the file:
+ *
+ * propertiesFiles.add("C:\Users\MyName\MyFile.properties");
+ *
+ * If you want to let your users add properties files located in the same folder as the model:
+ *
+ * if (EMFPlugin.IS_ECLIPSE_RUNNING && model != null && model.eResource() != null) {
+ * propertiesFiles.addAll(AcceleoEngineUtils.getPropertiesFilesNearModel(model.eResource()));
+ * }
+ *
+ * To learn more about Properties Files, have a look at the Acceleo documentation (Help -> Help Contents).
+ */
+ return propertiesFiles;
+ }
/**
* Adds a properties file in the list of properties files.
@@ -307,8 +307,8 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
@Override
public void addPropertiesFile(String propertiesFile) {
- this.propertiesFiles.add(propertiesFile);
- }
+ this.propertiesFiles.add(propertiesFile);
+ }
/**
* This will be used to get the list of templates that are to be launched by this launcher.
@@ -318,8 +318,8 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
@Override
public String[] getTemplateNames() {
- return TEMPLATE_NAMES;
- }
+ return TEMPLATE_NAMES;
+ }
/**
* This can be used to update the resource set's package registry with all needed EPackages.
@@ -330,43 +330,43 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
@Override
public void registerPackages(ResourceSet resourceSet) {
- super.registerPackages(resourceSet);
- if (!isInWorkspace(org.eclipse.emf.ecore.EcorePackage.class)) {
- resourceSet.getPackageRegistry().put(org.eclipse.emf.ecore.EcorePackage.eINSTANCE.getNsURI(), org.eclipse.emf.ecore.EcorePackage.eINSTANCE);
- }
-
- /*
- * If you want to change the content of this method, do NOT forget to change the "@generated"
- * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
- * of the Acceleo module with the main template that has caused the creation of this class will
- * revert your modifications.
- */
-
- /*
- * If you need additional package registrations, you can register them here. The following line
- * (in comment) is an example of the package registration for UML.
- *
- * You can use the method "isInWorkspace(Class c)" to check if the package that you are about to
- * register is in the workspace.
- *
- * To register a package properly, please follow the following conventions:
- *
- * If the package is located in another plug-in, already installed in Eclipse. The following content should
- * have been generated at the beginning of this method. Do not register the package using this mechanism if
- * the metamodel is located in the workspace.
- *
- * if (!isInWorkspace(UMLPackage.class)) {
- * // The normal package registration if your metamodel is in a plugin.
- * resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
- * }
- *
- * If the package is located in another project in your workspace, the plugin containing the package has not
- * been register by EMF and Acceleo should register it automatically. If you want to use the generator in
- * stand alone, the regular registration (seen a couple lines before) is needed.
- *
- * To learn more about Package Registration, have a look at the Acceleo documentation (Help -> Help Contents).
- */
- }
+ super.registerPackages(resourceSet);
+ if (!isInWorkspace(org.eclipse.emf.ecore.EcorePackage.class)) {
+ resourceSet.getPackageRegistry().put(org.eclipse.emf.ecore.EcorePackage.eINSTANCE.getNsURI(), org.eclipse.emf.ecore.EcorePackage.eINSTANCE);
+ }
+
+ /*
+ * If you want to change the content of this method, do NOT forget to change the "@generated"
+ * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+ * of the Acceleo module with the main template that has caused the creation of this class will
+ * revert your modifications.
+ */
+
+ /*
+ * If you need additional package registrations, you can register them here. The following line
+ * (in comment) is an example of the package registration for UML.
+ *
+ * You can use the method "isInWorkspace(Class c)" to check if the package that you are about to
+ * register is in the workspace.
+ *
+ * To register a package properly, please follow the following conventions:
+ *
+ * If the package is located in another plug-in, already installed in Eclipse. The following content should
+ * have been generated at the beginning of this method. Do not register the package using this mechanism if
+ * the metamodel is located in the workspace.
+ *
+ * if (!isInWorkspace(UMLPackage.class)) {
+ * // The normal package registration if your metamodel is in a plugin.
+ * resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
+ * }
+ *
+ * If the package is located in another project in your workspace, the plugin containing the package has not
+ * been register by EMF and Acceleo should register it automatically. If you want to use the generator in
+ * stand alone, the regular registration (seen a couple lines before) is needed.
+ *
+ * To learn more about Package Registration, have a look at the Acceleo documentation (Help -> Help Contents).
+ */
+ }
/**
* This can be used to update the resource set's resource factory registry with all needed factories.
@@ -377,24 +377,24 @@ public class GenerateHandlers extends AbstractAcceleoGenerator {
*/
@Override
public void registerResourceFactories(ResourceSet resourceSet) {
- super.registerResourceFactories(resourceSet);
- /*
- * If you want to change the content of this method, do NOT forget to change the "@generated"
- * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
- * of the Acceleo module with the main template that has caused the creation of this class will
- * revert your modifications.
- */
-
- /*
- * TODO If you need additional resource factories registrations, you can register them here. the following line
- * (in comment) is an example of the resource factory registration for UML.
- *
- * If you want to use the generator in stand alone, the resource factory registration will be required.
- *
- * To learn more about the registration of Resource Factories, have a look at the Acceleo documentation (Help -> Help Contents).
- */
-
- // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
- }
+ super.registerResourceFactories(resourceSet);
+ /*
+ * If you want to change the content of this method, do NOT forget to change the "@generated"
+ * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+ * of the Acceleo module with the main template that has caused the creation of this class will
+ * revert your modifications.
+ */
+
+ /*
+ * TODO If you need additional resource factories registrations, you can register them here. the following line
+ * (in comment) is an example of the resource factory registration for UML.
+ *
+ * If you want to use the generator in stand alone, the resource factory registration will be required.
+ *
+ * To learn more about the registration of Resource Factories, have a look at the Acceleo documentation (Help -> Help Contents).
+ */
+
+ // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
+ }
}
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/transforsrc/org/eclipse/papyrus/domaincontextcodegen/modules/GenerateTypes.java b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/transforsrc/org/eclipse/papyrus/domaincontextcodegen/modules/GenerateTypes.java
index e7fb1fdbe3a..049ef925698 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/transforsrc/org/eclipse/papyrus/domaincontextcodegen/modules/GenerateTypes.java
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/transforsrc/org/eclipse/papyrus/domaincontextcodegen/modules/GenerateTypes.java
@@ -61,8 +61,8 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
* @generated
*/
public GenerateTypes() {
- // Empty implementation
- }
+ // Empty implementation
+ }
/**
* This allows clients to instantiates a generator with all required information.
@@ -82,8 +82,8 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
public GenerateTypes(URI modelURI, File targetFolder,
List<? extends Object> arguments) throws IOException {
- initialize(modelURI, targetFolder, arguments);
- }
+ initialize(modelURI, targetFolder, arguments);
+ }
/**
* This allows clients to instantiates a generator with all required information.
@@ -103,8 +103,8 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
public GenerateTypes(EObject model, File targetFolder,
List<? extends Object> arguments) throws IOException {
- initialize(model, targetFolder, arguments);
- }
+ initialize(model, targetFolder, arguments);
+ }
/**
* This can be used to launch the generation from a standalone application.
@@ -114,50 +114,50 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
* @generated
*/
public static void main(String[] args) {
- try {
- if (args.length < 2) {
- System.out.println("Arguments not valid : {model, folder}.");
- } else {
- URI modelURI = URI.createFileURI(args[0]);
- File folder = new File(args[1]);
-
- List<String> arguments = new ArrayList<String>();
-
- /*
- * If you want to change the content of this method, do NOT forget to change the "@generated"
- * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
- * of the Acceleo module with the main template that has caused the creation of this class will
- * revert your modifications.
- */
-
- /*
- * Add in this list all the arguments used by the starting point of the generation
- * If your main template is called on an element of your model and a String, you can
- * add in "arguments" this "String" attribute.
- */
-
- GenerateTypes generator = new GenerateTypes(modelURI, folder, arguments);
-
- /*
- * Add the properties from the launch arguments.
- * If you want to programmatically add new properties, add them in "propertiesFiles"
- * You can add the absolute path of a properties files, or even a project relative path.
- * If you want to add another "protocol" for your properties files, please override
- * "getPropertiesLoaderService(AcceleoService)" in order to return a new property loader.
- * The behavior of the properties loader service is explained in the Acceleo documentation
- * (Help -> Help Contents).
- */
-
- for (int i = 2; i < args.length; i++) {
- generator.addPropertiesFile(args[i]);
- }
-
- generator.doGenerate(new BasicMonitor());
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
+ try {
+ if (args.length < 2) {
+ System.out.println("Arguments not valid : {model, folder}.");
+ } else {
+ URI modelURI = URI.createFileURI(args[0]);
+ File folder = new File(args[1]);
+
+ List<String> arguments = new ArrayList<String>();
+
+ /*
+ * If you want to change the content of this method, do NOT forget to change the "@generated"
+ * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+ * of the Acceleo module with the main template that has caused the creation of this class will
+ * revert your modifications.
+ */
+
+ /*
+ * Add in this list all the arguments used by the starting point of the generation
+ * If your main template is called on an element of your model and a String, you can
+ * add in "arguments" this "String" attribute.
+ */
+
+ GenerateTypes generator = new GenerateTypes(modelURI, folder, arguments);
+
+ /*
+ * Add the properties from the launch arguments.
+ * If you want to programmatically add new properties, add them in "propertiesFiles"
+ * You can add the absolute path of a properties files, or even a project relative path.
+ * If you want to add another "protocol" for your properties files, please override
+ * "getPropertiesLoaderService(AcceleoService)" in order to return a new property loader.
+ * The behavior of the properties loader service is explained in the Acceleo documentation
+ * (Help -> Help Contents).
+ */
+
+ for (int i = 2; i < args.length; i++) {
+ generator.addPropertiesFile(args[i]);
+ }
+
+ generator.doGenerate(new BasicMonitor());
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
/**
* Launches the generation described by this instance.
@@ -170,32 +170,32 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
@Override
public void doGenerate(Monitor monitor) throws IOException {
- /*
- * TODO if you wish to change the generation as a whole, override this. The default behavior should
- * be sufficient in most cases. If you want to change the content of this method, do NOT forget to
- * change the "@generated" tag in the Javadoc of this method to "@generated NOT". Without this new tag,
- * any compilation of the Acceleo module with the main template that has caused the creation of this
- * class will revert your modifications. If you encounter a problem with an unresolved proxy during the
- * generation, you can remove the comments in the following instructions to check for problems. Please
- * note that those instructions may have a significant impact on the performances.
- */
-
- // org.eclipse.emf.ecore.util.EcoreUtil.resolveAll(model);
-
- /*
- * If you want to check for potential errors in your models before the launch of the generation, you
- * use the code below.
- */
-
- // if (model != null && model.eResource() != null) {
- // List<org.eclipse.emf.ecore.resource.Resource.Diagnostic> errors = model.eResource().getErrors();
- // for (org.eclipse.emf.ecore.resource.Resource.Diagnostic diagnostic : errors) {
- // System.err.println(diagnostic.toString());
- // }
- // }
-
- super.doGenerate(monitor);
- }
+ /*
+ * TODO if you wish to change the generation as a whole, override this. The default behavior should
+ * be sufficient in most cases. If you want to change the content of this method, do NOT forget to
+ * change the "@generated" tag in the Javadoc of this method to "@generated NOT". Without this new tag,
+ * any compilation of the Acceleo module with the main template that has caused the creation of this
+ * class will revert your modifications. If you encounter a problem with an unresolved proxy during the
+ * generation, you can remove the comments in the following instructions to check for problems. Please
+ * note that those instructions may have a significant impact on the performances.
+ */
+
+ //org.eclipse.emf.ecore.util.EcoreUtil.resolveAll(model);
+
+ /*
+ * If you want to check for potential errors in your models before the launch of the generation, you
+ * use the code below.
+ */
+
+ //if (model != null && model.eResource() != null) {
+ // List<org.eclipse.emf.ecore.resource.Resource.Diagnostic> errors = model.eResource().getErrors();
+ // for (org.eclipse.emf.ecore.resource.Resource.Diagnostic diagnostic : errors) {
+ // System.err.println(diagnostic.toString());
+ // }
+ //}
+
+ super.doGenerate(monitor);
+ }
/**
* If this generator needs to listen to text generation events, listeners can be returned from here.
@@ -205,15 +205,15 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
@Override
public List<IAcceleoTextGenerationListener> getGenerationListeners() {
- List<IAcceleoTextGenerationListener> listeners = super.getGenerationListeners();
- /*
- * TODO if you need to listen to generation event, add listeners to the list here. If you want to change
- * the content of this method, do NOT forget to change the "@generated" tag in the Javadoc of this method
- * to "@generated NOT". Without this new tag, any compilation of the Acceleo module with the main template
- * that has caused the creation of this class will revert your modifications.
- */
- return listeners;
- }
+ List<IAcceleoTextGenerationListener> listeners = super.getGenerationListeners();
+ /*
+ * TODO if you need to listen to generation event, add listeners to the list here. If you want to change
+ * the content of this method, do NOT forget to change the "@generated" tag in the Javadoc of this method
+ * to "@generated NOT". Without this new tag, any compilation of the Acceleo module with the main template
+ * that has caused the creation of this class will revert your modifications.
+ */
+ return listeners;
+ }
/**
* If you need to change the way files are generated, this is your entry point.
@@ -234,8 +234,8 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
@Override
public IAcceleoGenerationStrategy getGenerationStrategy() {
- return super.getGenerationStrategy();
- }
+ return super.getGenerationStrategy();
+ }
/**
* This will be called in order to find and load the module that will be launched through this launcher.
@@ -246,8 +246,8 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
@Override
public String getModuleName() {
- return MODULE_FILE_NAME;
- }
+ return MODULE_FILE_NAME;
+ }
/**
* If the module(s) called by this launcher require properties files, return their qualified path from
@@ -260,42 +260,42 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
@Override
public List<String> getProperties() {
- /*
- * If you want to change the content of this method, do NOT forget to change the "@generated"
- * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
- * of the Acceleo module with the main template that has caused the creation of this class will
- * revert your modifications.
- */
-
- /*
- * TODO if your generation module requires access to properties files, add their qualified path to the list here.
- *
- * Properties files can be located in an Eclipse plug-in or in the file system (all Acceleo projects are Eclipse
- * plug-in). In order to use properties files located in an Eclipse plugin, you need to add the path of the properties
- * files to the "propertiesFiles" list:
- *
- * final String prefix = "platform:/plugin/";
- * final String pluginName = "org.eclipse.acceleo.module.sample";
- * final String packagePath = "/org/eclipse/acceleo/module/sample/properties/";
- * final String fileName = "default.properties";
- * propertiesFiles.add(prefix + pluginName + packagePath + fileName);
- *
- * With this mechanism, you can load properties files from your plugin or from another plugin.
- *
- * You may want to load properties files from the file system, for that you need to add the absolute path of the file:
- *
- * propertiesFiles.add("C:\Users\MyName\MyFile.properties");
- *
- * If you want to let your users add properties files located in the same folder as the model:
- *
- * if (EMFPlugin.IS_ECLIPSE_RUNNING && model != null && model.eResource() != null) {
- * propertiesFiles.addAll(AcceleoEngineUtils.getPropertiesFilesNearModel(model.eResource()));
- * }
- *
- * To learn more about Properties Files, have a look at the Acceleo documentation (Help -> Help Contents).
- */
- return propertiesFiles;
- }
+ /*
+ * If you want to change the content of this method, do NOT forget to change the "@generated"
+ * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+ * of the Acceleo module with the main template that has caused the creation of this class will
+ * revert your modifications.
+ */
+
+ /*
+ * TODO if your generation module requires access to properties files, add their qualified path to the list here.
+ *
+ * Properties files can be located in an Eclipse plug-in or in the file system (all Acceleo projects are Eclipse
+ * plug-in). In order to use properties files located in an Eclipse plugin, you need to add the path of the properties
+ * files to the "propertiesFiles" list:
+ *
+ * final String prefix = "platform:/plugin/";
+ * final String pluginName = "org.eclipse.acceleo.module.sample";
+ * final String packagePath = "/org/eclipse/acceleo/module/sample/properties/";
+ * final String fileName = "default.properties";
+ * propertiesFiles.add(prefix + pluginName + packagePath + fileName);
+ *
+ * With this mechanism, you can load properties files from your plugin or from another plugin.
+ *
+ * You may want to load properties files from the file system, for that you need to add the absolute path of the file:
+ *
+ * propertiesFiles.add("C:\Users\MyName\MyFile.properties");
+ *
+ * If you want to let your users add properties files located in the same folder as the model:
+ *
+ * if (EMFPlugin.IS_ECLIPSE_RUNNING && model != null && model.eResource() != null) {
+ * propertiesFiles.addAll(AcceleoEngineUtils.getPropertiesFilesNearModel(model.eResource()));
+ * }
+ *
+ * To learn more about Properties Files, have a look at the Acceleo documentation (Help -> Help Contents).
+ */
+ return propertiesFiles;
+ }
/**
* Adds a properties file in the list of properties files.
@@ -307,8 +307,8 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
@Override
public void addPropertiesFile(String propertiesFile) {
- this.propertiesFiles.add(propertiesFile);
- }
+ this.propertiesFiles.add(propertiesFile);
+ }
/**
* This will be used to get the list of templates that are to be launched by this launcher.
@@ -318,8 +318,8 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
@Override
public String[] getTemplateNames() {
- return TEMPLATE_NAMES;
- }
+ return TEMPLATE_NAMES;
+ }
/**
* This can be used to update the resource set's package registry with all needed EPackages.
@@ -330,43 +330,43 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
@Override
public void registerPackages(ResourceSet resourceSet) {
- super.registerPackages(resourceSet);
- if (!isInWorkspace(org.eclipse.emf.ecore.EcorePackage.class)) {
- resourceSet.getPackageRegistry().put(org.eclipse.emf.ecore.EcorePackage.eINSTANCE.getNsURI(), org.eclipse.emf.ecore.EcorePackage.eINSTANCE);
- }
-
- /*
- * If you want to change the content of this method, do NOT forget to change the "@generated"
- * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
- * of the Acceleo module with the main template that has caused the creation of this class will
- * revert your modifications.
- */
-
- /*
- * If you need additional package registrations, you can register them here. The following line
- * (in comment) is an example of the package registration for UML.
- *
- * You can use the method "isInWorkspace(Class c)" to check if the package that you are about to
- * register is in the workspace.
- *
- * To register a package properly, please follow the following conventions:
- *
- * If the package is located in another plug-in, already installed in Eclipse. The following content should
- * have been generated at the beginning of this method. Do not register the package using this mechanism if
- * the metamodel is located in the workspace.
- *
- * if (!isInWorkspace(UMLPackage.class)) {
- * // The normal package registration if your metamodel is in a plugin.
- * resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
- * }
- *
- * If the package is located in another project in your workspace, the plugin containing the package has not
- * been register by EMF and Acceleo should register it automatically. If you want to use the generator in
- * stand alone, the regular registration (seen a couple lines before) is needed.
- *
- * To learn more about Package Registration, have a look at the Acceleo documentation (Help -> Help Contents).
- */
- }
+ super.registerPackages(resourceSet);
+ if (!isInWorkspace(org.eclipse.emf.ecore.EcorePackage.class)) {
+ resourceSet.getPackageRegistry().put(org.eclipse.emf.ecore.EcorePackage.eINSTANCE.getNsURI(), org.eclipse.emf.ecore.EcorePackage.eINSTANCE);
+ }
+
+ /*
+ * If you want to change the content of this method, do NOT forget to change the "@generated"
+ * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+ * of the Acceleo module with the main template that has caused the creation of this class will
+ * revert your modifications.
+ */
+
+ /*
+ * If you need additional package registrations, you can register them here. The following line
+ * (in comment) is an example of the package registration for UML.
+ *
+ * You can use the method "isInWorkspace(Class c)" to check if the package that you are about to
+ * register is in the workspace.
+ *
+ * To register a package properly, please follow the following conventions:
+ *
+ * If the package is located in another plug-in, already installed in Eclipse. The following content should
+ * have been generated at the beginning of this method. Do not register the package using this mechanism if
+ * the metamodel is located in the workspace.
+ *
+ * if (!isInWorkspace(UMLPackage.class)) {
+ * // The normal package registration if your metamodel is in a plugin.
+ * resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE);
+ * }
+ *
+ * If the package is located in another project in your workspace, the plugin containing the package has not
+ * been register by EMF and Acceleo should register it automatically. If you want to use the generator in
+ * stand alone, the regular registration (seen a couple lines before) is needed.
+ *
+ * To learn more about Package Registration, have a look at the Acceleo documentation (Help -> Help Contents).
+ */
+ }
/**
* This can be used to update the resource set's resource factory registry with all needed factories.
@@ -377,24 +377,24 @@ public class GenerateTypes extends AbstractAcceleoGenerator {
*/
@Override
public void registerResourceFactories(ResourceSet resourceSet) {
- super.registerResourceFactories(resourceSet);
- /*
- * If you want to change the content of this method, do NOT forget to change the "@generated"
- * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
- * of the Acceleo module with the main template that has caused the creation of this class will
- * revert your modifications.
- */
-
- /*
- * TODO If you need additional resource factories registrations, you can register them here. the following line
- * (in comment) is an example of the resource factory registration for UML.
- *
- * If you want to use the generator in stand alone, the resource factory registration will be required.
- *
- * To learn more about the registration of Resource Factories, have a look at the Acceleo documentation (Help -> Help Contents).
- */
-
- // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
- }
+ super.registerResourceFactories(resourceSet);
+ /*
+ * If you want to change the content of this method, do NOT forget to change the "@generated"
+ * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation
+ * of the Acceleo module with the main template that has caused the creation of this class will
+ * revert your modifications.
+ */
+
+ /*
+ * TODO If you need additional resource factories registrations, you can register them here. the following line
+ * (in comment) is an example of the resource factory registration for UML.
+ *
+ * If you want to use the generator in stand alone, the resource factory registration will be required.
+ *
+ * To learn more about the registration of Resource Factories, have a look at the Acceleo documentation (Help -> Help Contents).
+ */
+
+ // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
+ }
}
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/.classpath b/plugins/developer/org.eclipse.papyrus.mwe2.utils/.classpath
index 8a8f1668cdc..7f2da634a03 100644
--- a/plugins/developer/org.eclipse.papyrus.mwe2.utils/.classpath
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/.classpath
@@ -1,7 +1,9 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="con" path="org.eclipse.xtend.XTEND_CONTAINER"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/.project b/plugins/developer/org.eclipse.papyrus.mwe2.utils/.project
index 020a0c5a318..35da3c39db8 100644
--- a/plugins/developer/org.eclipse.papyrus.mwe2.utils/.project
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/.project
@@ -1,34 +1,40 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.mwe2.utils</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>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.mwe2.utils</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <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>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.mwe2.utils/META-INF/MANIFEST.MF
index a80b7bb0837..a94a7151e0f 100644
--- a/plugins/developer/org.eclipse.papyrus.mwe2.utils/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/META-INF/MANIFEST.MF
@@ -1,18 +1,21 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.mwe.core,
- org.eclipse.uml2.uml,
- org.apache.commons.logging,
- org.eclipse.m2m.qvt.oml
-Export-Package: org.eclipse.papyrus.mwe2.utils,
- org.eclipse.papyrus.mwe2.utils.components,
- org.eclipse.papyrus.mwe2.utils.messages
-Bundle-Vendor: %Bundle-Vendor
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.1.0.qualifier
-Bundle-Name: %Bundle-Name
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.mwe2.utils.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.mwe2.utils
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.mwe.core,
+ org.eclipse.uml2.uml,
+ org.apache.commons.logging,
+ org.eclipse.m2m.qvt.oml,
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.xtext.xbase.lib;bundle-version="2.8.3",
+ org.eclipse.emf.mwe.utils;bundle-version="1.3.10"
+Export-Package: org.eclipse.papyrus.mwe2.utils,
+ org.eclipse.papyrus.mwe2.utils.components,
+ org.eclipse.papyrus.mwe2.utils.messages
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.1.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.mwe2.utils.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.mwe2.utils
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/Activator.java b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/Activator.java
index 6135e2108e8..883f16d6bb1 100644
--- a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/Activator.java
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/Activator.java
@@ -6,7 +6,8 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Juan Cadavid <juan.cadavid@cea.fr> implementation
+ * Juan Cadavid <juan.cadavid@cea.fr> - Initial API and implementation
+ *
******************************************************************************/
package org.eclipse.papyrus.mwe2.utils;
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/XtendWorkflow.java b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/XtendWorkflow.java
new file mode 100644
index 00000000000..ed376e5fbcf
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/XtendWorkflow.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * 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:
+ * CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 464647
+ *
+ ******************************************************************************/
+package org.eclipse.papyrus.mwe2.utils;
+
+import java.util.List;
+
+import org.eclipse.emf.mwe2.runtime.workflow.IWorkflowComponent;
+import org.eclipse.emf.mwe2.runtime.workflow.Workflow;
+
+import com.google.common.collect.Lists;
+
+/**
+ * A workflow for Xtend transformations. Primarily, it provides Xtend-compatible access to
+ * the collections manipulated by the inherited {@link Workflow#addBean(Object)} and
+ * {@link Workflow#addComponent(IWorkflowComponent)} APIs.
+ */
+public class XtendWorkflow extends Workflow {
+
+ protected List<Object> getBeans() {
+ return Lists.newArrayList();
+ }
+
+ protected List<IWorkflowComponent> getComponents() {
+ return getChildren();
+ }
+
+} \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/MultiReader.java b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/MultiReader.java
new file mode 100644
index 00000000000..5f16d9dead2
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/MultiReader.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.mwe2.utils.components;
+
+import java.util.Collection;
+
+import org.eclipse.emf.mwe.core.WorkflowContext;
+import org.eclipse.emf.mwe.core.issues.Issues;
+import org.eclipse.emf.mwe.core.monitor.ProgressMonitor;
+import org.eclipse.emf.mwe.utils.Reader;
+
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+/**
+ * A {@link Reader} component that accumulates multiple models into a collection in the
+ * model slot.
+ */
+public class MultiReader extends Reader {
+
+ public MultiReader() {
+ super();
+ }
+
+ @Override
+ public void invokeInternal(WorkflowContext ctx, ProgressMonitor monitor, Issues issues) {
+ final String slot = getModelSlot();
+
+ Object currentModelSlotContents = ctx.get(slot);
+
+ super.invokeInternal(ctx, monitor, issues);
+
+ Object newModelSlotContents = ctx.get(slot);
+
+ Object contents;
+ if (newModelSlotContents == null) {
+ contents = currentModelSlotContents;
+ } else if (currentModelSlotContents == null) {
+ contents = newModelSlotContents;
+ } else if (currentModelSlotContents instanceof Iterable<?>) {
+ Collection<Object> collection = Lists.newArrayList((Iterable<?>) currentModelSlotContents);
+ if (newModelSlotContents instanceof Iterable<?>) {
+ Iterables.addAll(collection, (Iterable<?>) newModelSlotContents);
+ } else if (newModelSlotContents != null) {
+ collection.add(newModelSlotContents);
+ }
+ contents = collection;
+ } else if (newModelSlotContents instanceof Iterable<?>) {
+ Collection<Object> collection = Lists.newArrayList();
+ collection.add(currentModelSlotContents);
+ Iterables.addAll(collection, (Iterable<?>) newModelSlotContents);
+ contents = collection;
+ } else {
+ Collection<Object> collection = Lists.newArrayListWithExpectedSize(2);
+ collection.add(currentModelSlotContents);
+ collection.add(newModelSlotContents);
+ contents = collection;
+ }
+
+ ctx.set(slot, contents);
+ }
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/QvtoTransformationWorkflowComponent.java b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/QvtoTransformationWorkflow.java
index a394fc8cc04..a7b329fea48 100644
--- a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/QvtoTransformationWorkflowComponent.java
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/QvtoTransformationWorkflow.java
@@ -1,146 +1,144 @@
-/*******************************************************************************
- * Copyright (c) 2014 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Juan Cadavid <juan.cadavid@cea.fr> implementation
- ******************************************************************************/
-package org.eclipse.papyrus.mwe2.utils.components;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.mwe.core.WorkflowContext;
-import org.eclipse.emf.mwe.core.issues.Issues;
-import org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent;
-import org.eclipse.emf.mwe.core.monitor.ProgressMonitor;
-import org.eclipse.m2m.qvt.oml.BasicModelExtent;
-import org.eclipse.m2m.qvt.oml.ExecutionContextImpl;
-import org.eclipse.m2m.qvt.oml.ExecutionDiagnostic;
-import org.eclipse.m2m.qvt.oml.ModelExtent;
-import org.eclipse.m2m.qvt.oml.TransformationExecutor;
-import org.eclipse.papyrus.mwe2.utils.messages.Messages;
-
-/**
- * MWE Component to execute QVTO transformations. An example of use is:
- * <blockquote>
- * component = org.eclipse.papyrus.mwe.utils.components.QvtoTransformationWorkflowComponent {
- * inputSlots = 'inputGmfgen'
- * inputSlots = 'gmfgenUmlMetamodel'
- * transformationURI = 'platform:/resource/org.eclipse.papyrus.tests.framework/qvto/gmfgen2uml.qvto'
- * outputSlot = 'inputGmfgenUml'
- * }
- * </blockquote>
- * where the multi-valued input slots are the input parameters for the transformation;
- * there should be as many as there are declared in the qvto file;
- * transformationURI is the location of the .qvto file and outputSlot the slot where
- * the list of resulting eObjects of the transformation will be placed.
- *
- */
-public class QvtoTransformationWorkflowComponent extends
- AbstractWorkflowComponent {
-
- private String transformationURI;
- private String outputSlot;
- private ArrayList<String> inputSlots = new ArrayList<String>();
- private Log log = LogFactory.getLog(getClass());
-
- public String getTransformationURI() {
- return transformationURI;
- }
-
- public void setTransformationURI(String transformationURI) {
- this.transformationURI = transformationURI;
- }
-
- public String getOutputSlot() {
- return outputSlot;
- }
-
- public void setOutputSlot(String outputSlot) {
- this.outputSlot = outputSlot;
- }
-
- public boolean addInputSlots(String c) {
- return inputSlots.add(c);
- }
-
- public ExecutionDiagnostic generate(List<? extends EObject> inObjects,
- URI transformationURI, WorkflowContext ctx, Issues issues)
- throws IOException {
- // resolveProxies(inObjects);
- TransformationExecutor executor = new TransformationExecutor(
- transformationURI);
- Diagnostic loadTransformationDiagnostic = executor.loadTransformation();
- if (!loadTransformationDiagnostic.getMessage().equals("OK")) { //$NON-NLS-1$
- log.error(Messages.QvtoTransformationWorkflowComponent_1
- + loadTransformationDiagnostic);
- return null;
- }
- ExecutionContextImpl context = new ExecutionContextImpl();
- ArrayList<ModelExtent> input = new ArrayList<ModelExtent>();
- for (EObject eObject : inObjects) {
- BasicModelExtent basicModelExtent = new BasicModelExtent();
- basicModelExtent.add(eObject);
- input.add(basicModelExtent);
- }
- issues.addInfo(new File("..").getAbsolutePath()); //$NON-NLS-1$
- ModelExtent output = new BasicModelExtent();
- input.add(output);
- ModelExtent[] modelParameters = input.toArray(new ModelExtent[] {});
- context = new ExecutionContextImpl();
- context.setConfigProperty("keepModeling", true); //$NON-NLS-1$
- ExecutionDiagnostic result = executor.execute(context, modelParameters);
- if (result.getSeverity() == Diagnostic.OK) {
- List<EObject> outObjects = output.getContents();
- ctx.set(getOutputSlot(), outObjects);
- log.info(Messages.QvtoTransformationWorkflowComponent_4 + getTransformationURI());
- } else {
- issues.addError(result.toString());
- }
- return result;
- }
-
- @Override
- protected void invokeInternal(WorkflowContext ctx, ProgressMonitor monitor,
- Issues issues) {
- List<EObject> inObjects = new ArrayList<EObject>();
- for (String inputSlot : inputSlots) {
-
- Object inputObject = ctx.get(inputSlot);
- if (inputObject instanceof EObject) {
- inObjects.add((EObject) inputObject);
- } else if (inputObject instanceof List<?>) {
- List<EObject> list = (List<EObject>) inputObject;
- inObjects.add(list.get(0));
- }
- }
- try {
- generate(inObjects, URI.createURI(transformationURI),
- ctx, issues);
- } catch (IOException e) {
- log.error(e.getLocalizedMessage());
- }
-
- }
-
- @Override
- public void checkConfiguration(Issues issues) {
- if (inputSlots.isEmpty()) {
- issues.addError(Messages.QvtoTransformationWorkflowComponent_5);
- }
- }
-
-
-
-}
+/*******************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Juan Cadavid <juan.cadavid@cea.fr> implementation
+ ******************************************************************************/
+package org.eclipse.papyrus.mwe2.utils.components;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.mwe.core.WorkflowContext;
+import org.eclipse.emf.mwe.core.issues.Issues;
+import org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent;
+import org.eclipse.emf.mwe.core.monitor.ProgressMonitor;
+import org.eclipse.m2m.qvt.oml.BasicModelExtent;
+import org.eclipse.m2m.qvt.oml.ExecutionContextImpl;
+import org.eclipse.m2m.qvt.oml.ExecutionDiagnostic;
+import org.eclipse.m2m.qvt.oml.ModelExtent;
+import org.eclipse.m2m.qvt.oml.TransformationExecutor;
+import org.eclipse.papyrus.mwe2.utils.messages.Messages;
+
+/**
+ * MWE Component to execute QVTO transformations. An example of use is:
+ * <blockquote>
+ * component = org.eclipse.papyrus.mwe.utils.components.QvtoTransformationWorkflowComponent {
+ * inputSlots = 'inputGmfgen'
+ * inputSlots = 'gmfgenUmlMetamodel'
+ * transformationURI = 'platform:/resource/org.eclipse.papyrus.tests.framework/qvto/gmfgen2uml.qvto'
+ * outputSlot = 'inputGmfgenUml'
+ * }
+ * </blockquote>
+ * where the multi-valued input slots are the input parameters for the transformation;
+ * there should be as many as there are declared in the qvto file;
+ * transformationURI is the location of the .qvto file and outputSlot the slot where
+ * the list of resulting eObjects of the transformation will be placed.
+ *
+ */
+public class QvtoTransformationWorkflow extends AbstractWorkflowComponent {
+
+ private String transformationURI;
+
+ private String outputSlot;
+
+ private ArrayList<String> inputSlots = new ArrayList<String>();
+
+ private Log log = LogFactory.getLog(getClass());
+
+ public String getTransformationURI() {
+ return transformationURI;
+ }
+
+ public void setTransformationURI(String transformationURI) {
+ this.transformationURI = transformationURI;
+ }
+
+ public String getOutputSlot() {
+ return outputSlot;
+ }
+
+ public void setOutputSlot(String outputSlot) {
+ this.outputSlot = outputSlot;
+ }
+
+ public boolean addInputSlots(String c) {
+ return inputSlots.add(c);
+ }
+
+ public ExecutionDiagnostic generate(List<? extends EObject> inObjects, URI transformationURI, WorkflowContext ctx, Issues issues) throws IOException {
+ // resolveProxies(inObjects);
+ log.info("Executing QVTO transformation " + getTransformationURI());
+
+ TransformationExecutor executor = new TransformationExecutor(transformationURI);
+ Diagnostic loadTransformationDiagnostic = executor.loadTransformation();
+ if(!loadTransformationDiagnostic.getMessage().equals("OK")) { //$NON-NLS-1$
+ log.error(Messages.QvtoTransformationWorkflowComponent_1 + loadTransformationDiagnostic);
+ return null;
+ }
+ ExecutionContextImpl context = new ExecutionContextImpl();
+ ArrayList<ModelExtent> input = new ArrayList<ModelExtent>();
+ for(EObject eObject : inObjects) {
+ BasicModelExtent basicModelExtent = new BasicModelExtent();
+ basicModelExtent.add(eObject);
+ input.add(basicModelExtent);
+ }
+ issues.addInfo(new File("..").getAbsolutePath()); //$NON-NLS-1$
+ ModelExtent output = new BasicModelExtent();
+ input.add(output);
+ ModelExtent[] modelParameters = input.toArray(new ModelExtent[]{});
+ context = new ExecutionContextImpl();
+ context.setConfigProperty("keepModeling", true); //$NON-NLS-1$
+ ExecutionDiagnostic result = executor.execute(context, modelParameters);
+ if(result.getSeverity() == Diagnostic.OK) {
+ List<EObject> outObjects = output.getContents();
+ ctx.set(getOutputSlot(), outObjects);
+ log.info(Messages.QvtoTransformationWorkflowComponent_4 + getTransformationURI());
+ } else {
+ issues.addError(result.toString());
+ }
+ return result;
+ }
+
+ @Override
+ protected void invokeInternal(WorkflowContext ctx, ProgressMonitor monitor, Issues issues) {
+ List<EObject> inObjects = new ArrayList<EObject>();
+ for(String inputSlot : inputSlots) {
+
+ Object inputObject = ctx.get(inputSlot);
+ if(inputObject instanceof EObject) {
+ inObjects.add((EObject)inputObject);
+ } else if(inputObject instanceof List<?>) {
+ List<EObject> list = (List<EObject>)inputObject;
+ inObjects.add(list.get(0));
+ }
+ }
+ try {
+ generate(inObjects, URI.createURI(transformationURI), ctx, issues);
+ } catch (IOException e) {
+ log.error(e.getLocalizedMessage());
+ }
+
+ }
+
+ @Override
+ public void checkConfiguration(Issues issues) {
+ if(inputSlots.isEmpty()) {
+ issues.addError(Messages.QvtoTransformationWorkflowComponent_5);
+ }
+ }
+
+
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/RegisterUmlProfileComponent.java b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/RegisterUmlProfile.java
index 190004fdcab..fd12dfb411b 100644
--- a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/RegisterUmlProfileComponent.java
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/RegisterUmlProfile.java
@@ -1,74 +1,123 @@
-/*******************************************************************************
- * Copyright (c) 2014 CEA LIST.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Juan Cadavid <juan.cadavid@cea.fr> implementation
- ******************************************************************************/
-package org.eclipse.papyrus.mwe2.utils.components;
-
-
-import org.apache.commons.logging.LogFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.mwe.core.WorkflowContext;
-import org.eclipse.emf.mwe.core.issues.Issues;
-import org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent;
-import org.eclipse.emf.mwe.core.monitor.ProgressMonitor;
-import org.eclipse.papyrus.mwe2.utils.messages.Messages;
-import org.eclipse.uml2.uml.Profile;
-
-/**
- * This MWE component registers the EPackage definition of a UML profile in the global EPackage registry.
- * An example of its usage is:
- * <blockquote>
- * component = org.eclipse.papyrus.mwe.utils.components.RegisterUmlProfile {
- * profileSlot = 'ecoreprofile'
- * }
- * </blockquote>
- * where profileSlot is a slot that contains the uml Profile object to register.
- */
-public class RegisterUmlProfileComponent extends AbstractWorkflowComponent {
- private org.apache.commons.logging.Log log = LogFactory.getLog(getClass());
-
-
- private String profileSlot;
-
- public String getProfileSlot() {
- return profileSlot;
- }
-
- public void setProfileSlot(String profileSlot) {
- this.profileSlot = profileSlot;
- }
-
- @Override
- public void checkConfiguration(Issues issues) {
- if (profileSlot == null || profileSlot.equals("")) { //$NON-NLS-1$
- issues.addError(Messages.RegisterUmlProfile_1);
- }
- }
-
- @Override
- protected void invokeInternal(WorkflowContext ctx, ProgressMonitor monitor,
- Issues issues) {
- EObject eObject = (EObject) ctx.get(profileSlot);
- if (!(eObject instanceof Profile)) {
- log.error(Messages.RegisterUmlProfile_2);
- return;
- }
- Profile profile = (Profile) eObject;
- EPackage definition = profile.getDefinition();
- if (definition == null) {
- log.error(Messages.RegisterUmlProfile_3);
- return;
- }
- EPackage.Registry.INSTANCE.put(definition.getNsURI(), definition);
- }
-
-
-
-}
+/*******************************************************************************
+ * Copyright (c) 2014 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Juan Cadavid <juan.cadavid@cea.fr> implementation
+ ******************************************************************************/
+package org.eclipse.papyrus.mwe2.utils.components;
+
+
+import java.lang.reflect.Field;
+
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.mwe.core.WorkflowContext;
+import org.eclipse.emf.mwe.core.issues.Issues;
+import org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent;
+import org.eclipse.emf.mwe.core.monitor.ProgressMonitor;
+import org.eclipse.emf.mwe.core.resources.ResourceLoaderFactory;
+import org.eclipse.papyrus.mwe2.utils.messages.Messages;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.UMLPlugin;
+
+import com.google.common.base.Strings;
+
+/**
+ * This MWE component registers the EPackage definition of a UML profile in the global EPackage registry.
+ * An example of its usage is:
+ *
+ * <pre>
+ * component = org.eclipse.papyrus.mwe.utils.components.RegisterUmlProfile {
+ * profileSlot = 'ecoreprofile'
+ * }
+ * </pre>
+ *
+ * where profileSlot is a slot that contains the uml Profile object to register.
+ * Or, for a statically generated profile:
+ *
+ * <pre>
+ * component = org.eclipse.papyrus.mwe.utils.components.RegisterUmlProfile {
+ * profileSlot = 'utp'
+ * generatedPackageInterfaceName = 'org.eclipse.upr.utp.UTPPackage'
+ * }
+ * </pre>
+ *
+ * where profileSlot is a slot that contains the uml Profile object to register.
+ */
+public class RegisterUmlProfile extends AbstractWorkflowComponent {
+ private org.apache.commons.logging.Log log = LogFactory.getLog(getClass());
+
+
+ private String profileSlot;
+
+ private String generatedPackageInterfaceName;
+
+ public String getProfileSlot() {
+ return profileSlot;
+ }
+
+ public void setProfileSlot(String profileSlot) {
+ this.profileSlot = profileSlot;
+ }
+
+ public String getGeneratedPackageInterfaceName() {
+ return generatedPackageInterfaceName;
+ }
+
+ public void setGeneratedPackageInterfaceName(String generatedPackageInterfaceName) {
+ this.generatedPackageInterfaceName = generatedPackageInterfaceName;
+ }
+
+ @Override
+ public void checkConfiguration(Issues issues) {
+ if (profileSlot == null || profileSlot.equals("")) { //$NON-NLS-1$
+ issues.addError(Messages.RegisterUmlProfile_1);
+ }
+ }
+
+ @Override
+ protected void invokeInternal(WorkflowContext ctx, ProgressMonitor monitor,
+ Issues issues) {
+ EObject eObject = (EObject) ctx.get(profileSlot);
+ if (!(eObject instanceof Profile)) {
+ log.error(Messages.RegisterUmlProfile_2);
+ return;
+ }
+
+ Profile profile = (Profile) eObject;
+
+ if (!Strings.isNullOrEmpty(getGeneratedPackageInterfaceName())) {
+ // It's a statically generated Profile
+ try {
+ Class<?> clazz = ResourceLoaderFactory.createResourceLoader().loadClass(getGeneratedPackageInterfaceName());
+ if (clazz == null) {
+ throw new ClassNotFoundException(getGeneratedPackageInterfaceName());
+ }
+
+ Class<? extends EPackage> packageInterface = clazz.asSubclass(EPackage.class);
+ Field eNS_URI = packageInterface.getDeclaredField("eNS_URI"); //$NON-NLS-1$
+ String nsURI = (String) eNS_URI.get(null);
+ UMLPlugin.getEPackageNsURIToProfileLocationMap().put(nsURI, EcoreUtil.getURI(profile));
+ } catch (Exception e) {
+ log.error(String.format("Failed to register generated profile %s", getGeneratedPackageInterfaceName()), e);
+ }
+ } else {
+ // It's a dynamically defined profile
+ EPackage definition = profile.getDefinition();
+ if (definition == null) {
+ log.error(Messages.RegisterUmlProfile_3);
+ return;
+ }
+ EPackage.Registry.INSTANCE.put(definition.getNsURI(), definition);
+ }
+ }
+
+
+
+}
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/UMLWriter.java b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/UMLWriter.java
new file mode 100644
index 00000000000..3e61bc2a902
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/components/UMLWriter.java
@@ -0,0 +1,274 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2009 committers of openArchitectureWare 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:
+ * committers of openArchitectureWare - initial API and implementation
+ * Christian W. Damus - adapt for UML resources
+ *******************************************************************************/
+
+package org.eclipse.papyrus.mwe2.utils.components;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.URIHandlerImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.emf.mwe.core.WorkflowContext;
+import org.eclipse.emf.mwe.core.WorkflowInterruptedException;
+import org.eclipse.emf.mwe.core.issues.Issues;
+import org.eclipse.emf.mwe.core.monitor.ProgressMonitor;
+import org.eclipse.emf.mwe.utils.AbstractEMFWorkflowComponent;
+import org.eclipse.emf.mwe.utils.Writer;
+import org.eclipse.uml2.common.util.UML2Util;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.resource.UMLResource;
+import org.eclipse.xtext.xbase.lib.Pair;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterators;
+import com.google.common.collect.Maps;
+
+/**
+ * An alternative to the core resource {@link Writer} component that provides
+ * UML-appropriate behaviour.
+ */
+public class UMLWriter extends AbstractEMFWorkflowComponent {
+
+ private boolean platformSchemeAware = true;
+
+ private boolean cloneSlotContents = false;
+
+ private boolean ignoreEmptySlot = false;
+
+ private boolean useSameResource = false;
+
+ private boolean xmiIdentifiers = false;
+
+ // Priority according to the order of insertion
+ private Map<Matcher, String> xmiIdentifierFilters = Maps.newLinkedHashMap();
+
+ @Override
+ public String getComponentName() {
+ return UMLWriter.class.getSimpleName();
+ }
+
+ @Override
+ public String getLogMessage() {
+ return "Writing UML model to " + getUri();
+ }
+
+ public boolean isPlatformSchemeAware() {
+ return platformSchemeAware;
+ }
+
+ public void setPlatformSchemeAware(boolean platformSchemeAware) {
+ this.platformSchemeAware = platformSchemeAware;
+ }
+
+ public boolean isIgnoreEmptySlot() {
+ return ignoreEmptySlot;
+ }
+
+ public void setIgnoreEmptySlot(boolean ignoreEmptySlot) {
+ this.ignoreEmptySlot = ignoreEmptySlot;
+ }
+
+ public boolean isCloneSlotContents() {
+ return cloneSlotContents;
+ }
+
+ public void setCloneSlotContents(final boolean b) {
+ this.cloneSlotContents = b;
+ }
+
+ public boolean isUseSameResource() {
+ return useSameResource;
+ }
+
+ public void setUseSameResource(boolean useSameResource) {
+ this.useSameResource = useSameResource;
+ }
+
+ public boolean isXmiIdentifiers() {
+ return xmiIdentifiers;
+ }
+
+ public void setXmiIdentifiers(boolean setXMIIdentifiers) {
+ this.xmiIdentifiers = setXMIIdentifiers;
+ }
+
+ public void addXmiIdentifierFilters(Pair<String, String> filter, Pair<String, String>... more) {
+ setXmiIdentifiers(true); // XMI identifiers are implicit if we're filtering them
+
+ xmiIdentifierFilters.put(Pattern.compile(filter.getKey()).matcher(""), filter.getValue());
+ for (int i = 0; i < more.length; i++) {
+ xmiIdentifierFilters.put(Pattern.compile(more[i].getKey()).matcher(""), more[i].getValue());
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void invokeInternal(final WorkflowContext ctx, final ProgressMonitor monitor, final Issues issues) {
+ Object slotContent = ctx.get(getModelSlot());
+ if (slotContent == null) {
+ if (isIgnoreEmptySlot()) {
+ issues.addWarning(this, "slot '" + getModelSlot() + "' is empty. Not writing anything.");
+ } else {
+ issues.addError(this, "slot '" + getModelSlot() + "' is empty.");
+ }
+ return;
+ }
+ if (!((slotContent instanceof Collection<?>) || (slotContent instanceof EObject))) {
+ issues.addError(this, "slot '" + getModelSlot() + "' neither contains an EList nor an EObject",
+ slotContent, null, null);
+ return;
+ }
+
+ if (slotContent instanceof EObject) {
+ final EObject sc = (EObject) slotContent;
+ if (isCloneSlotContents()) {
+ if (sc.eResource() == null) {
+ issues.addWarning(this, "model in slot '" + getModelSlot()
+ + "' is not yet associated with a resource; cloning it is most likely an error!");
+ } else {
+ final EcoreUtil.Copier copier = new EcoreUtil.Copier();
+ final EObject copy = copier.copy(sc);
+ copier.copyReferences();
+ slotContent = copy;
+ }
+ } else {
+ if ((sc.eResource() != null) && !isUseSameResource()) {
+ issues.addWarning(this, "the element in slot '" + getModelSlot()
+ + "' is already contained in a resource and will be taken out of that resource!");
+ }
+ }
+ }
+
+ getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl());
+ getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap().put(UMLResource.FILE_EXTENSION, UMLResource.Factory.INSTANCE);
+
+ final URI uri = URI.createURI(getUri(), true);
+ final Resource r;
+ final EObject sc = (slotContent instanceof Collection<?>)
+ ? (EObject) ((Collection<?>) slotContent).iterator().next()
+ : (EObject) slotContent;
+ if ((sc.eResource() != null) && isUseSameResource()) {
+ // Just save this resource
+ r = sc.eResource();
+ r.setURI(uri);
+ } else {
+ r = getResourceSet().createResource(uri);
+
+ if (slotContent instanceof Collection<?>) {
+ r.getContents().addAll((Collection<EObject>) slotContent);
+ } else {
+ r.getContents().add((EObject) slotContent);
+ }
+
+ addStereotypes(r);
+ }
+
+ write(r, issues);
+ }
+
+ protected void addStereotypes(Resource r) {
+ for (TreeIterator<EObject> iter = EcoreUtil.getAllContents(ImmutableList.copyOf(r.getContents())); iter.hasNext();) {
+ EObject next = iter.next();
+
+ if (next instanceof Element) {
+ r.getContents().addAll(((Element) next).getStereotypeApplications());
+ } else {
+ iter.prune();
+ }
+ }
+ }
+
+ private void write(final Resource r, final Issues issues) {
+ try {
+ if (isXmiIdentifiers()) {
+ if (!(r instanceof XMLResource)) {
+ issues.addWarning(this, "resource is not an XML resource; cannot set XMI identifiers", r);
+ } else if (!xmiIdentifierFilters.isEmpty()) {
+ setXMIIdentifiers((XMLResource) r, xmiIdentifierFilters);
+ } else {
+ setXMIIdentifiers((XMLResource) r);
+ }
+ }
+
+ final Map<String, Object> options = new HashMap<String, Object>();
+
+ if (isPlatformSchemeAware()) {
+ options.put(XMLResource.OPTION_URI_HANDLER, new URIHandlerImpl.PlatformSchemeAware());
+ }
+
+ r.save(options);
+ } catch (final IOException e) {
+ throw new WorkflowInterruptedException("Problems writing xmi file to " + getUri() + " : " + e.getMessage());
+ }
+ }
+
+ protected void setXMIIdentifiers(XMLResource resource) {
+ for (Iterator<InternalEObject> iter = Iterators.filter(resource.getAllContents(), InternalEObject.class); iter.hasNext();) {
+ InternalEObject next = iter.next();
+ resource.setID(next, UML2Util.getXMIIdentifier(next));
+ }
+ }
+
+ protected void setXMIIdentifiers(XMLResource resource, Map<Matcher, String> filters) {
+ for (Iterator<InternalEObject> iter = Iterators.filter(resource.getAllContents(), InternalEObject.class); iter.hasNext();) {
+ InternalEObject next = iter.next();
+
+ String id = filter(resource, filters, next);
+ if (id != null) {
+ // Can use the filtered ID
+ resource.setID(next, id);
+ }
+ }
+ }
+
+ private String filter(XMLResource resource, Map<Matcher, String> filters, InternalEObject object) {
+ String id = UML2Util.getXMIIdentifier(object);
+ String result = id;
+
+ for (Map.Entry<Matcher, String> filter : filters.entrySet()) {
+ Matcher m = filter.getKey();
+ m.reset(id);
+ if (m.find()) {
+ String filtered = m.replaceFirst(filter.getValue());
+ EObject collision = resource.getEObject(filtered);
+ if ((collision == null) || (collision == object)) {
+ result = filtered;
+ break;
+ }
+ }
+ }
+
+ if (result.equals(id)) {
+ // Check this for a collision, too, because filtering could introduce duplication
+ EObject collision = resource.getEObject(result);
+ int counter = 0;
+ while ((collision != null) && (collision != object)) {
+ result = id + '$' + ++counter;
+ collision = resource.getEObject(result);
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/messages/Messages.java b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/messages/Messages.java
index 99713cd0275..7887428b52d 100644
--- a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/messages/Messages.java
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/messages/Messages.java
@@ -1,27 +1,55 @@
-package org.eclipse.papyrus.mwe2.utils.messages;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-
- private static final String BUNDLE_NAME = "org.eclipse.papyrus.mwe.utils.messages.messages"; //$NON-NLS-1$
-
- public static String QvtoTransformationWorkflowComponent_1;
-
- public static String QvtoTransformationWorkflowComponent_4;
-
- public static String QvtoTransformationWorkflowComponent_5;
-
- public static String RegisterUmlProfile_1;
-
- public static String RegisterUmlProfile_2;
-
- public static String RegisterUmlProfile_3;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
+/*******************************************************************************
+ * 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:
+ * CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 464647
+ *
+ ******************************************************************************/
+package org.eclipse.papyrus.mwe2.utils.messages;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * Localized strings for the bundle.
+ */
+public class Messages extends NLS {
+
+ private static final String BUNDLE_NAME = "org.eclipse.papyrus.mwe2.utils.messages.messages"; //$NON-NLS-1$
+
+ public static String DeleteFile_0;
+
+ public static String DeleteFile_1;
+
+ public static String DeleteFile_2;
+
+ public static String DeleteFile_3;
+
+ public static String DeleteFile_4;
+
+ public static String DeleteFile_5;
+
+ public static String QvtoTransformationWorkflowComponent_1;
+
+ public static String QvtoTransformationWorkflowComponent_4;
+
+ public static String QvtoTransformationWorkflowComponent_5;
+
+ public static String RegisterUmlProfile_1;
+
+ public static String RegisterUmlProfile_2;
+
+ public static String RegisterUmlProfile_3;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/messages/messages.properties b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/messages/messages.properties
index 4b99391e951..f5a2d43d52b 100644
--- a/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/messages/messages.properties
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/src/org/eclipse/papyrus/mwe2/utils/messages/messages.properties
@@ -1,6 +1,12 @@
-QvtoTransformationWorkflowComponent_1=Error loading the model transformation:
-QvtoTransformationWorkflowComponent_4=Successful QVTO transformation
-QvtoTransformationWorkflowComponent_5=No input slots given for the QVTO transformation
-RegisterUmlProfile_1=Profile URI not provided
-RegisterUmlProfile_2=The profile URI does not contain a Profile object
-RegisterUmlProfile_3=The profile has not been defined
+DeleteFile_0=No sourceFile set.
+DeleteFile_1=Source file
+DeleteFile_2=\ does not exist. Skipping.
+DeleteFile_3=Cannot write in
+DeleteFile_4=\ is a directory. It will be completely deleted.
+DeleteFile_5=\ was not deleted\!
+QvtoTransformationWorkflowComponent_1=Error loading the model transformation:
+QvtoTransformationWorkflowComponent_4=Successful QVTO transformation
+QvtoTransformationWorkflowComponent_5=No input slots given for the QVTO transformation
+RegisterUmlProfile_1=Profile URI not provided
+RegisterUmlProfile_2=The profile URI does not contain a Profile object
+RegisterUmlProfile_3=The profile has not been defined
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/xtend-gen/.gitignore b/plugins/developer/org.eclipse.papyrus.mwe2.utils/xtend-gen/.gitignore
new file mode 100644
index 00000000000..d6b7ef32c84
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/xtend-gen/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/model/GenericDiagramFucntion.uml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/model/GenericDiagramFucntion.uml
index 070fb6585da..ff30426b91b 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/model/GenericDiagramFucntion.uml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/model/GenericDiagramFucntion.uml
@@ -1,103 +1,105 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:structure="http://DeveloperProcess/schemas/structure/_VA9p4McPEeO9CYUoXDRplw/1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements http://DeveloperProcess/schemas/structure/_VA9p4McPEeO9CYUoXDRplw/1 pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_VA-4AMcPEeO9CYUoXDRplw">
- <uml:Model xmi:id="_v2A68HaMEeKemeMpJaVA3A" name="DiagramEditorFunctionalities">
- <ownedComment xmi:type="uml:Comment" xmi:id="_xpU2MHaNEeKemeMpJaVA3A" annotatedElement="_v2A68HaMEeKemeMpJaVA3A">
- <body>The purpose of this document is to explain basic functionalities intra diagram, i.e. how element in the diagram can be manipulated without taking in account link with model explorer, and properties view </body>
- </ownedComment>
- <packageImport xmi:type="uml:PackageImport" xmi:id="_v2A68XaMEeKemeMpJaVA3A">
- <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
- </packageImport>
- <packagedElement xmi:type="uml:Model" xmi:id="_sz15QOyrEeOTppRa5YYcIg" name="Requirements">
- <packagedElement xmi:type="uml:Class" xmi:id="_6udOsHaNEeKemeMpJaVA3A" name="DisplayElementAtFirstLevel"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_u6MhAHaOEeKemeMpJaVA3A" name="DisplayElementAtFirstLevel_+1"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_4PBJEHaTEeKemeMpJaVA3A" name="MoveElementIntoAnother"/>
- <packagedElement xmi:type="uml:Class" xmi:id="__iyRoHaTEeKemeMpJaVA3A" name="MoveElementIntoADiagram"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_seSb0GP6EeOq0pDGL_YBMA" name="Edit Grid and Ruler Property"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_uKPAQGP6EeOq0pDGL_YBMA" name="Snap To Grid Behavior"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_UzjXQOGuEeO_JM12vRgWBQ" name="DropDromModelExplorer"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_dQjtQOvJEeOv4v5t8d2cOg" name="DiagramVersion"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_kB6T0PLxEeOPiKkVCmnccA" name="PaletteOrder"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_1WmHsPLxEeOPiKkVCmnccA" name="PaletteCustomization"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_Ae6f8PLyEeOPiKkVCmnccA" name="StereotypeVisualization"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_ceWhcABHEeSBYd3pg3Jbjg" name="Delete from diagram"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_pn6YsABHEeSBYd3pg3Jbjg" name="HideFromDiagram"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_8etyYAHCEeS8N6Bcc06S3Q" name="ElementCreationFromPalette"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_Ne8ZMAHDEeS8N6Bcc06S3Q" name="ElementNodeCreationFromPalette"/>
- <packagedElement xmi:type="uml:Abstraction" xmi:id="_NfCf0AHDEeS8N6Bcc06S3Q" name="DeriveFrom_ElementCreationFromPalette" client="_Ne8ZMAHDEeS8N6Bcc06S3Q" supplier="_8etyYAHCEeS8N6Bcc06S3Q"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_n5hc8AH3EeSOr6S9q_OEFA" name="AppearenceElement"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_7xzO8AH3EeSOr6S9q_OEFA" name="AppearanceNodeElement"/>
- <packagedElement xmi:type="uml:Abstraction" xmi:id="_7x2SQAH3EeSOr6S9q_OEFA" name="DeriveFrom_AppearenceElement" client="_7xzO8AH3EeSOr6S9q_OEFA" supplier="_n5hc8AH3EeSOr6S9q_OEFA"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_Gy3vsAH4EeSOr6S9q_OEFA" name="AppearanceoNodelabel"/>
- <packagedElement xmi:type="uml:Abstraction" xmi:id="_Gy6L8AH4EeSOr6S9q_OEFA" name="DeriveFrom_AppearanceNodeElement" client="_Gy3vsAH4EeSOr6S9q_OEFA" supplier="_7xzO8AH3EeSOr6S9q_OEFA"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_D-PLQAIAEeSOr6S9q_OEFA" name="EditableElement"/>
- </packagedElement>
- <packagedElement xmi:type="uml:Model" xmi:id="_tEgNoOy6EeOTppRa5YYcIg" name="UseCases"/>
- <packagedElement xmi:type="uml:Model" xmi:id="_tqyKgOy6EeOTppRa5YYcIg" name="Design"/>
- <packagedElement xmi:type="uml:Model" xmi:id="_uA3IMOy6EeOTppRa5YYcIg" name="test">
- <packagedElement xmi:type="uml:Component" xmi:id="_xTGwkAH5EeSOr6S9q_OEFA" name="org.eclipse.papyrus.diagram.tests">
- <packagedElement xmi:type="uml:Package" xmi:id="_3LNzcAH5EeSOr6S9q_OEFA" name="org.eclipse.papyrus.diagram.tests.appearance">
- <packagedElement xmi:type="uml:Class" xmi:id="_GveLgAH6EeSOr6S9q_OEFA" name="AppearanceElementTest" isAbstract="true"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_H1ta0AH6EeSOr6S9q_OEFA" name="AppearanceNodeElementTest" isAbstract="true"/>
- <packagedElement xmi:type="uml:Class" xmi:id="_IC_B0AH6EeSOr6S9q_OEFA" name="AppearanceNodelLabelTest" isAbstract="true"/>
- </packagedElement>
- </packagedElement>
- </packagedElement>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_V0CKUHaNEeKemeMpJaVA3A">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V1EsIHaNEeKemeMpJaVA3A" source="http://www.eclipse.org/uml2/2.0.0/UML">
- <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
- </eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
- </profileApplication>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7ilaIOvxEeOTppRa5YYcIg">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7jjDcOvxEeOTppRa5YYcIg" source="http://www.eclipse.org/uml2/2.0.0/UML">
- <references xmi:type="ecore:EPackage" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_VA6mkMcPEeO9CYUoXDRplw"/>
- </eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_kWqjAMbXEeO09JBvNFZRNw"/>
- </profileApplication>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7jpKEOvxEeOTppRa5YYcIg">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7kZYAOvxEeOTppRa5YYcIg" source="http://www.eclipse.org/uml2/2.0.0/UML">
- <references xmi:type="ecore:EPackage" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_VA-4AMcPEeO9CYUoXDRplw"/>
- </eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_qCT3MMbXEeO09JBvNFZRNw"/>
- </profileApplication>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7kbNMOvxEeOTppRa5YYcIg">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7lJl8OvxEeOTppRa5YYcIg" source="http://www.eclipse.org/uml2/2.0.0/UML">
- <references xmi:type="ecore:EPackage" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_VBAtMccPEeO9CYUoXDRplw"/>
- </eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_2LNtQMbYEeO09JBvNFZRNw"/>
- </profileApplication>
- <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_U92EwOy8EeOTppRa5YYcIg">
- <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U--tMOy8EeOTppRa5YYcIg" source="http://www.eclipse.org/uml2/2.0.0/UML">
- <references xmi:type="ecore:EPackage" href="pathmap://DEVELOPER_PROFILES/Document.profile.uml#_qR44IMn0EeO9CYUoXDRplw"/>
- </eAnnotations>
- <appliedProfile xmi:type="uml:Profile" href="pathmap://DEVELOPER_PROFILES/Document.profile.uml#_D0JcUMnzEeO9CYUoXDRplw"/>
- </profileApplication>
- </uml:Model>
- <Requirements:Requirement xmi:id="_6u56oHaNEeKemeMpJaVA3A" text="Papyrus shall let display every elements at first layer even if the namespace is not respected" id="Req_001" base_Class="_6udOsHaNEeKemeMpJaVA3A"/>
- <Requirements:Requirement xmi:id="_u6MhAXaOEeKemeMpJaVA3A" text="Papyrus shall display element by respected namespace when they are contained graphically by other elements " id="Req_002" base_Class="_u6MhAHaOEeKemeMpJaVA3A"/>
- <Requirements:Requirement xmi:id="_4PBJEXaTEeKemeMpJaVA3A" text="When an element is moved into another element, the container has to change, i.e. the qualified name change" id="Req_003" base_Class="_4PBJEHaTEeKemeMpJaVA3A"/>
- <Requirements:Requirement xmi:id="__iyRoXaTEeKemeMpJaVA3A" text="When an element move from an element to the diagram, two options can be applied:&#xD;&#xA;- The container change and the namespace has to be adapted, so a clean into diagrams has to be done to respect Req_002&#xD;&#xA;- The container does not change; this is only a graphical move, as described by the req_001" id="Req_004" base_Class="__iyRoHaTEeKemeMpJaVA3A"/>
- <Requirements:Requirement xmi:id="_tDokkGP6EeOq0pDGL_YBMA" text="The user must be able to change the Diagram Viewer properties (Snap To Grid/To Geometry, Show Rulers, Show Grid, Grid Style, Grid Color, Grid Order, Ruler Units, Grid Spacing )" id="Req_005" base_Class="_seSb0GP6EeOq0pDGL_YBMA"/>
- <Requirements:Requirement xmi:id="_u_1LgGP6EeOq0pDGL_YBMA" text="Snap To Grid must be able to snap on : &#xD;&#xA;- 4 corners of rectangle&#xD;&#xA;- 4 middles of side of a rectangle&#xD;&#xA;- anchors of link&#xD;&#xA;- bendpoints" id="Req_006" base_Class="_uKPAQGP6EeOq0pDGL_YBMA"/>
- <Requirements:Requirement xmi:id="_Uzo20OGuEeO_JM12vRgWBQ" text="Its possible to drop the seame element several time on the canva" id="Req_007" base_Class="_UzjXQOGuEeO_JM12vRgWBQ"/>
- <Requirements:Requirement xmi:id="_dQusYOvJEeOv4v5t8d2cOg" text="Each diagram must have a version in order to able possible migration" id="Req_008" base_Class="_dQjtQOvJEeOv4v5t8d2cOg"/>
- <structure:Project xmi:id="_q9KrgOyrEeOTppRa5YYcIg" author="CEA LIST" version="1.0.0" base_Model="_v2A68HaMEeKemeMpJaVA3A" title="Generic function of a Papyrus diagram editor"/>
- <structure:Requirements xmi:id="_ybsUwOy6EeOTppRa5YYcIg" base_Model="_sz15QOyrEeOTppRa5YYcIg"/>
- <structure:UseCases xmi:id="_za0PcOy6EeOTppRa5YYcIg" base_Model="_tEgNoOy6EeOTppRa5YYcIg"/>
- <structure:Design xmi:id="_0dIBAOy6EeOTppRa5YYcIg" base_Model="_tqyKgOy6EeOTppRa5YYcIg"/>
- <structure:Tests xmi:id="_1R33sOy6EeOTppRa5YYcIg" base_Model="_uA3IMOy6EeOTppRa5YYcIg"/>
- <Requirements:Requirement xmi:id="_kCAacPLxEeOPiKkVCmnccA" text="Element in the palette must classified by alphabetic order" id="Req_009" base_Class="_kB6T0PLxEeOPiKkVCmnccA"/>
- <Requirements:Requirement xmi:id="_1WnV0PLxEeOPiKkVCmnccA" text="The palette of adiagram must be customizable" id="Req_010" base_Class="_1WmHsPLxEeOPiKkVCmnccA"/>
- <Requirements:Requirement xmi:id="_Ae7HAPLyEeOPiKkVCmnccA" text="Applied stereotype must be displayed on diagram element ( brace, icon, text)" id="Req_011" base_Class="_Ae6f8PLyEeOPiKkVCmnccA"/>
- <Requirements:Requirement xmi:id="_cemZEABHEeSBYd3pg3Jbjg" text="Each element must be deleted from the diagram, the semantic deleteion must be also done" id="Req_012" base_Class="_ceWhcABHEeSBYd3pg3Jbjg"/>
- <Requirements:Requirement xmi:id="_pn8N4ABHEeSBYd3pg3Jbjg" text="The element can be deleted only form the diagram, the semantic element is not removed" id="Req_013" base_Class="_pn6YsABHEeSBYd3pg3Jbjg"/>
- <Requirements:Requirement xmi:id="_8e4KcAHCEeS8N6Bcc06S3Q" text="UML element can be created and display in the diagram from the palette" id="Req_014" base_Class="_8etyYAHCEeS8N6Bcc06S3Q"/>
- <Requirements:Requirement xmi:id="_Ne-OYAHDEeS8N6Bcc06S3Q" text="&#xA;UML element can be created and display in the diagram from the palette" id="Req_015" base_Class="_Ne8ZMAHDEeS8N6Bcc06S3Q"/>
- <Requirements:DeriveReqt xmi:id="_NfFjIAHDEeS8N6Bcc06S3Q" base_Abstraction="_NfCf0AHDEeS8N6Bcc06S3Q"/>
- <Requirements:Requirement xmi:id="_n_Kx8AH3EeSOr6S9q_OEFA" text="Appearence of elements in papyrus must be modified" id="Req_016" base_Class="_n5hc8AH3EeSOr6S9q_OEFA"/>
- <Requirements:Requirement xmi:id="_7x0dEAH3EeSOr6S9q_OEFA" text="&#xD;&#xA;Appearence of elements of node must be modified ( color background, foregorund, size...)" id="Req_017" base_Class="_7xzO8AH3EeSOr6S9q_OEFA"/>
- <Requirements:DeriveReqt xmi:id="_7x4HcAH3EeSOr6S9q_OEFA" base_Abstraction="_7x2SQAH3EeSOr6S9q_OEFA"/>
- <Requirements:Requirement xmi:id="_Gy490AH4EeSOr6S9q_OEFA" text="&#xD;&#xA;&#xD;&#xD;&#xA;Appearence of elements of label node must be modified ( font, color, but not size)" id="Req_018" base_Class="_Gy3vsAH4EeSOr6S9q_OEFA"/>
- <Requirements:DeriveReqt xmi:id="_Gy8BIAH4EeSOr6S9q_OEFA" base_Abstraction="_Gy6L8AH4EeSOr6S9q_OEFA"/>
- <Requirements:Requirement xmi:id="_D-RngAIAEeSOr6S9q_OEFA" text="Element in papyrus must be editable" id="Req_019" base_Class="_D-PLQAIAEeSOr6S9q_OEFA"/>
-</xmi:XMI>
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:structure="http://DeveloperProcess/schemas/structure/_VA9p4McPEeO9CYUoXDRplw/1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements http://DeveloperProcess/schemas/structure/_VA9p4McPEeO9CYUoXDRplw/1 pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml">
+ <uml:Model xmi:id="_v2A68HaMEeKemeMpJaVA3A" name="DiagramEditorFunctionalities">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_xpU2MHaNEeKemeMpJaVA3A" annotatedElement="_v2A68HaMEeKemeMpJaVA3A">
+ <body>The purpose of this document is to explain basic functionalities intra diagram, i.e. how element in the diagram can be manipulated without taking in account link with model explorer, and properties view </body>
+ </ownedComment>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_v2A68XaMEeKemeMpJaVA3A">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Model" xmi:id="_sz15QOyrEeOTppRa5YYcIg" name="Requirements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_6udOsHaNEeKemeMpJaVA3A" name="DisplayElementAtFirstLevel"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_u6MhAHaOEeKemeMpJaVA3A" name="DisplayElementAtFirstLevel_+1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_4PBJEHaTEeKemeMpJaVA3A" name="MoveElementIntoAnother"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="__iyRoHaTEeKemeMpJaVA3A" name="MoveElementIntoADiagram"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_seSb0GP6EeOq0pDGL_YBMA" name="Edit Grid and Ruler Property"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_uKPAQGP6EeOq0pDGL_YBMA" name="Snap To Grid Behavior"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_UzjXQOGuEeO_JM12vRgWBQ" name="DropDromModelExplorer"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_dQjtQOvJEeOv4v5t8d2cOg" name="DiagramVersion"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_kB6T0PLxEeOPiKkVCmnccA" name="PaletteOrder"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1WmHsPLxEeOPiKkVCmnccA" name="PaletteCustomization"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Ae6f8PLyEeOPiKkVCmnccA" name="StereotypeVisualization"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_ceWhcABHEeSBYd3pg3Jbjg" name="Delete from diagram"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_pn6YsABHEeSBYd3pg3Jbjg" name="HideFromDiagram"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_8etyYAHCEeS8N6Bcc06S3Q" name="ElementCreationFromPalette"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Ne8ZMAHDEeS8N6Bcc06S3Q" name="ElementNodeCreationFromPalette"/>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_NfCf0AHDEeS8N6Bcc06S3Q" name="DeriveFrom_ElementCreationFromPalette" client="_Ne8ZMAHDEeS8N6Bcc06S3Q" supplier="_8etyYAHCEeS8N6Bcc06S3Q"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_n5hc8AH3EeSOr6S9q_OEFA" name="AppearenceElement"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_7xzO8AH3EeSOr6S9q_OEFA" name="AppearanceNodeElement"/>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_7x2SQAH3EeSOr6S9q_OEFA" name="DeriveFrom_AppearenceElement" client="_7xzO8AH3EeSOr6S9q_OEFA" supplier="_n5hc8AH3EeSOr6S9q_OEFA"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Gy3vsAH4EeSOr6S9q_OEFA" name="AppearanceoNodelabel"/>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_Gy6L8AH4EeSOr6S9q_OEFA" name="DeriveFrom_AppearanceNodeElement" client="_Gy3vsAH4EeSOr6S9q_OEFA" supplier="_7xzO8AH3EeSOr6S9q_OEFA"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_D-PLQAIAEeSOr6S9q_OEFA" name="EditableElement"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_bnDx0NxpEeSV4KOvESrDwA" name="CanonicalViews"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Model" xmi:id="_tEgNoOy6EeOTppRa5YYcIg" name="UseCases"/>
+ <packagedElement xmi:type="uml:Model" xmi:id="_tqyKgOy6EeOTppRa5YYcIg" name="Design"/>
+ <packagedElement xmi:type="uml:Model" xmi:id="_uA3IMOy6EeOTppRa5YYcIg" name="test">
+ <packagedElement xmi:type="uml:Component" xmi:id="_xTGwkAH5EeSOr6S9q_OEFA" name="org.eclipse.papyrus.diagram.tests">
+ <packagedElement xmi:type="uml:Package" xmi:id="_3LNzcAH5EeSOr6S9q_OEFA" name="org.eclipse.papyrus.diagram.tests.appearance">
+ <packagedElement xmi:type="uml:Class" xmi:id="_GveLgAH6EeSOr6S9q_OEFA" name="AppearanceElementTest" isAbstract="true"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_H1ta0AH6EeSOr6S9q_OEFA" name="AppearanceNodeElementTest" isAbstract="true"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_IC_B0AH6EeSOr6S9q_OEFA" name="AppearanceNodelLabelTest" isAbstract="true"/>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_V0CKUHaNEeKemeMpJaVA3A">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_V1EsIHaNEeKemeMpJaVA3A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7ilaIOvxEeOTppRa5YYcIg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7jjDcOvxEeOTppRa5YYcIg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_VA6mkMcPEeO9CYUoXDRplw"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_kWqjAMbXEeO09JBvNFZRNw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7jpKEOvxEeOTppRa5YYcIg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7kZYAOvxEeOTppRa5YYcIg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_VA-4AMcPEeO9CYUoXDRplw"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_qCT3MMbXEeO09JBvNFZRNw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7kbNMOvxEeOTppRa5YYcIg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7lJl8OvxEeOTppRa5YYcIg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_VBAtMccPEeO9CYUoXDRplw"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://DEVELOPER_PROFILES/developerprocess.profile.uml#_2LNtQMbYEeO09JBvNFZRNw"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_U92EwOy8EeOTppRa5YYcIg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_U--tMOy8EeOTppRa5YYcIg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://DEVELOPER_PROFILES/Document.profile.uml#_qR44IMn0EeO9CYUoXDRplw"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://DEVELOPER_PROFILES/Document.profile.uml#_D0JcUMnzEeO9CYUoXDRplw"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Requirement xmi:id="_6u56oHaNEeKemeMpJaVA3A" text="Papyrus shall let display every elements at first layer even if the namespace is not respected" id="Req_001" base_Class="_6udOsHaNEeKemeMpJaVA3A"/>
+ <Requirements:Requirement xmi:id="_u6MhAXaOEeKemeMpJaVA3A" text="Papyrus shall display element by respected namespace when they are contained graphically by other elements " id="Req_002" base_Class="_u6MhAHaOEeKemeMpJaVA3A"/>
+ <Requirements:Requirement xmi:id="_4PBJEXaTEeKemeMpJaVA3A" text="When an element is moved into another element, the container has to change, i.e. the qualified name change" id="Req_003" base_Class="_4PBJEHaTEeKemeMpJaVA3A"/>
+ <Requirements:Requirement xmi:id="__iyRoXaTEeKemeMpJaVA3A" text="When an element move from an element to the diagram, two options can be applied:&#xD;&#xA;- The container change and the namespace has to be adapted, so a clean into diagrams has to be done to respect Req_002&#xD;&#xA;- The container does not change; this is only a graphical move, as described by the req_001" id="Req_004" base_Class="__iyRoHaTEeKemeMpJaVA3A"/>
+ <Requirements:Requirement xmi:id="_tDokkGP6EeOq0pDGL_YBMA" text="The user must be able to change the Diagram Viewer properties (Snap To Grid/To Geometry, Show Rulers, Show Grid, Grid Style, Grid Color, Grid Order, Ruler Units, Grid Spacing )" id="Req_005" base_Class="_seSb0GP6EeOq0pDGL_YBMA"/>
+ <Requirements:Requirement xmi:id="_u_1LgGP6EeOq0pDGL_YBMA" text="Snap To Grid must be able to snap on : &#xD;&#xA;- 4 corners of rectangle&#xD;&#xA;- 4 middles of side of a rectangle&#xD;&#xA;- anchors of link&#xD;&#xA;- bendpoints" id="Req_006" base_Class="_uKPAQGP6EeOq0pDGL_YBMA"/>
+ <Requirements:Requirement xmi:id="_Uzo20OGuEeO_JM12vRgWBQ" text="It is possible to drop the same element several time on the canvas." id="Req_007" base_Class="_UzjXQOGuEeO_JM12vRgWBQ"/>
+ <Requirements:Requirement xmi:id="_dQusYOvJEeOv4v5t8d2cOg" text="Each diagram must have a version in order to able possible migration" id="Req_008" base_Class="_dQjtQOvJEeOv4v5t8d2cOg"/>
+ <structure:Project xmi:id="_q9KrgOyrEeOTppRa5YYcIg" author="CEA LIST" version="1.0.0" base_Model="_v2A68HaMEeKemeMpJaVA3A" title="Generic function of a Papyrus diagram editor"/>
+ <structure:Requirements xmi:id="_ybsUwOy6EeOTppRa5YYcIg" base_Model="_sz15QOyrEeOTppRa5YYcIg"/>
+ <structure:UseCases xmi:id="_za0PcOy6EeOTppRa5YYcIg" base_Model="_tEgNoOy6EeOTppRa5YYcIg"/>
+ <structure:Design xmi:id="_0dIBAOy6EeOTppRa5YYcIg" base_Model="_tqyKgOy6EeOTppRa5YYcIg"/>
+ <structure:Tests xmi:id="_1R33sOy6EeOTppRa5YYcIg" base_Model="_uA3IMOy6EeOTppRa5YYcIg"/>
+ <Requirements:Requirement xmi:id="_kCAacPLxEeOPiKkVCmnccA" text="Element in the palette must classified by alphabetic order" id="Req_009" base_Class="_kB6T0PLxEeOPiKkVCmnccA"/>
+ <Requirements:Requirement xmi:id="_1WnV0PLxEeOPiKkVCmnccA" text="The palette of adiagram must be customizable" id="Req_010" base_Class="_1WmHsPLxEeOPiKkVCmnccA"/>
+ <Requirements:Requirement xmi:id="_Ae7HAPLyEeOPiKkVCmnccA" text="Applied stereotype must be displayed on diagram element ( brace, icon, text)" id="Req_011" base_Class="_Ae6f8PLyEeOPiKkVCmnccA"/>
+ <Requirements:Requirement xmi:id="_cemZEABHEeSBYd3pg3Jbjg" text="Each element must be deleted from the diagram, the semantic deleteion must be also done" id="Req_012" base_Class="_ceWhcABHEeSBYd3pg3Jbjg"/>
+ <Requirements:Requirement xmi:id="_pn8N4ABHEeSBYd3pg3Jbjg" text="The element can be deleted only form the diagram, the semantic element is not removed" id="Req_013" base_Class="_pn6YsABHEeSBYd3pg3Jbjg"/>
+ <Requirements:Requirement xmi:id="_8e4KcAHCEeS8N6Bcc06S3Q" text="UML element can be created and display in the diagram from the palette" id="Req_014" base_Class="_8etyYAHCEeS8N6Bcc06S3Q"/>
+ <Requirements:Requirement xmi:id="_Ne-OYAHDEeS8N6Bcc06S3Q" text="&#xA;UML element can be created and display in the diagram from the palette" id="Req_015" base_Class="_Ne8ZMAHDEeS8N6Bcc06S3Q"/>
+ <Requirements:DeriveReqt xmi:id="_NfFjIAHDEeS8N6Bcc06S3Q" base_Abstraction="_NfCf0AHDEeS8N6Bcc06S3Q"/>
+ <Requirements:Requirement xmi:id="_n_Kx8AH3EeSOr6S9q_OEFA" text="Appearence of elements in papyrus must be modified" id="Req_016" base_Class="_n5hc8AH3EeSOr6S9q_OEFA"/>
+ <Requirements:Requirement xmi:id="_7x0dEAH3EeSOr6S9q_OEFA" text="&#xD;&#xA;Appearence of elements of node must be modified ( color background, foregorund, size...)" id="Req_017" base_Class="_7xzO8AH3EeSOr6S9q_OEFA"/>
+ <Requirements:DeriveReqt xmi:id="_7x4HcAH3EeSOr6S9q_OEFA" base_Abstraction="_7x2SQAH3EeSOr6S9q_OEFA"/>
+ <Requirements:Requirement xmi:id="_Gy490AH4EeSOr6S9q_OEFA" text="&#xD;&#xA;&#xD;&#xD;&#xA;Appearence of elements of label node must be modified ( font, color, but not size)" id="Req_018" base_Class="_Gy3vsAH4EeSOr6S9q_OEFA"/>
+ <Requirements:DeriveReqt xmi:id="_Gy8BIAH4EeSOr6S9q_OEFA" base_Abstraction="_Gy6L8AH4EeSOr6S9q_OEFA"/>
+ <Requirements:Requirement xmi:id="_D-RngAIAEeSOr6S9q_OEFA" text="Element in papyrus must be editable" id="Req_019" base_Class="_D-PLQAIAEeSOr6S9q_OEFA"/>
+ <Requirements:Requirement xmi:id="_bnG1INxpEeSV4KOvESrDwA" text="Custom strategies shall be implemented to support the synchronization of the diagram from the model via the PapyrusCanonicalEditPolicy." id="Req_020" base_Class="_bnDx0NxpEeSV4KOvESrDwA"/>
+</xmi:XMI>
diff --git a/releng/Main tests - Generated.launch b/releng/Main tests - Generated.launch
new file mode 100644
index 00000000000..c00d343750c
--- /dev/null
+++ b/releng/Main tests - Generated.launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify -f top-pom-main-tests.xml"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES">
+<listEntry value="papyrus.repo.main=file:/${project_loc:releng}/main/target/repository"/>
+<listEntry value="testConfig=GENERATED_TESTS_CONFIG"/>
+<listEntry value="papyrus.repo.main.online=https://hudson.eclipse.org/papyrus/job/Papyrus-Master/lastSuccessfulBuild/artifact/releng/main/target/repository/"/>
+</listAttribute>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:releng}"/>
+</launchConfiguration>
diff --git a/releng/dev/pom.xml b/releng/dev/pom.xml
index f4752cf76c5..b888b6d22ae 100755
--- a/releng/dev/pom.xml
+++ b/releng/dev/pom.xml
@@ -1,308 +1,319 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.dev.releng</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>pom</packaging>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.all.releng</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <modules>
- <module>../../plugins/developer/org.eclipse.papyrus.codegen</module>
- <module>../../plugins/developer/org.eclipse.papyrus.dev.java.utils</module>
- <module>../../plugins/developer/org.eclipse.papyrus.dev.project.management</module>
- <module>../../plugins/developer/org.eclipse.papyrus.dev.assistants.codegen</module>
- <module>../../plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request</module>
- <module>../../plugins/developer/org.eclipse.papyrus.developer.profile</module>
- <!-- <module>../../plugins/developer/org.eclipse.papyrus.diagramdev.modelexplorer</module> -->
- <module>../../plugins/developer/org.eclipse.papyrus.domaincodegen.ui</module>
- <module>../../plugins/developer/org.eclipse.papyrus.domaincontextcodegen</module>
- <module>../../plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit</module>
- <module>../../plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor</module>
- <module>../../plugins/developer/org.eclipse.papyrus.gmf.editpartview</module>
- <module>../../plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates</module>
- <module>../../plugins/developer/org.eclipse.papyrus.gmf.figureview</module>
- <module>../../plugins/developer/org.eclipse.papyrus.gmfgenextension</module>
- <module>../../plugins/developer/org.eclipse.papyrus.infra.emf.commandstack</module>
- <module>../../plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview</module>
- <module>../../plugins/developer/org.eclipse.papyrus.mwe2.utils</module>
- <module>../../plugins/developer/org.eclipse.papyrus.releng.tools</module>
- <module>../../plugins/developer/org.eclipse.papyrus.uml.developer.mde</module>
- <module>../../plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.debug</module>
- <module>../../features/papyrus-dev-features/org.eclipse.papyrus.dev.feature</module>
- <module>../../features/papyrus-dev-features/org.eclipse.papyrus.junit.feature</module>
- <module>../../tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework</module>
- <module>../../tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils</module>
- <module>../../tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests</module>
- <module>site</module>
- </modules>
- <properties>
- <papyrus.repo.main>http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/mars/main</papyrus.repo.main>
- <papyrus.repo.extra>http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/mars/extra</papyrus.repo.extra>
- </properties>
- <repositories>
- <repository>
- <id>emf-emf</id>
- <layout>p2</layout>
- <!-- updateFrom("EMF (Core)",0) -->
- <url>http://download.eclipse.org/modeling/emf/emf/updates/2.11milestones/</url>
- </repository>
- <repository>
- <id>emft-mwe[0]</id>
- <layout>p2</layout>
- <!-- updateFrom("EMFT MWE",0) -->
- <url>http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/R201505260335/mwe</url>
- </repository>
- <repository>
- <id>emft-mwe[1]</id>
- <layout>p2</layout>
- <!-- updateFrom("EMFT MWE",1) -->
- <url>http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/R201505260456/mwe2lang/</url>
- </repository>
- <repository>
- <id>emf-transaction</id>
- <layout>p2</layout>
- <!-- updateFrom("EMF TRANSACTION",0) -->
- <url>http://download.eclipse.org/modeling/emf/transaction/updates/milestones/S201506010221</url>
- </repository>
- <repository>
- <id>emf-validation</id>
- <layout>p2</layout>
- <!-- updateFrom("EMF VALIDATION",0) -->
- <url>http://download.eclipse.org/modeling/emf/validation/updates/milestones/S201505312255</url>
- </repository>
- <repository>
- <id>ep</id>
- <layout>p2</layout>
- <!-- updateFrom("Eclipse",0) -->
- <url>http://download.eclipse.org/eclipse/updates/4.5milestones/S-4.5RC4-201506032000/</url>
- </repository>
- <repository>
- <id>gef</id>
- <layout>p2</layout>
- <!-- updateFrom("GEF",0) -->
- <url>http://download.eclipse.org/tools/gef/updates/milestones</url>
- </repository>
- <repository>
- <id>gmp-gmf-notation</id>
- <layout>p2</layout>
- <!-- updateFrom("GMF Notation",0) -->
- <url>http://download.eclipse.org/modeling/gmp/gmf-notation/updates/milestones/S201505312221</url>
- </repository>
- <repository>
- <id>gmp-gmf-runtime</id>
- <layout>p2</layout>
- <!-- updateFrom("GMF Runtime",0) -->
- <url>http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/milestones/S201506060219</url>
- </repository>
- <repository>
- <id>gmf-tooling</id>
- <layout>p2</layout>
- <!-- updateFrom("GMF Tooling",0) -->
- <url>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.3/S201506090500</url>
- </repository>
- <repository>
- <id>m2t-xpand</id>
- <layout>p2</layout>
- <!-- updateFrom("M2T XPAND",0) -->
- <url>http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201505260349/</url>
- </repository>
- <repository>
- <id>mdt-ocl</id>
- <layout>p2</layout>
- <!-- updateFrom("MDT OCL 6.0",0) -->
- <url>http://download.eclipse.org/modeling/mdt/ocl/updates/milestones/6.0.0/S201506090403</url>
- </repository>
- <repository>
- <id>mdt-uml2</id>
- <layout>p2</layout>
- <!-- updateFrom("MDT UML2",0) -->
- <url>http://download.eclipse.org/modeling/mdt/uml2/updates/5.1</url>
- </repository>
- <repository>
- <id>mmt-qvto</id>
- <layout>p2</layout>
- <!-- updateFrom("QVT Operational",0) -->
- <url>http://download.eclipse.org/mmt/qvto/updates/releases/3.5.0</url>
- </repository>
- <repository>
- <id>nattable</id>
- <layout>p2</layout>
- <!-- manualUpdate -->
- <url>http://download.eclipse.org/nattable/releases/1.2.0/repository/</url>
- </repository>
- <repository>
- <id>nebula-tablecombo</id>
- <layout>p2</layout>
- <!-- manualUpdate -->
- <url>http://download.eclipse.org/technology/nebula/archives/Q12015/release/</url>
- </repository>
- <repository>
- <id>orbit</id>
- <layout>p2</layout>
- <url>http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository</url>
- </repository>
- <repository>
- <id>tmf-xtext</id>
- <layout>p2</layout>
- <!-- updateFrom("Xtext, Xtend",0) -->
- <url>http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.3/</url>
- </repository>
- <repository>
- <id>webtools</id>
- <layout>p2</layout>
- <!-- updateFrom("WebTools",0) -->
- <url>http://download.eclipse.org/webtools/downloads/drops/R3.7.0/R-3.7.0-20150609111814/repository/</url>
- </repository>
- <repository>
- <id>XWT</id>
- <layout>p2</layout>
- <!-- updateFrom("XWT",0) -->
- <url>http://download.eclipse.org/xwt/release-1.1.0</url>
- </repository>
- <repository>
- <id>subversive</id>
- <layout>p2</layout>
- <!-- updateFrom("Subversive",0) -->
- <url>http://download.eclipse.org/technology/subversive/3.0/mars-site/</url>
- </repository>
- <repository>
- <id>m2t-acceleo</id>
- <layout>p2</layout>
- <!-- updateFrom("M2T ACCELEO",0) -->
- <url>http://download.eclipse.org/acceleo/updates/milestones/3.6/S201506080954</url>
- </repository>
- <repository>
- <id>b3</id>
- <layout>p2</layout>
- <!-- B3 is not in the release train. Always targets the latest released version (i.e. Luna for Mars Development) -->
- <url>http://download.eclipse.org/modeling/emft/b3/updates-4.4</url>
- </repository>
- <repository>
- <id>oomph</id>
- <layout>p2</layout>
- <!-- updateFrom("Oomph",0) -->
- <url>http://download.eclipse.org/oomph/drops/milestone/S20150610-124713-1.1.0-RC4</url>
- </repository>
- <repository>
- <id>papyrus-main</id>
- <layout>p2</layout>
- <url>${papyrus.repo.main}</url>
- </repository>
- <repository>
- <id>papyrus-extra</id>
- <layout>p2</layout>
- <url>${papyrus.repo.extra}</url>
- </repository>
- </repositories>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-compiler-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <source>1.7</source>
- <target>1.7</target>
- <optimize>true</optimize>
- <showWarnings>true</showWarnings>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-maven-plugin</artifactId>
- <version>${tycho-version}</version>
- <extensions>true</extensions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <environments>
- <environment>
- <os>win32</os>
- <ws>win32</ws>
- <arch>x86_64</arch>
- </environment>
- </environments>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-repository-plugin</artifactId>
- <version>${tycho-version}</version>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-source-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>plugin-source</id>
- <goals>
- <goal>plugin-source</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-source-feature-plugin</artifactId>
- <version>${tychoExtrasVersion}</version>
- <executions>
- <execution>
- <id>source-feature</id>
- <phase>package</phase>
- <goals>
- <goal>source-feature</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- Pack200 -->
- <plugin>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-pack200b-plugin</artifactId>
- <version>${tychoExtrasVersion}</version>
- <executions>
- <execution>
- <id>pack200-pack</id>
- <goals>
- <goal>pack</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-plugin</artifactId>
- <version>${tycho-version}</version>
- <executions>
- <execution>
- <id>attach-p2-metadata</id>
- <phase>package</phase>
- <goals>
- <goal>p2-metadata</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <defaultP2Metadata>false</defaultP2Metadata>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.dev.releng</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.all.releng</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <relativePath>..</relativePath>
+ </parent>
+ <modules>
+ <module>../../plugins/developer/org.eclipse.papyrus.codegen</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.dev.java.utils</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.dev.project.management</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.dev.assistants.codegen</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.developer.profile</module>
+ <!-- <module>../../plugins/developer/org.eclipse.papyrus.diagramdev.modelexplorer</module> -->
+ <module>../../plugins/developer/org.eclipse.papyrus.domaincodegen.ui</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.domaincontextcodegen</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.gmf.editpartview</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.gmf.figureview</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.gmfgenextension</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.infra.emf.commandstack</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.mwe2.utils</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.releng.tools</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.uml.developer.mde</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.dev.tests.framework</module>
+ <module>../../plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui</module>
+ <module>../../tests/framework/org.eclipse.papyrus.tests.framework</module>
+ <module>../../tests/framework/org.eclipse.papyrus.tests.framework.annotations</module>
+ <module>../../tests/framework/org.eclipse.papyrus.tests.framework.edit</module>
+ <module>../../tests/framework/org.eclipse.papyrus.tests.framework.editor</module>
+ <module>../../plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.debug</module>
+ <module>../../features/papyrus-dev-features/org.eclipse.papyrus.dev.feature</module>
+ <module>../../features/papyrus-dev-features/org.eclipse.papyrus.junit.feature</module>
+ <module>../../tests/junit/plugins/junit/org.eclipse.papyrus.junit.framework</module>
+ <module>../../tests/junit/plugins/junit/org.eclipse.papyrus.junit.utils</module>
+ <module>../../tests/junit/plugins/developer/org.eclipse.papyrus.bundles.tests</module>
+ <module>site</module>
+ </modules>
+ <properties>
+ <papyrus.repo.main>http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/mars/main</papyrus.repo.main>
+ <papyrus.repo.extra>http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/mars/extra</papyrus.repo.extra>
+ </properties>
+ <repositories>
+ <repository>
+ <id>emf-emf</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMF (Core)",0) -->
+ <url>http://download.eclipse.org/modeling/emf/emf/updates/2.11milestones/</url>
+ </repository>
+ <repository>
+ <id>emft-mwe[0]</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMFT MWE",0) -->
+ <url>http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/R201505260335/mwe</url>
+ </repository>
+ <repository>
+ <id>emft-mwe[1]</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMFT MWE",1) -->
+ <url>http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/R201505260456/mwe2lang/</url>
+ </repository>
+ <repository>
+ <id>emf-transaction</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMF TRANSACTION",0) -->
+ <url>http://download.eclipse.org/modeling/emf/transaction/updates/milestones/S201506010221</url>
+ </repository>
+ <repository>
+ <id>emf-validation</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMF VALIDATION",0) -->
+ <url>http://download.eclipse.org/modeling/emf/validation/updates/milestones/S201505312255</url>
+ </repository>
+ <repository>
+ <id>ep</id>
+ <layout>p2</layout>
+ <!-- updateFrom("Eclipse",0) -->
+ <url>http://download.eclipse.org/eclipse/updates/4.5milestones/S-4.5RC4-201506032000/</url>
+ </repository>
+ <repository>
+ <id>gef</id>
+ <layout>p2</layout>
+ <!-- updateFrom("GEF",0) -->
+ <url>http://download.eclipse.org/tools/gef/updates/milestones</url>
+ </repository>
+ <repository>
+ <id>gmp-gmf-notation</id>
+ <layout>p2</layout>
+ <!-- updateFrom("GMF Notation",0) -->
+ <url>http://download.eclipse.org/modeling/gmp/gmf-notation/updates/milestones/S201505312221</url>
+ </repository>
+ <repository>
+ <id>gmp-gmf-runtime</id>
+ <layout>p2</layout>
+ <!-- updateFrom("GMF Runtime",0) -->
+ <url>http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/milestones/S201506060219</url>
+ </repository>
+ <repository>
+ <id>gmf-tooling</id>
+ <layout>p2</layout>
+ <!-- updateFrom("GMF Tooling",0) -->
+ <url>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.3/S201506090500</url>
+ </repository>
+ <repository>
+ <id>m2t-xpand</id>
+ <layout>p2</layout>
+ <!-- updateFrom("M2T XPAND",0) -->
+ <url>http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201505260349/</url>
+ </repository>
+ <repository>
+ <id>mdt-ocl</id>
+ <layout>p2</layout>
+ <!-- updateFrom("MDT OCL 6.0",0) -->
+ <url>http://download.eclipse.org/modeling/mdt/ocl/updates/milestones/6.0.0/S201506090403</url>
+ </repository>
+ <repository>
+ <id>mdt-uml2</id>
+ <layout>p2</layout>
+ <!-- updateFrom("MDT UML2",0) -->
+ <url>http://download.eclipse.org/modeling/mdt/uml2/updates/5.1</url>
+ </repository>
+ <repository>
+ <id>mmt-qvto</id>
+ <layout>p2</layout>
+ <!-- updateFrom("QVT Operational",0) -->
+ <url>http://download.eclipse.org/mmt/qvto/updates/releases/3.5.0</url>
+ </repository>
+ <repository>
+ <id>nattable</id>
+ <layout>p2</layout>
+ <!-- manualUpdate -->
+ <url>http://download.eclipse.org/nattable/releases/1.2.0/repository/</url>
+ </repository>
+ <repository>
+ <id>nebula-tablecombo</id>
+ <layout>p2</layout>
+ <!-- manualUpdate -->
+ <url>http://download.eclipse.org/technology/nebula/archives/Q12015/release/</url>
+ </repository>
+ <repository>
+ <id>orbit</id>
+ <layout>p2</layout>
+ <url>http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository</url>
+ </repository>
+ <repository>
+ <id>tmf-xtext</id>
+ <layout>p2</layout>
+ <!-- updateFrom("Xtext, Xtend",0) -->
+ <url>http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.3/</url>
+ </repository>
+ <repository>
+ <id>webtools</id>
+ <layout>p2</layout>
+ <!-- updateFrom("WebTools",0) -->
+ <url>http://download.eclipse.org/webtools/downloads/drops/R3.7.0/R-3.7.0-20150609111814/repository/</url>
+ </repository>
+ <repository>
+ <id>XWT</id>
+ <layout>p2</layout>
+ <!-- updateFrom("XWT",0) -->
+ <url>http://download.eclipse.org/xwt/release-1.1.0</url>
+ </repository>
+ <repository>
+ <id>subversive</id>
+ <layout>p2</layout>
+ <!-- updateFrom("Subversive",0) -->
+ <url>http://download.eclipse.org/technology/subversive/3.0/mars-site/</url>
+ </repository>
+ <repository>
+ <id>m2t-acceleo</id>
+ <layout>p2</layout>
+ <!-- updateFrom("M2T ACCELEO",0) -->
+ <url>http://download.eclipse.org/acceleo/updates/milestones/3.6/S201506080954</url>
+ </repository>
+ <repository>
+ <id>b3</id>
+ <layout>p2</layout>
+ <!-- B3 is not in the release train. Always targets the latest released version (i.e. Luna for Mars Development) -->
+ <url>http://download.eclipse.org/modeling/emft/b3/updates-4.4</url>
+ </repository>
+ <repository>
+ <id>oomph</id>
+ <layout>p2</layout>
+ <!-- updateFrom("Oomph",0) -->
+ <url>http://download.eclipse.org/oomph/drops/milestone/S20150610-124713-1.1.0-RC4</url>
+ </repository>
+ <repository>
+ <id>UPR</id>
+ <layout>p2</layout>
+ <url>http://download.eclipse.org/upr/0.9RC1/update/</url>
+ </repository>
+ <repository>
+ <id>papyrus-main</id>
+ <layout>p2</layout>
+ <url>${papyrus.repo.main}</url>
+ </repository>
+ <repository>
+ <id>papyrus-extra</id>
+ <layout>p2</layout>
+ <url>${papyrus.repo.extra}</url>
+ </repository>
+ </repositories>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.6</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <source>1.7</source>
+ <target>1.7</target>
+ <optimize>true</optimize>
+ <showWarnings>true</showWarnings>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <environments>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86_64</arch>
+ </environment>
+ </environments>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-repository-plugin</artifactId>
+ <version>${tycho-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>plugin-source</id>
+ <goals>
+ <goal>plugin-source</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-source-feature-plugin</artifactId>
+ <version>${tychoExtrasVersion}</version>
+ <executions>
+ <execution>
+ <id>source-feature</id>
+ <phase>package</phase>
+ <goals>
+ <goal>source-feature</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- Pack200 -->
+ <plugin>
+ <groupId>org.eclipse.tycho.extras</groupId>
+ <artifactId>tycho-pack200b-plugin</artifactId>
+ <version>${tychoExtrasVersion}</version>
+ <executions>
+ <execution>
+ <id>pack200-pack</id>
+ <goals>
+ <goal>pack</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <executions>
+ <execution>
+ <id>attach-p2-metadata</id>
+ <phase>package</phase>
+ <goals>
+ <goal>p2-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <defaultP2Metadata>false</defaultP2Metadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/releng/main-tests/pom.xml b/releng/main-tests/pom.xml
index 5e8fa4999e6..ffc6c76c5b2 100644
--- a/releng/main-tests/pom.xml
+++ b/releng/main-tests/pom.xml
@@ -1,381 +1,374 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.tests.releng</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <packaging>pom</packaging>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.all.releng</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <modules>
- <module>../../tests/junit/plugins/core/org.eclipse.papyrus.tests</module>
- <module>../../tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.core.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.nattable.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.services.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.sysml.diagram.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.sysml.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.sysml.nattable.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.assistants.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.decoratormodel.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.diagram.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.nattable.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.tools.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.views.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.uml.textedit.tests.feature</module>
- <module>../../features/papyrus-tests-features/org.eclipse.papyrus.uml.alf.tests.feature</module>
- <module>../../tests/junit/plugins/core/org.eclipse.papyrus.editor.integration.tests</module>
- <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.core.clipboard.tests</module>
- <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.core.sasheditor.di.tests</module>
- <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.core.sasheditor.tests</module>
- <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.core.tests</module>
- <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.tests</module>
- <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests</module>
- <module>../../tests/junit/plugins/customization/org.eclipse.papyrus.customization.properties.tests</module>
- <module>../../tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests</module>
- <module>../../tests/junit/plugins/infra/org.eclipse.papyrus.infra.tools.tests</module>
- <module>../../tests/junit/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly.tests</module>
- <module>../../tests/junit/plugins/infra/emf/org.eclipse.papyrus.infra.emf.tests</module>
- <module>../../tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical.tests</module>
- <module>../../tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands.tests</module>
- <module>../../tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common.tests</module>
- <module>../../tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests</module>
- <module>../../tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu.tests</module>
- <module>../../tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests</module>
- <module>../../tests/junit/plugins/infra/nattable</module>
- <module>../../tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.tests</module>
- <module>../../tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.labelprovider.tests</module>
- <module>../../tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.resourceloading.tests</module>
- <module>../../tests/junit/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.configuration.tests</module>
- <module>../../tests/junit/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests</module>
- <module>../../tests/junit/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.internalblock.tests</module>
- <module>../../tests/junit/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric.tests</module>
- <module>../../tests/junit/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.requirement.tests</module>
- <module>../../tests/junit/plugins/sysml/nattable</module>
- <module>../../tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.modelexplorer.tests</module>
- <module>../../tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.service.types.tests</module>
- <module>../../tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.tests</module>
- <module>../../tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests</module>
- <module>../../tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests</module>
- <module>../../tests/junit/plugins/uml/decoratormodel/org.eclipse.papyrus.uml.decoratormodel.tests</module>
- <module>../../tests/junit/plugins/uml/decoratormodel/org.eclipse.papyrus.uml.decoratormodel.controlmode.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.activity.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.clazz.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.statemachine.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.stereotypeproperty.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.common.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.component.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.communication.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.composite.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.deployment.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.interactionoverview.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.paletteconfiguration.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.profile.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.timing.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.usecase.tests</module>
- <module>../../tests/junit/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.wizards.tests</module>
- <module>../../tests/junit/plugins/uml/modelexplorer/org.eclipse.papyrus.uml.modelexplorer.tests</module>
- <module>../../tests/junit/plugins/uml/nattable</module>
- <module>../../tests/junit/plugins/uml/org.eclipse.papyrus.search.tests</module>
- <module>../../tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests</module>
- <module>../../tests/junit/plugins/uml/org.eclipse.papyrus.uml.modelrepair.tests</module>
- <module>../../tests/junit/plugins/uml/org.eclipse.papyrus.uml.service.types.tests</module>
- <module>../../tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode.tests</module>
- <module>../../tests/junit/plugins/uml/tools/org.eclipse.papyrus.uml.tools.tests</module>
- <module>../../tests/junit/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils.tests</module>
- <module>../../tests/junit/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer.tests</module>
- <module>../../tests/junit/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.tests</module>
- <module>../../tests/junit/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.port.tests</module>
- <module>../../tests/junit/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.property.tests</module>
- <module>../../tests/junit/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.parameter.tests</module>
- <module>../../tests/junit/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.valuespecification.tests</module>
- <module>../../tests/junit/plugins/uml/profile/org.eclipse.papyrus.uml.profile.drafter.tests</module>
- <module>../../tests/junit/plugins/uml/alf/org.eclipse.papyrus.uml.alf.tests</module>
- </modules>
- <properties>
- <testConfig>CI_TESTS_CONFIG</testConfig> <!-- See org.eclipse.papyrus.junit.framework.classification.ClassificationConfig -->
- <testSuiteClass>org.eclipse.papyrus.tests.AllTests</testSuiteClass>
- </properties>
- <repositories>
- <repository>
- <id>papyrus-main</id>
- <layout>p2</layout>
- <url>${papyrus.repo.main}</url>
- </repository>
- <repository>
- <id>papyrus-dev</id>
- <layout>p2</layout>
- <url>${papyrus.repo.dev}</url>
- </repository>
- <repository>
- <id>emf-compare</id>
- <layout>p2</layout>
- <!-- updateFrom("EMF COMPARE",0) -->
- <url>http://download.eclipse.org/modeling/emf/compare/updates/milestones/3.1/S201506080833</url>
- </repository>
- <repository>
- <id>emf-emf</id>
- <layout>p2</layout>
- <!-- updateFrom("EMF (Core)",0) -->
- <url>http://download.eclipse.org/modeling/emf/emf/updates/2.11milestones/</url>
- </repository>
- <repository>
- <id>emft-mwe[0]</id>
- <layout>p2</layout>
- <!-- updateFrom("EMFT MWE",0) -->
- <url>http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/R201505260335/mwe</url>
- </repository>
- <repository>
- <id>emft-mwe[1]</id>
- <layout>p2</layout>
- <!-- updateFrom("EMFT MWE",1) -->
- <url>http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/R201505260456/mwe2lang/</url>
- </repository>
- <repository>
- <id>emf-transaction</id>
- <layout>p2</layout>
- <!-- updateFrom("EMF TRANSACTION",0) -->
- <url>http://download.eclipse.org/modeling/emf/transaction/updates/releases/R201506010221</url>
- </repository>
- <repository>
- <id>emf-validation</id>
- <layout>p2</layout>
- <!-- updateFrom("EMF VALIDATION",0) -->
- <url>http://download.eclipse.org/modeling/emf/validation/updates/releases/R201505312255</url>
- </repository>
- <repository>
- <id>ep</id>
- <layout>p2</layout>
- <!-- updateFrom("Eclipse",0) -->
- <url>http://download.eclipse.org/eclipse/updates/4.5/R-4.5-201506032000/</url>
- </repository>
- <repository>
- <id>gef</id>
- <layout>p2</layout>
- <!-- updateFrom("GEF",0) -->
- <url>http://download.eclipse.org/tools/gef/updates/milestones</url>
- </repository>
- <repository>
- <id>gmp-gmf-notation</id>
- <layout>p2</layout>
- <!-- updateFrom("GMF Notation",0) -->
- <url>http://download.eclipse.org/modeling/gmp/gmf-notation/updates/releases/R201505312221</url>
- </repository>
- <repository>
- <id>gmp-gmf-runtime</id>
- <layout>p2</layout>
- <!-- updateFrom("GMF Runtime",0) -->
- <url>http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/releases/R201506060219</url>
- </repository>
- <repository>
- <id>gmf-tooling</id>
- <layout>p2</layout>
- <!-- updateFrom("GMF Tooling",0) -->
- <url>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.3/S201506090500</url>
- </repository>
- <repository>
- <id>m2t-acceleo</id>
- <layout>p2</layout>
- <!-- updateFrom("M2T ACCELEO",0) -->
- <url>http://download.eclipse.org/acceleo/updates/milestones/3.6/S201506080954</url>
- </repository>
- <repository>
- <id>m2t-xpand</id>
- <layout>p2</layout>
- <!-- updateFrom("M2T XPAND",0) -->
- <url>http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201505260349/</url>
- </repository>
- <repository>
- <id>mdt-ocl</id>
- <layout>p2</layout>
- <!-- updateFrom("MDT OCL 6.0",0) -->
- <url>http://download.eclipse.org/modeling/mdt/ocl/updates/releases/6.0.0</url>
- </repository>
- <repository>
- <id>mdt-uml2</id>
- <layout>p2</layout>
- <!-- updateFrom("MDT UML2",0) -->
- <url>http://download.eclipse.org/modeling/mdt/uml2/updates/5.1</url>
- </repository>
- <repository>
- <id>mmt-qvto</id>
- <layout>p2</layout>
- <!-- updateFrom("QVT Operational",0) -->
- <url>http://download.eclipse.org/mmt/qvto/updates/releases/3.5.0</url>
- </repository>
- <repository>
- <id>nattable</id>
- <layout>p2</layout>
- <!-- manualUpdate -->
- <url>http://download.eclipse.org/nattable/releases/1.2.0/repository/</url>
- </repository>
- <repository>
- <id>orbit</id>
- <layout>p2</layout>
- <!-- manualUpdate -->
- <url>http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository</url>
- </repository>
- <repository>
- <id>subversive</id>
- <layout>p2</layout>
- <!-- updateFrom("Subversive",0) -->
- <url>http://download.eclipse.org/technology/subversive/3.0/mars-site/</url>
- </repository>
- <repository>
- <id>tmf-xtext</id>
- <layout>p2</layout>
- <!-- updateFrom("Xtext, Xtend",0) -->
- <url>http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.3/</url>
- </repository>
- <repository>
- <id>swtbot</id>
- <layout>p2</layout>
- <!-- manualUpdate -->
- <url>http://download.eclipse.org/technology/swtbot/snapshots</url>
- </repository>
- <repository>
- <id>webtools</id>
- <layout>p2</layout>
- <!-- updateFrom("WebTools",0) -->
- <url>http://download.eclipse.org/webtools/downloads/drops/R3.7.0/R-3.7.0-20150609111814/repository/</url>
- </repository>
- <repository>
- <id>XWT</id>
- <layout>p2</layout>
- <!-- updateFrom("XWT",0) -->
- <url>http://download.eclipse.org/xwt/release-1.1.0</url>
- </repository>
- </repositories>
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- <configuration>
- <encoding>UTF-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <version>2.6</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.2</version>
- <configuration>
- <source>${java.source.version}</source>
- <target>${java.target.version}</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.xtend</groupId>
- <artifactId>xtend-maven-plugin</artifactId>
- <version>${xtext.version}</version>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-compiler-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <optimize>true</optimize>
- <showWarnings>true</showWarnings>
- <!-- Tycho build using the project's JDT settings. -->
- <useProjectSettings>true</useProjectSettings>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-maven-plugin</artifactId>
- <version>${tycho-version}</version>
- <extensions>true</extensions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <environments>
- <environment>
- <os>win32</os>
- <ws>win32</ws>
- <arch>x86</arch>
- </environment>
- <environment>
- <os>win32</os>
- <ws>win32</ws>
- <arch>x86_64</arch>
- </environment>
- <environment>
- <os>linux</os>
- <ws>gtk</ws>
- <arch>x86</arch>
- </environment>
- <environment>
- <os>linux</os>
- <ws>gtk</ws>
- <arch>x86_64</arch>
- </environment>
- <environment>
- <os>macosx</os>
- <ws>cocoa</ws>
- <arch>x86_64</arch>
- </environment>
- </environments>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-compiler-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>target-platform-configuration</artifactId>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-p2-repository-plugin</artifactId>
- <version>${tycho-version}</version>
- </plugin>
- <plugin>
- <groupId>org.eclipse.tycho</groupId>
- <artifactId>tycho-surefire-plugin</artifactId>
- <version>${tycho-version}</version>
- <configuration>
- <failIfNoTests>false</failIfNoTests>
- <useUIHarness>true</useUIHarness>
- <useUIThread>true</useUIThread>
- <testFailureIgnore>true</testFailureIgnore>
- <argLine>-Xms512m -Xmx2048m -XX:MaxPermSize=512M -XX:SoftRefLRUPolicyMSPerMB=100</argLine>
- <appArgLine>-testConfig=${testConfig}</appArgLine>
- <product>org.eclipse.sdk.ide</product>
- <skipTests>${skipInnerTests}</skipTests>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.tests.releng</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.all.releng</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <relativePath>..</relativePath>
+ </parent>
+ <modules>
+ <module>../../tests/junit/plugins/core/org.eclipse.papyrus.tests</module>
+ <module>../../tests/junit/plugins/suites/org.eclipse.papyrus.tests.diagramassistants</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.core.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.nattable.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.infra.services.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.sysml.diagram.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.sysml.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.sysml.nattable.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.assistants.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.decoratormodel.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.diagram.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.nattable.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.uml.tools.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.tests.views.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.uml.textedit.tests.feature</module>
+ <module>../../features/papyrus-tests-features/org.eclipse.papyrus.uml.alf.tests.feature</module>
+ <module>../../tests/junit/plugins/core/org.eclipse.papyrus.editor.integration.tests</module>
+ <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.core.clipboard.tests</module>
+ <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.core.sasheditor.di.tests</module>
+ <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.core.sasheditor.tests</module>
+ <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.core.tests</module>
+ <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.extendedtypes.tests</module>
+ <module>../../tests/junit/plugins/core/org.eclipse.papyrus.infra.elementtypesconfigurations.tests</module>
+ <module>../../tests/junit/plugins/customization/org.eclipse.papyrus.customization.properties.tests</module>
+ <module>../../tests/junit/plugins/infra/org.eclipse.papyrus.infra.filters.tests</module>
+ <module>../../tests/junit/plugins/infra/org.eclipse.papyrus.infra.tools.tests</module>
+ <module>../../tests/junit/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly.tests</module>
+ <module>../../tests/junit/plugins/infra/emf/org.eclipse.papyrus.infra.emf.tests</module>
+ <module>../../tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical.tests</module>
+ <module>../../tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands.tests</module>
+ <module>../../tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common.tests</module>
+ <module>../../tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.css.tests</module>
+ <module>../../tests/junit/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu.tests</module>
+ <module>../../tests/junit/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant.tests</module>
+ <module>../../tests/junit/plugins/infra/nattable</module>
+ <module>../../tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.tests</module>
+ <module>../../tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.labelprovider.tests</module>
+ <module>../../tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.resourceloading.tests</module>
+ <module>../../tests/junit/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.configuration.tests</module>
+ <module>../../tests/junit/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition.tests</module>
+ <module>../../tests/junit/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.internalblock.tests</module>
+ <module>../../tests/junit/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric.tests</module>
+ <module>../../tests/junit/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.requirement.tests</module>
+ <module>../../tests/junit/plugins/sysml/nattable</module>
+ <module>../../tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.modelexplorer.tests</module>
+ <module>../../tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.service.types.tests</module>
+ <module>../../tests/junit/plugins/sysml/org.eclipse.papyrus.sysml.tests</module>
+ <module>../../tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.assistants.generator.tests</module>
+ <module>../../tests/junit/plugins/uml/assistants/org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.tests</module>
+ <module>../../tests/junit/plugins/uml/decoratormodel/org.eclipse.papyrus.uml.decoratormodel.tests</module>
+ <module>../../tests/junit/plugins/uml/decoratormodel/org.eclipse.papyrus.uml.decoratormodel.controlmode.tests</module>
+ <module>../../tests/junit/plugins/uml/diagram</module>
+ <module>../../tests/junit/plugins/uml/modelexplorer/org.eclipse.papyrus.uml.modelexplorer.tests</module>
+ <module>../../tests/junit/plugins/uml/nattable</module>
+ <module>../../tests/junit/plugins/uml/org.eclipse.papyrus.search.tests</module>
+ <module>../../tests/junit/plugins/uml/org.eclipse.papyrus.uml.filters.tests</module>
+ <module>../../tests/junit/plugins/uml/org.eclipse.papyrus.uml.modelrepair.tests</module>
+ <module>../../tests/junit/plugins/uml/org.eclipse.papyrus.uml.service.types.tests</module>
+ <module>../../tests/junit/plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode.tests</module>
+ <module>../../tests/junit/plugins/uml/tools/org.eclipse.papyrus.uml.tools.tests</module>
+ <module>../../tests/junit/plugins/uml/tools/org.eclipse.papyrus.uml.tools.utils.tests</module>
+ <module>../../tests/junit/plugins/views/modelexplorer/org.eclipse.papyrus.views.modelexplorer.tests</module>
+ <module>../../tests/junit/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.tests</module>
+ <module>../../tests/junit/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.port.tests</module>
+ <module>../../tests/junit/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.property.tests</module>
+ <module>../../tests/junit/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.parameter.tests</module>
+ <module>../../tests/junit/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.valuespecification.tests</module>
+ <module>../../tests/junit/plugins/uml/profile/org.eclipse.papyrus.uml.profile.drafter.tests</module>
+ <module>../../tests/junit/plugins/uml/alf/org.eclipse.papyrus.uml.alf.tests</module>
+ </modules>
+ <properties>
+ <testConfig>CI_TESTS_CONFIG</testConfig> <!-- See org.eclipse.papyrus.junit.framework.classification.ClassificationConfig -->
+ <testSuiteClass>org.eclipse.papyrus.tests.AllTests</testSuiteClass>
+ </properties>
+ <repositories>
+ <repository>
+ <id>papyrus-main</id>
+ <layout>p2</layout>
+ <url>${papyrus.repo.main}</url>
+ </repository>
+ <repository>
+ <id>papyrus-dev</id>
+ <layout>p2</layout>
+ <url>${papyrus.repo.dev}</url>
+ </repository>
+ <repository>
+ <id>emf-compare</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMF COMPARE",0) -->
+ <url>http://download.eclipse.org/modeling/emf/compare/updates/milestones/3.1/S201506080833</url>
+ </repository>
+ <repository>
+ <id>emf-emf</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMF (Core)",0) -->
+ <url>http://download.eclipse.org/modeling/emf/emf/updates/2.11milestones/</url>
+ </repository>
+ <repository>
+ <id>emft-mwe[0]</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMFT MWE",0) -->
+ <url>http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/R201505260335/mwe</url>
+ </repository>
+ <repository>
+ <id>emft-mwe[1]</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMFT MWE",1) -->
+ <url>http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/R201505260456/mwe2lang/</url>
+ </repository>
+ <repository>
+ <id>emf-transaction</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMF TRANSACTION",0) -->
+ <url>http://download.eclipse.org/modeling/emf/transaction/updates/releases/R201506010221</url>
+ </repository>
+ <repository>
+ <id>emf-validation</id>
+ <layout>p2</layout>
+ <!-- updateFrom("EMF VALIDATION",0) -->
+ <url>http://download.eclipse.org/modeling/emf/validation/updates/releases/R201505312255</url>
+ </repository>
+ <repository>
+ <id>ep</id>
+ <layout>p2</layout>
+ <!-- updateFrom("Eclipse",0) -->
+ <url>http://download.eclipse.org/eclipse/updates/4.5/R-4.5-201506032000/</url>
+ </repository>
+ <repository>
+ <id>gef</id>
+ <layout>p2</layout>
+ <!-- updateFrom("GEF",0) -->
+ <url>http://download.eclipse.org/tools/gef/updates/milestones</url>
+ </repository>
+ <repository>
+ <id>gmp-gmf-notation</id>
+ <layout>p2</layout>
+ <!-- updateFrom("GMF Notation",0) -->
+ <url>http://download.eclipse.org/modeling/gmp/gmf-notation/updates/releases/R201505312221</url>
+ </repository>
+ <repository>
+ <id>gmp-gmf-runtime</id>
+ <layout>p2</layout>
+ <!-- updateFrom("GMF Runtime",0) -->
+ <url>http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/releases/R201506060219</url>
+ </repository>
+ <repository>
+ <id>gmf-tooling</id>
+ <layout>p2</layout>
+ <!-- updateFrom("GMF Tooling",0) -->
+ <url>http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.3/S201506090500</url>
+ </repository>
+ <repository>
+ <id>m2t-acceleo</id>
+ <layout>p2</layout>
+ <!-- updateFrom("M2T ACCELEO",0) -->
+ <url>http://download.eclipse.org/acceleo/updates/milestones/3.6/S201506080954</url>
+ </repository>
+ <repository>
+ <id>m2t-xpand</id>
+ <layout>p2</layout>
+ <!-- updateFrom("M2T XPAND",0) -->
+ <url>http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201505260349/</url>
+ </repository>
+ <repository>
+ <id>mdt-ocl</id>
+ <layout>p2</layout>
+ <!-- updateFrom("MDT OCL 6.0",0) -->
+ <url>http://download.eclipse.org/modeling/mdt/ocl/updates/releases/6.0.0</url>
+ </repository>
+ <repository>
+ <id>mdt-uml2</id>
+ <layout>p2</layout>
+ <!-- updateFrom("MDT UML2",0) -->
+ <url>http://download.eclipse.org/modeling/mdt/uml2/updates/5.1</url>
+ </repository>
+ <repository>
+ <id>mmt-qvto</id>
+ <layout>p2</layout>
+ <!-- updateFrom("QVT Operational",0) -->
+ <url>http://download.eclipse.org/mmt/qvto/updates/releases/3.5.0</url>
+ </repository>
+ <repository>
+ <id>nattable</id>
+ <layout>p2</layout>
+ <!-- manualUpdate -->
+ <url>http://download.eclipse.org/nattable/releases/1.2.0/repository/</url>
+ </repository>
+ <repository>
+ <id>orbit</id>
+ <layout>p2</layout>
+ <!-- manualUpdate -->
+ <url>http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository</url>
+ </repository>
+ <repository>
+ <id>subversive</id>
+ <layout>p2</layout>
+ <!-- updateFrom("Subversive",0) -->
+ <url>http://download.eclipse.org/technology/subversive/3.0/mars-site/</url>
+ </repository>
+ <repository>
+ <id>tmf-xtext</id>
+ <layout>p2</layout>
+ <!-- updateFrom("Xtext, Xtend",0) -->
+ <url>http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.3/</url>
+ </repository>
+ <repository>
+ <id>swtbot</id>
+ <layout>p2</layout>
+ <!-- manualUpdate -->
+ <url>http://download.eclipse.org/technology/swtbot/snapshots</url>
+ </repository>
+ <repository>
+ <id>webtools</id>
+ <layout>p2</layout>
+ <!-- updateFrom("WebTools",0) -->
+ <url>http://download.eclipse.org/webtools/downloads/drops/R3.7.0/R-3.7.0-20150609111814/repository/</url>
+ </repository>
+ <repository>
+ <id>XWT</id>
+ <layout>p2</layout>
+ <!-- updateFrom("XWT",0) -->
+ <url>http://download.eclipse.org/xwt/release-1.1.0</url>
+ </repository>
+ <repository>
+ <id>UPR</id>
+ <layout>p2</layout>
+ <url>http://download.eclipse.org/upr/0.9RC1/update/</url>
+ </repository>
+ </repositories>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.6</version>
+ <configuration>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.6</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.2</version>
+ <configuration>
+ <source>${java.source.version}</source>
+ <target>${java.target.version}</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.xtend</groupId>
+ <artifactId>xtend-maven-plugin</artifactId>
+ <version>${xtext.version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <optimize>true</optimize>
+ <showWarnings>true</showWarnings>
+ <!-- Tycho build using the project's JDT settings. -->
+ <useProjectSettings>true</useProjectSettings>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <environments>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>win32</os>
+ <ws>win32</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86</arch>
+ </environment>
+ <environment>
+ <os>linux</os>
+ <ws>gtk</ws>
+ <arch>x86_64</arch>
+ </environment>
+ <environment>
+ <os>macosx</os>
+ <ws>cocoa</ws>
+ <arch>x86_64</arch>
+ </environment>
+ </environments>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.4.0</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-compiler-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>target-platform-configuration</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-p2-repository-plugin</artifactId>
+ <version>${tycho-version}</version>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <failIfNoTests>false</failIfNoTests>
+ <useUIHarness>true</useUIHarness>
+ <useUIThread>true</useUIThread>
+ <testFailureIgnore>true</testFailureIgnore>
+ <argLine>-Xms512m -Xmx2048m -XX:MaxPermSize=512M -XX:SoftRefLRUPolicyMSPerMB=100</argLine>
+ <appArgLine>-testConfig=${testConfig}</appArgLine>
+ <product>org.eclipse.sdk.ide</product>
+ <skipTests>${skipInnerTests}</skipTests>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/releng/org.eclipse.papyrus.oomph/setups/papyrus.setup b/releng/org.eclipse.papyrus.oomph/setups/papyrus.setup
index 291e49f9c14..29f8d948504 100644
--- a/releng/org.eclipse.papyrus.oomph/setups/papyrus.setup
+++ b/releng/org.eclipse.papyrus.oomph/setups/papyrus.setup
@@ -56,7 +56,7 @@
</setupTask>
<setupTask xsi:type="setup:VariableTask" type="URI" name="base.downloads.url" value="http://download.eclipse.org"/>
<setupTask xsi:type="setup:VariableTask" name="git.checkout.branch" value="${scope.project.stream.name}"/>
- <setupTask xsi:type="setup:VariableTask" name="eclipse.target.platform" defaultValue="Mars" storageURI="scope://Workspace"/>
+ <setupTask xsi:type="setup:VariableTask" name="eclipse.target.platform" defaultValue="Neon" storageURI="scope://Workspace"/>
<setupTask xsi:type="git:GitCloneTask" id="papyrus.git.clone" remoteURI="papyrus/org.eclipse.papyrus" pushURI="" checkoutBranch="${git.checkout.branch}">
<description>Papyrus</description>
<annotation source="http://www.eclipse.org/oomph/setup/InducedChoices">
@@ -85,6 +85,143 @@
</annotation>
</repository>
<repository url="${base.downloads.url}/tools/orbit/downloads/drops/R20150519210750/repository"/>
+ <repository url="http://download.eclipse.org/modeling/emf/emf/updates/2.11milestones/">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>EMF (Core)</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/emf/transaction/updates/milestones/S201506010221">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>EMF TRANSACTION</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/emf/validation/updates/milestones/S201505312255">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>EMF VALIDATION</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/tools/gef/updates/milestones">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>GEF</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/milestones/S201506060219">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>GMF Runtime</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/gmp/gmf-notation/updates/milestones/S201505312221">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>GMF Notation</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/gmp/gmf-tooling/updates/milestones-3.3/S201506090500">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>GMF Tooling</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/R201505260335/mwe">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>EMFT MWE</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.0/R201505260456/mwe2lang/">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>EMFT MWE:1</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/mmt/qvto/updates/releases/3.5.0">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>QVT Operational</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/acceleo/updates/milestones/3.6/S201506080954">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>M2T ACCELEO</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/mdt/ocl/updates/milestones/6.0.0/S201506090403">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>MDT OCL 6.0</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/mdt/uml2/updates/5.1">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>MDT UML2</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/m2t/xpand/updates/releases/R201505260349/">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>M2T XPAND</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.3/">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>Xtext, Xtend</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/modeling/emf/compare/updates/milestones/3.1/S201506080833">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>EMF COMPARE</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="http://download.eclipse.org/webtools/downloads/drops/R3.7.0/R-3.7.0-20150609111814/repository/">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>WebTools</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="${base.downloads.url}/nattable/releases/1.2.0/repository/"/>
+ <repository url="http://download.eclipse.org/xwt/release-1.1.0">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>XWT</value>
+ </detail>
+ </annotation>
+ </repository>
+ </repositoryList>
+ <repositoryList name="Neon">
+ <repository url="http://download.eclipse.org/eclipse/updates/4.6milestones/S-4.6M1-201508052000/">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>Eclipse</value>
+ </detail>
+ </annotation>
+ </repository>
+ <repository url="${base.downloads.url}/tools/orbit/downloads/drops/R20150519210750/repository"/>
<repository url="http://download.eclipse.org/modeling/emf/emf/updates/2.11.x/">
<annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
<detail key="updateFrom">
@@ -183,7 +320,7 @@
</detail>
</annotation>
</repository>
- <repository url="http://download.eclipse.org/modeling/tmf/xtext/updates/milestones/">
+ <repository url="http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.4/">
<annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
<detail key="updateFrom">
<value>Xtext, Xtend</value>
@@ -214,7 +351,7 @@
</repository>
</repositoryList>
<repositoryList name="Mars">
- <repository url="http://download.eclipse.org/eclipse/updates/4.5milestones/S-4.5RC4-201506032000/">
+ <repository url="http://download.eclipse.org/eclipse/updates/4.5/R-4.5-201506032000/">
<annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
<detail key="updateFrom">
<value>Eclipse</value>
@@ -480,11 +617,15 @@
<requirement name="org.eclipse.swtbot.eclipse.feature.group"/>
<requirement name="org.eclipse.swtbot.eclipse.gef.feature.group"/>
<requirement name="org.eclipse.swtbot.forms.feature.group"/>
+ <requirement name="org.eclipse.upr.utp"/>
+ <requirement name="org.eclipse.upr.utp.papyrus"/>
<repositoryList name="Neon">
<repository url="${base.downloads.url}/technology/swtbot/snapshots"/>
+ <repository url="${base.downloads.url}/upr/nightly/standardized/update/"/>
</repositoryList>
<repositoryList name="Mars">
<repository url="${base.downloads.url}/technology/swtbot/snapshots"/>
+ <repository url="${base.downloads.url}/upr/nightly/standardized/update/"/>
</repositoryList>
<repositoryList name="Luna">
<repository url="${base.downloads.url}/technology/swtbot/snapshots"/>
@@ -552,6 +693,7 @@
<operand xsi:type="predicates:NamePredicate" pattern="org\.eclipse\.papyrus\.junit\.utils"/>
</predicate>
</sourceLocator>
+ <sourceLocator rootFolder="${papyrus.git.clone.location/tests/framework}"/>
</setupTask>
<project label="Main" name="main">
<project label="Infra" name="infra">
@@ -645,16 +787,16 @@
</predicate>
</workingSet>
</setupTask>
- <setupTask xsi:type="setup.targlets:TargletTask">
- <targlet activeRepositoryList="${eclipse.target.platform}" name="Papyrus Infra Dependencies">
+ <setupTask xsi:type="setup.targlets:TargletTask">
+ <targlet activeRepositoryList="${eclipse.target.platform}" name="Papyrus Infra Dependencies">
<repositoryList name="Neon">
<repository url="${base.downloads.url}/technology/nebula/snapshot/"/>
</repositoryList>
- <repositoryList name="Mars">
- <repository url="${base.downloads.url}/technology/nebula/snapshot/"/>
- </repositoryList>
- </targlet>
- </setupTask>
+ <repositoryList name="Mars">
+ <repository url="${base.downloads.url}/technology/nebula/snapshot/"/>
+ </repositoryList>
+ </targlet>
+ </setupTask>
<stream label="master (Neon/1.2)" name="master">
<setupTask xsi:type="setup:VariableTask" name="papyrus.bugzilla.version" value="${papyrus.bugzver.master}"/>
<setupTask xsi:type="setup.targlets:TargletTask">
@@ -1328,6 +1470,13 @@
</detail>
</annotation>
</repository>
+ <repository url="http://download.eclipse.org/facet/updates/integration/1.1.0/I201508041458/">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>EMF Facet</value>
+ </detail>
+ </annotation>
+ </repository>
</repositoryList>
<repositoryList name="Mars">
<repository url="http://download.eclipse.org/tools/cdt/builds/mars/milestones">
@@ -1337,6 +1486,13 @@
</detail>
</annotation>
</repository>
+ <repository url="http://download.eclipse.org/facet/updates/integration/1.1.0/I201508041458/">
+ <annotation source="http://www.eclipse.org/Papyrus/2014/releng/dependencytools">
+ <detail key="updateFrom">
+ <value>EMF Facet</value>
+ </detail>
+ </annotation>
+ </repository>
</repositoryList>
<repositoryList name="Luna">
<repository url="${base.downloads.url}/tools/cdt/builds/luna/milestones"/>
@@ -1748,10 +1904,38 @@
<stream label="master (Neon/1.2)" name="master">
<setupTask xsi:type="setup:VariableTask" name="papyrus.bugzilla.version" value="${papyrus.bugzver.master}"/>
<setupTask xsi:type="jdt:JRETask" version="JavaSE-1.8" location="${jre.location-1.8}"/>
+ <setupTask xsi:type="setup.targlets:TargletTask">
+ <targlet name="Papyrus Test Generation Framework Dependencies">
+ <requirement name="org.eclipse.upr.utp"/>
+ <requirement name="org.eclipse.upr.utp.papyrus"/>
+ <repositoryList>
+ <repository url="${base.downloads.url}/upr/nightly/standardized/update/"/>
+ </repositoryList>
+ </targlet>
+ </setupTask>
+ <setupTask xsi:type="setup.p2:P2Task" label="Papyrus Test Generation Framework Tools">
+ <requirement name="org.eclipse.upr.utp"/>
+ <requirement name="org.eclipse.upr.utp.papyrus"/>
+ <repository url="${base.downloads.url}/upr/nightly/standardized/update/"/>
+ </setupTask>
</stream>
<stream label="streams/1.1-maintenance (Mars/1.1.x)" name="streams/1.1-maintenance">
<setupTask xsi:type="setup:VariableTask" name="papyrus.bugzilla.version" value="${papyrus.bugzver.mars}"/>
<setupTask xsi:type="jdt:JRETask" version="JavaSE-1.7" location="${jre.location-1.7}"/>
+ <setupTask xsi:type="setup.targlets:TargletTask">
+ <targlet name="Papyrus Test Generation Framework Dependencies">
+ <requirement name="org.eclipse.upr.utp"/>
+ <requirement name="org.eclipse.upr.utp.papyrus"/>
+ <repositoryList>
+ <repository url="${base.downloads.url}/upr/nightly/standardized/update/"/>
+ </repositoryList>
+ </targlet>
+ </setupTask>
+ <setupTask xsi:type="setup.p2:P2Task" label="Papyrus Test Generation Framework Tools">
+ <requirement name="org.eclipse.upr.utp"/>
+ <requirement name="org.eclipse.upr.utp.papyrus"/>
+ <repository url="${base.downloads.url}/upr/nightly/standardized/update/"/>
+ </setupTask>
</stream>
<stream label="streams/1.0-maintenance (Luna/1.0.x)" name="streams/1.0-maintenance">
<setupTask xsi:type="setup:VariableTask" name="papyrus.bugzilla.version" value="${papyrus.bugzver.luna}"/>
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.classpath b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.classpath
new file mode 100644
index 00000000000..ee4eb7d5271
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.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="xtend-gen"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.project b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.project
new file mode 100644
index 00000000000..a327e6f8d25
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.tests.framework.annotations</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <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>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.core.resources.prefs b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..264b89acc53
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/src=UTF-8
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.jdt.core.prefs b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..7e74e2bed47
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,292 @@
+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.problem.forbiddenReference=warning
+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/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.jdt.ui.prefs b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..954281dbc31
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.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/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.m2e.core.prefs b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 00000000000..f897a7f1cb2
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/META-INF/MANIFEST.MF b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..c83c213bd2e
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.tests.framework.annotations;singleton:=true
+Bundle-Version: 1.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.xtend.lib.macro;bundle-version="2.8.1",
+ org.eclipse.xtend.lib;bundle-version="2.8.1",
+ com.google.inject;bundle-version="3.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.tests.framework.xtend.annotations
+
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/about.html b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/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/framework/org.eclipse.papyrus.tests.framework.annotations/build.properties b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/build.properties
new file mode 100644
index 00000000000..74514944d06
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/build.properties
@@ -0,0 +1,12 @@
+#
+#Mon Oct 21 00:09:04 CEST 2013
+bin.includes = .,\
+ META-INF/,\
+ plugin.properties,\
+ target/classes/,\
+ about.html
+output..=target/classes/
+jars.compile.order=.
+source.. = src/,\
+ xtend-gen/
+src.includes = about.html
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/plugin.properties b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/plugin.properties
new file mode 100644
index 00000000000..1e627695fbe
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/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 = Papyrus Test Framework Xtend Annotations
+providerName = Eclipse Modeling Project
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/pom.xml b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/pom.xml
new file mode 100644
index 00000000000..2c1057ff3ea
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/pom.xml
@@ -0,0 +1,50 @@
+<?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.dev.releng</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <relativePath>../../../releng/dev/pom.xml</relativePath>
+ </parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.tests.framework.annotations</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+ <build>
+ <plugins>
+ <!-- Empty out the xtend-gen folder in the clean phase. -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <configuration>
+ <filesets>
+ <fileset>
+ <directory>xtend-gen</directory>
+ <excludes>
+ <exclude>**/.gitignore</exclude>
+ </excludes>
+ </fileset>
+ </filesets>
+ </configuration>
+ </plugin>
+ <!-- Generate Xtend sources in the compilation phase. -->
+ <plugin>
+ <groupId>org.eclipse.xtend</groupId>
+ <artifactId>xtend-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>xtend-gen</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/Cached.xtend b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/Cached.xtend
new file mode 100644
index 00000000000..145a1365a45
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/Cached.xtend
@@ -0,0 +1,108 @@
+/*****************************************************************************
+ * 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.framework.xtend.annotations
+
+import java.lang.annotation.Target
+import java.util.Map
+import org.eclipse.xtend.lib.macro.AbstractMethodProcessor
+import org.eclipse.xtend.lib.macro.Active
+import org.eclipse.xtend.lib.macro.TransformationContext
+import org.eclipse.xtend.lib.macro.ValidationContext
+import org.eclipse.xtend.lib.macro.declaration.MethodDeclaration
+import org.eclipse.xtend.lib.macro.declaration.MutableMethodDeclaration
+import org.eclipse.xtend.lib.macro.declaration.Visibility
+import org.eclipse.xtend.lib.macro.declaration.TypeReference
+
+/**
+ * An active annotation for cached methods. A cached method's value is computed at most once
+ * for any given set of actual parameters.
+ */
+@Target(METHOD)
+@Active(CachedProcessor)
+annotation Cached {}
+
+class CachedProcessor extends AbstractMethodProcessor {
+
+ override doValidate(MethodDeclaration method, extension ValidationContext context) {
+ if (method.returnType.inferred) {
+ method.addError('Method result of inferred type cannot be cached')
+ } else if (method.returnType.primitiveIfWrapper.isVoid) {
+ method.addError('Void method result cannot be cached')
+ }
+ }
+
+ override doTransform(MutableMethodDeclaration method, extension TransformationContext context) {
+ // Create the once-method
+ method.declaringType.addMethod('_once_' + method.simpleName) [
+ visibility = Visibility.PRIVATE
+ returnType = method.returnType
+ method.typeParameters.forEach[tp |
+ addTypeParameter(tp.simpleName, tp.upperBounds)
+ ]
+ method.parameters.forEach[p |
+ addParameter(p.simpleName, p.type)
+ ]
+ body = method.body
+ primarySourceElement = method
+ ]
+
+ val listType = newWildcardTypeReference.list
+ val collectionLiteralsType = CollectionLiterals.findTypeGlobally.newTypeReference
+
+ // Ensure the existence of the cached-null token
+ val cachedNull = method.declaringType.findDeclaredField('_CACHED_NULL_') ?:
+ method.declaringType.addField('_CACHED_NULL_') [
+ visibility = Visibility.PRIVATE
+ static = true
+ final = true
+ type = object
+ initializer = ['''new «object»()''']
+ ]
+
+ // And of the cache
+ val cache = method.declaringType.addField('_cache_' + method.simpleName + '_' + method.parameters.map[type.type.simpleName].join('_')) [
+ visibility = Visibility.PRIVATE
+ final = true
+ type = Map.findTypeGlobally.newTypeReference(listType, object)
+ initializer = ['''«collectionLiteralsType.name».newHashMap()''']
+ ]
+
+ // Create a new body for the cached method.
+ method.body = ['''
+ final «listType» key = «collectionLiteralsType.name».newArrayList(«FOR p : method.parameters SEPARATOR ', '»«p.simpleName»«ENDFOR»);
+ «object» result;
+
+ synchronized («cache.simpleName») {
+ result = «cache.simpleName».get(key);
+ if (result == null) {
+ result = _once_«method.simpleName»(«FOR p : method.parameters SEPARATOR ', '»«p.simpleName»«ENDFOR»);
+ if (result == null) {
+ result = «cachedNull.simpleName»;
+ }
+ «cache.simpleName».put(key, result);
+ }
+ }
+
+ return (result == «cachedNull.simpleName») ? null : («method.returnType.nonClashingName(context)») result;
+ ''']
+ }
+
+ // Prefer qualified names for classes whose simple name clashes with a type in the java.lang package
+ private def nonClashingName(TypeReference typeRef, extension TransformationContext context) {
+ val base = typeRef.simpleName
+ val simpleName = if (typeRef.actualTypeArguments.empty) base else base.substring(0, base.indexOf('<'))
+
+ if (('java.lang.' + simpleName).findTypeGlobally == null) base else typeRef.name
+ }
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/FrameworkConfig.xtend b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/FrameworkConfig.xtend
new file mode 100644
index 00000000000..5fa989fe6bd
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/FrameworkConfig.xtend
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * 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.framework.xtend.annotations
+
+import java.lang.annotation.Target
+import org.eclipse.xtend.lib.macro.AbstractFieldProcessor
+import org.eclipse.xtend.lib.macro.Active
+import org.eclipse.xtend.lib.macro.TransformationContext
+import org.eclipse.xtend.lib.macro.declaration.MutableFieldDeclaration
+import com.google.inject.Inject
+import com.google.inject.name.Named
+
+/**
+ * An active annotation for framework configuration parameters. Annotate a field with this
+ * to mark it as optionally injected by Guice with the field name as the named injection binding.
+ * That is, the result of annotating a field as
+ * <pre>
+ * {@literal @FrameworkConfig val Iterable<String> myConfigParameter}
+ * </pre>
+ * is the same as annotating the field with
+ * <pre>
+ * {@literal @Inject(optional=true)}
+ * {@literal @Named('myConfigParameter')}
+ * {@literal val Iterable<String> myConfigParameter}
+ * </pre>
+ */
+@Target(FIELD)
+@Active(FrameworkConfigProcessor)
+annotation FrameworkConfig {}
+
+class FrameworkConfigProcessor extends AbstractFieldProcessor {
+
+ override doTransform(MutableFieldDeclaration field, extension TransformationContext context) {
+ field.addAnnotation(Inject.newAnnotationReference[
+ setBooleanValue('optional', true)
+ ])
+ field.addAnnotation(Named.newAnnotationReference[
+ setStringValue('value', field.simpleName)
+ ])
+ }
+
+} \ No newline at end of file
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/LiteralConstants.xtend b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/LiteralConstants.xtend
new file mode 100644
index 00000000000..c402b020d1e
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/LiteralConstants.xtend
@@ -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.tests.framework.xtend.annotations
+
+import java.lang.annotation.Target
+import org.eclipse.xtend.lib.annotations.Data
+import org.eclipse.xtend.lib.macro.AbstractFieldProcessor
+import org.eclipse.xtend.lib.macro.Active
+import org.eclipse.xtend.lib.macro.TransformationContext
+import org.eclipse.xtend.lib.macro.ValidationContext
+import org.eclipse.xtend.lib.macro.declaration.EnumerationTypeDeclaration
+import org.eclipse.xtend.lib.macro.declaration.FieldDeclaration
+import org.eclipse.xtend.lib.macro.declaration.MutableFieldDeclaration
+import org.eclipse.xtend.lib.macro.declaration.Visibility
+
+/**
+ * An active annotation for fields of enumeration type that generates camel-case-named constants for each literal of
+ * the enumeration type.
+ */
+@Target(FIELD)
+@Active(LiteralConstantsProcessor)
+annotation LiteralConstants {
+ /** Whether to generate static constants (default is true). */
+ boolean isStatic = true
+}
+
+class LiteralConstantsProcessor extends AbstractFieldProcessor {
+
+ override doValidate(FieldDeclaration field, extension ValidationContext context) {
+ if (field.type.inferred) {
+ field.addError('Cannot generate enumeration literal constants for inferred field type')
+ } else if (!Enum.findTypeGlobally.isAssignableFrom(field.type.type)) {
+ field.addError('Field is not of enumeration type')
+ }
+ }
+
+ override doTransform(MutableFieldDeclaration field, extension TransformationContext context) {
+ val enumType = field.type.type
+ val isStatic = field.findAnnotation(LiteralConstants.findTypeGlobally).getBooleanValue('isStatic')
+
+ switch (enumType) {
+ EnumerationTypeDeclaration : {
+ for (next : enumType.enumConstants) {
+ field.declaringType.addField(next.literalName) [
+ visibility = Visibility.PUBLIC
+ static = isStatic
+ final = true
+ type = field.type
+ initializer = '''«field.type.simpleName».«next.constantName»'''
+
+ primarySourceElement = field
+ ]
+ }
+ }
+
+ default: field.addError('Cannot resolve field\'s enumeration type declaration')
+ }
+ }
+
+ def enumConstants(EnumerationTypeDeclaration enumType) {
+ enumType.declaredValues.map[ new EnumConstants(simpleName.toCamelCase, simpleName) ]
+ }
+
+ def toCamelCase(String name) {
+ val parts = name.toLowerCase.split('_')
+ parts.get(0) + parts.subList(1, parts.size).map[toFirstUpper].join
+ }
+
+ //
+ // Nested types
+ //
+
+ @Data
+ private static class EnumConstants {
+ String literalName
+ String constantName
+ }
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/TestContextRule.xtend b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/TestContextRule.xtend
new file mode 100644
index 00000000000..9a3ca386b07
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/TestContextRule.xtend
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * 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.framework.xtend.annotations
+
+import java.lang.annotation.Target
+import org.eclipse.xtend.lib.macro.AbstractFieldProcessor
+import org.eclipse.xtend.lib.macro.Active
+import org.eclipse.xtend.lib.macro.TransformationContext
+import org.eclipse.xtend.lib.macro.declaration.MutableFieldDeclaration
+import org.eclipse.xtext.xbase.lib.Procedures.Procedure1
+import org.eclipse.xtend.lib.macro.declaration.Visibility
+
+/**
+ * An active annotation for test-context class rules. Such rules are blocks that
+ * define a {@link TestContextBuilder} as the only input (the implicit <b>{@code it}</b> variable).
+ * The field declaration may omit the type. It may be declared as either {@code var} or {@code val}
+ * but it will be generated as a {@code val}.
+ */
+@Target(FIELD)
+@Active(TestContextRuleProcessor)
+annotation TestContextRule {}
+
+class TestContextRuleProcessor extends AbstractFieldProcessor {
+
+ override doTransform(MutableFieldDeclaration field, extension TransformationContext context) {
+ field.type = findTypeGlobally(Procedure1).newTypeReference(
+ findTypeGlobally("org.eclipse.papyrus.tests.framework.gmfgenuml2utp.TransformationUtilities.TestContextBuilder").newTypeReference.newWildcardTypeReferenceWithLowerBound
+ )
+ field.final = true
+ field.visibility = Visibility.PRIVATE
+
+ field.declaringType.addMethod('get' + field.simpleName.toFirstUpper) [
+ field.markAsRead
+ returnType = field.type
+ body = ['''
+ return «field.simpleName»;
+ ''']
+ primarySourceElement = field
+ ]
+ }
+
+} \ No newline at end of file
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/TestPackageRule.xtend b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/TestPackageRule.xtend
new file mode 100644
index 00000000000..d159c2a5f13
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/src/org/eclipse/papyrus/tests/framework/xtend/annotations/TestPackageRule.xtend
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * 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.framework.xtend.annotations
+
+import java.lang.annotation.Target
+import org.eclipse.xtend.lib.macro.AbstractFieldProcessor
+import org.eclipse.xtend.lib.macro.Active
+import org.eclipse.xtend.lib.macro.TransformationContext
+import org.eclipse.xtend.lib.macro.declaration.MutableFieldDeclaration
+import org.eclipse.xtext.xbase.lib.Procedures.Procedure1
+import org.eclipse.xtend.lib.macro.declaration.Visibility
+
+/**
+ * An active annotation for test-package rules. Such rules are blocks that
+ * define a {@link TestPackageBuilder} as the only input (the implicit <b>{@code it}</b> variable).
+ * The field declaration may omit the type. It may be declared as either {@code var} or {@code val}
+ * but it will be generated as a {@code val}.
+ */
+@Target(FIELD)
+@Active(TestPackageRuleProcessor)
+annotation TestPackageRule {}
+
+class TestPackageRuleProcessor extends AbstractFieldProcessor {
+
+ override doTransform(MutableFieldDeclaration field, extension TransformationContext context) {
+ field.type = findTypeGlobally(Procedure1).newTypeReference(
+ findTypeGlobally("org.eclipse.papyrus.tests.framework.gmfgenuml2utp.TransformationUtilities.TestPackageBuilder").newTypeReference.newWildcardTypeReferenceWithLowerBound
+ )
+ field.final = true
+ field.visibility = Visibility.PRIVATE
+
+ field.declaringType.addMethod('get' + field.simpleName.toFirstUpper) [
+ field.markAsRead
+ returnType = field.type
+ body = ['''
+ return «field.simpleName»;
+ ''']
+ primarySourceElement = field
+ ]
+ }
+
+} \ No newline at end of file
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.annotations/xtend-gen/.gitignore b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/xtend-gen/.gitignore
new file mode 100644
index 00000000000..d6b7ef32c84
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.annotations/xtend-gen/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/.classpath b/tests/framework/org.eclipse.papyrus.tests.framework.edit/.classpath
new file mode 100644
index 00000000000..75556083f6e
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <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="output" path="bin"/>
+</classpath>
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/.project b/tests/framework/org.eclipse.papyrus.tests.framework.edit/.project
new file mode 100644
index 00000000000..a2e2a634656
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.tests.framework.edit</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/framework/org.eclipse.papyrus.tests.framework.edit/META-INF/MANIFEST.MF b/tests/framework/org.eclipse.papyrus.tests.framework.edit/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..76aac9ae00e
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.tests.framework.edit;singleton:=true
+Bundle-Version: 1.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.tests.framework.exceptions.provider.TestexceptionsEditPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.eclipse.papyrus.tests.framework.exceptions.provider
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.papyrus.tests.framework;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.emf.edit;visibility:=reexport,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport,
+ org.eclipse.gmf.codegen;visibility:=reexport,
+ org.eclipse.gmf.codegen.edit;visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
+ org.eclipse.uml2.uml;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport,
+ org.eclipse.emf.codegen.ecore;visibility:=reexport,
+ org.eclipse.emf.codegen.ecore.ui;visibility:=reexport,
+ org.eclipse.uml2.common.edit;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/about.html b/tests/framework/org.eclipse.papyrus.tests.framework.edit/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/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/framework/org.eclipse.papyrus.tests.framework.edit/build.properties b/tests/framework/org.eclipse.papyrus.tests.framework.edit/build.properties
new file mode 100644
index 00000000000..46b11705f39
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/build.properties
@@ -0,0 +1,20 @@
+# 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 = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin/
+src.includes = about.html
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/AnyEditPart.gif b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/AnyEditPart.gif
new file mode 100644
index 00000000000..db7414e9372
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/AnyEditPart.gif
Binary files differ
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/CompositeEditPartSpec.gif b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/CompositeEditPartSpec.gif
new file mode 100644
index 00000000000..136e3b27269
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/CompositeEditPartSpec.gif
Binary files differ
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/EditPartRef.gif b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/EditPartRef.gif
new file mode 100644
index 00000000000..30f0c48da8d
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/EditPartRef.gif
Binary files differ
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/ForbiddenEditPart.gif b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/ForbiddenEditPart.gif
new file mode 100644
index 00000000000..136e3b27269
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/ForbiddenEditPart.gif
Binary files differ
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/ForbiddenEditPartPermutation.gif b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/ForbiddenEditPartPermutation.gif
new file mode 100644
index 00000000000..5a9bc7514fa
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/ForbiddenEditPartPermutation.gif
Binary files differ
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/TestExceptions.gif b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/TestExceptions.gif
new file mode 100644
index 00000000000..7b7c428c715
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/icons/full/obj16/TestExceptions.gif
Binary files differ
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/plugin.properties b/tests/framework/org.eclipse.papyrus.tests.framework.edit/plugin.properties
new file mode 100644
index 00000000000..65bdde44dae
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/plugin.properties
@@ -0,0 +1,59 @@
+# 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 = Papyrus Diagram Test Exceptions Edit Support
+providerName = Eclipse Modeling Project
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_ForbiddenEditPartPermutation_type = Forbidden Edit Part Permutation
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_ForbiddenEditPartPermutation_editPart_feature = Edit Part
+_UI_ForbiddenEditPartPermutation_reasonKind_feature = Reason Kind
+_UI_ForbiddenEditPartPermutation_reason_feature = Reason
+_UI_ForbiddenEditPartPermutation_testClass_feature = Test Class
+_UI_Unknown_feature = Unspecified
+
+_UI_ForbiddenReasonKind_invalid_literal = invalid
+_UI_ForbiddenReasonKind_failing_literal = failing
+_UI_ForbiddenReasonKind_unimplemented_literal = unimplemented
+_UI_TestExceptions_type = Test Exceptions
+_UI_TestExceptions_constraint_feature = Constraint
+_UI_TestConstraint_type = Test Constraint
+_UI_TestConstraint_container_feature = Container
+_UI_EditPartRef_type = Edit Part Ref
+_UI_EditPartRef_editPart_feature = Edit Part
+_UI_EditPartRef_forbidden_feature = Forbidden
+_UI_EditPartSpec_type = Edit Part Spec
+_UI_CompositeEditPartSpec_type = Composite Edit Part Spec
+_UI_EditPartSpec_composite_feature = Composite
+_UI_EditPartSpec_forbidden_feature = Forbidden
+_UI_CompositeEditPartSpec_operator_feature = Operator
+_UI_CompositeEditPartSpec_operand_feature = Operand
+_UI_OperatorKind_and_literal = and
+_UI_OperatorKind_or_literal = or
+_UI_OperatorKind_not_literal = not
+_UI_AnyEditPart_type = Any Edit Part
+_UI_TestConstraint_omitOnFailure_feature = Omit On Failure
+_UI_ForbiddenEditPart_type = Forbidden Edit Part
+_UI_ForbiddenEditPart_editPart_feature = Edit Part
+_UI_ForbiddenEditPart_reason_feature = Reason
+_UI_ForbiddenEditPart_reasonKind_feature = Reason Kind
+_UI_ForbiddenReasonKind_interactive_literal = interactive
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/plugin.xml b/tests/framework/org.eclipse.papyrus.tests.framework.edit/plugin.xml
new file mode 100644
index 00000000000..1e43593b761
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/plugin.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ 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.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated test-exceptions -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/2015/testframework/exceptions"
+ class="org.eclipse.papyrus.tests.framework.exceptions.provider.ExceptionsItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+</plugin>
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/pom.xml b/tests/framework/org.eclipse.papyrus.tests.framework.edit/pom.xml
new file mode 100644
index 00000000000..69169fd4c4e
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/pom.xml
@@ -0,0 +1,16 @@
+<?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.dev.releng</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <relativePath>../../../releng/dev/pom.xml</relativePath>
+ </parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.tests.framework.edit</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/AnyEditPartItemProvider.java b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/AnyEditPartItemProvider.java
new file mode 100644
index 00000000000..fd983dbfaff
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/AnyEditPartItemProvider.java
@@ -0,0 +1,112 @@
+/**
+ * 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.framework.exceptions.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.AnyEditPart} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class AnyEditPartItemProvider extends EditPartSpecItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public AnyEditPartItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns AnyEditPart.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/AnyEditPart"));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public String getText(Object object) {
+ return "*"; //$NON-NLS-1$
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/CompositeEditPartSpecItemProvider.java b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/CompositeEditPartSpecItemProvider.java
new file mode 100644
index 00000000000..be49f338f9f
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/CompositeEditPartSpecItemProvider.java
@@ -0,0 +1,225 @@
+/**
+ * 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.framework.exceptions.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.papyrus.tests.framework.exceptions.CompositeEditPartSpec;
+import org.eclipse.papyrus.tests.framework.exceptions.EditPartSpec;
+import org.eclipse.papyrus.tests.framework.exceptions.ExceptionsFactory;
+import org.eclipse.papyrus.tests.framework.exceptions.ExceptionsPackage;
+import org.eclipse.papyrus.tests.framework.exceptions.OperatorKind;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.CompositeEditPartSpec}
+ * object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class CompositeEditPartSpecItemProvider extends EditPartSpecItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public CompositeEditPartSpecItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOperatorPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Operator feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addOperatorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_CompositeEditPartSpec_operator_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_CompositeEditPartSpec_operator_feature",
+ "_UI_CompositeEditPartSpec_type"),
+ ExceptionsPackage.Literals.COMPOSITE_EDIT_PART_SPEC__OPERATOR, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExceptionsPackage.Literals.COMPOSITE_EDIT_PART_SPEC__OPERAND);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns CompositeEditPartSpec.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/CompositeEditPartSpec"));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public String getText(Object object) {
+ CompositeEditPartSpec composite = (CompositeEditPartSpec) object;
+ OperatorKind labelValue = composite.getOperator();
+ String label = labelValue == null ? null : labelValue.toString();
+
+ StringBuilder result = new StringBuilder();
+ result.append(label).append('(');
+ boolean first = true;
+ for (EditPartSpec operand : composite.getOperands()) {
+ if (first) {
+ first = false;
+ } else {
+ result.append(", "); //$NON-NLS-1$
+ }
+ IItemLabelProvider labels = (IItemLabelProvider) getRootAdapterFactory().adapt(operand,
+ IItemLabelProvider.class);
+ result.append((labels == null) ? operand.eClass().getName() : labels.getText(operand));
+
+ if (result.length() > 150) {
+ // Too long: give up
+ result.append(" ..."); //$NON-NLS-1$
+ }
+ }
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public void notifyChangedGen(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(CompositeEditPartSpec.class)) {
+ case ExceptionsPackage.COMPOSITE_EDIT_PART_SPEC__OPERATOR:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case ExceptionsPackage.COMPOSITE_EDIT_PART_SPEC__OPERAND:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ @Override
+ public void notifyChanged(Notification notification) {
+ notifyChangedGen(notification);
+
+ switch (notification.getFeatureID(CompositeEditPartSpec.class)) {
+ case ExceptionsPackage.COMPOSITE_EDIT_PART_SPEC__OPERAND:
+ // Our label depends on this
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(ExceptionsPackage.Literals.COMPOSITE_EDIT_PART_SPEC__OPERAND,
+ ExceptionsFactory.eINSTANCE.createCompositeEditPartSpec()));
+
+ newChildDescriptors.add(createChildParameter(ExceptionsPackage.Literals.COMPOSITE_EDIT_PART_SPEC__OPERAND,
+ ExceptionsFactory.eINSTANCE.createEditPartRef()));
+
+ newChildDescriptors.add(createChildParameter(ExceptionsPackage.Literals.COMPOSITE_EDIT_PART_SPEC__OPERAND,
+ ExceptionsFactory.eINSTANCE.createAnyEditPart()));
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/EditPartRefItemProvider.java b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/EditPartRefItemProvider.java
new file mode 100644
index 00000000000..172846e006b
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/EditPartRefItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ * 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.framework.exceptions.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.papyrus.tests.framework.exceptions.EditPartRef;
+import org.eclipse.papyrus.tests.framework.exceptions.ExceptionsPackage;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.EditPartRef} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class EditPartRefItemProvider extends EditPartSpecItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EditPartRefItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addEditPartPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Edit Part feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addEditPartPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_EditPartRef_editPart_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_EditPartRef_editPart_feature",
+ "_UI_EditPartRef_type"),
+ ExceptionsPackage.Literals.EDIT_PART_REF__EDIT_PART, true, false, true, null, null, null));
+ }
+
+ /**
+ * This returns EditPartRef.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/EditPartRef"));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public String getText(Object object) {
+ EditPartRef ref = (EditPartRef) object;
+
+ String editPartName = (ref.getEditPart() == null) ? null : ref.getEditPart().getEditPartClassName();
+ String result = getString("_UI_EditPartRef_type");
+
+ if ((editPartName != null) && !editPartName.isEmpty()) {
+ result = editPartName;
+ }
+
+ return result;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(EditPartRef.class)) {
+ case ExceptionsPackage.EDIT_PART_REF__EDIT_PART:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/EditPartSpecItemProvider.java b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/EditPartSpecItemProvider.java
new file mode 100644
index 00000000000..b1e238d9cd5
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/EditPartSpecItemProvider.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.tests.framework.exceptions.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.EditPartSpec} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class EditPartSpecItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EditPartSpecItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_EditPartSpec_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return TestexceptionsEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ExceptionsItemProviderAdapterFactory.java b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ExceptionsItemProviderAdapterFactory.java
new file mode 100644
index 00000000000..ff9d6df03e1
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ExceptionsItemProviderAdapterFactory.java
@@ -0,0 +1,361 @@
+/**
+ * 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.framework.exceptions.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.tests.framework.exceptions.util.ExceptionsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support
+ * Viewers. The adapters generated by this factory convert EMF adapter
+ * notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. The
+ * adapters also support Eclipse property sheets. Note that most of the adapters
+ * are shared among multiple instances. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ExceptionsItemProviderAdapterFactory extends ExceptionsAdapterFactory
+ implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this
+ * adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement
+ * {@link org.eclipse.emf.edit.provider.IChangeNotifier}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by
+ * {@link #isFactoryForType isFactoryForType}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public ExceptionsItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.ForbiddenEditPartPermutation}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ForbiddenEditPartPermutationItemProvider forbiddenEditPartPermutationItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.ForbiddenEditPartPermutation}
+ * . <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createForbiddenEditPartPermutationAdapter() {
+ if (forbiddenEditPartPermutationItemProvider == null) {
+ forbiddenEditPartPermutationItemProvider = new ForbiddenEditPartPermutationItemProvider(this);
+ }
+
+ return forbiddenEditPartPermutationItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.TestExceptions}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TestExceptionsItemProvider testExceptionsItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.TestExceptions}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createTestExceptionsAdapter() {
+ if (testExceptionsItemProvider == null) {
+ testExceptionsItemProvider = new TestExceptionsItemProvider(this);
+ }
+
+ return testExceptionsItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.CompositeEditPartSpec}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected CompositeEditPartSpecItemProvider compositeEditPartSpecItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.CompositeEditPartSpec}
+ * . <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createCompositeEditPartSpecAdapter() {
+ if (compositeEditPartSpecItemProvider == null) {
+ compositeEditPartSpecItemProvider = new CompositeEditPartSpecItemProvider(this);
+ }
+
+ return compositeEditPartSpecItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.EditPartRef}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EditPartRefItemProvider editPartRefItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.EditPartRef}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createEditPartRefAdapter() {
+ if (editPartRefItemProvider == null) {
+ editPartRefItemProvider = new EditPartRefItemProvider(this);
+ }
+
+ return editPartRefItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.AnyEditPart}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AnyEditPartItemProvider anyEditPartItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.AnyEditPart}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createAnyEditPartAdapter() {
+ if (anyEditPartItemProvider == null) {
+ anyEditPartItemProvider = new AnyEditPartItemProvider(this);
+ }
+
+ return anyEditPartItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.ForbiddenEditPart}
+ * instances. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ForbiddenEditPartItemProvider forbiddenEditPartItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.ForbiddenEditPart}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createForbiddenEditPartAdapter() {
+ if (forbiddenEditPartItemProvider == null) {
+ forbiddenEditPartItemProvider = new ForbiddenEditPartItemProvider(this);
+ }
+
+ return forbiddenEditPartItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the
+ * adapter. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>) type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to
+ * {@link #parentAdapterFactory}. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (forbiddenEditPartPermutationItemProvider != null) {
+ forbiddenEditPartPermutationItemProvider.dispose();
+ }
+ if (testExceptionsItemProvider != null) {
+ testExceptionsItemProvider.dispose();
+ }
+ if (compositeEditPartSpecItemProvider != null) {
+ compositeEditPartSpecItemProvider.dispose();
+ }
+ if (editPartRefItemProvider != null) {
+ editPartRefItemProvider.dispose();
+ }
+ if (anyEditPartItemProvider != null) {
+ anyEditPartItemProvider.dispose();
+ }
+ if (forbiddenEditPartItemProvider != null) {
+ forbiddenEditPartItemProvider.dispose();
+ }
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ForbiddenEditPartItemProvider.java b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ForbiddenEditPartItemProvider.java
new file mode 100644
index 00000000000..cb61aa8961c
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ForbiddenEditPartItemProvider.java
@@ -0,0 +1,209 @@
+/**
+ * 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.framework.exceptions.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.tests.framework.exceptions.ExceptionsFactory;
+import org.eclipse.papyrus.tests.framework.exceptions.ExceptionsPackage;
+import org.eclipse.papyrus.tests.framework.exceptions.ForbiddenEditPart;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.ForbiddenEditPart}
+ * object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ForbiddenEditPartItemProvider extends TestConstraintItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ForbiddenEditPartItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addReasonPropertyDescriptor(object);
+ addReasonKindPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Reason feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addReasonPropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_ForbiddenEditPart_reason_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ForbiddenEditPart_reason_feature",
+ "_UI_ForbiddenEditPart_type"),
+ ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART__REASON, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Reason Kind feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addReasonKindPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ForbiddenEditPart_reasonKind_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ForbiddenEditPart_reasonKind_feature",
+ "_UI_ForbiddenEditPart_type"),
+ ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART__REASON_KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART__EDIT_PART);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ForbiddenEditPart.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ForbiddenEditPart"));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ ForbiddenEditPart forbiddenEditPart = (ForbiddenEditPart) object;
+ return getString("_UI_ForbiddenEditPart_type") + " " + forbiddenEditPart.isOmitOnFailure();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ForbiddenEditPart.class)) {
+ case ExceptionsPackage.FORBIDDEN_EDIT_PART__REASON:
+ case ExceptionsPackage.FORBIDDEN_EDIT_PART__REASON_KIND:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case ExceptionsPackage.FORBIDDEN_EDIT_PART__EDIT_PART:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART__EDIT_PART,
+ ExceptionsFactory.eINSTANCE.createCompositeEditPartSpec()));
+
+ newChildDescriptors.add(createChildParameter(ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART__EDIT_PART,
+ ExceptionsFactory.eINSTANCE.createEditPartRef()));
+
+ newChildDescriptors.add(createChildParameter(ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART__EDIT_PART,
+ ExceptionsFactory.eINSTANCE.createAnyEditPart()));
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ForbiddenEditPartPermutationItemProvider.java b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ForbiddenEditPartPermutationItemProvider.java
new file mode 100644
index 00000000000..7d4b1910d0c
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/ForbiddenEditPartPermutationItemProvider.java
@@ -0,0 +1,228 @@
+/**
+ * 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.framework.exceptions.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.tests.framework.exceptions.ExceptionsFactory;
+import org.eclipse.papyrus.tests.framework.exceptions.ExceptionsPackage;
+import org.eclipse.papyrus.tests.framework.exceptions.ForbiddenEditPartPermutation;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.ForbiddenEditPartPermutation}
+ * object. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ForbiddenEditPartPermutationItemProvider extends TestConstraintItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ForbiddenEditPartPermutationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addReasonKindPropertyDescriptor(object);
+ addReasonPropertyDescriptor(object);
+ addTestClassPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Reason Kind feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addReasonKindPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ForbiddenEditPartPermutation_reasonKind_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ForbiddenEditPartPermutation_reasonKind_feature",
+ "_UI_ForbiddenEditPartPermutation_type"),
+ ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART_PERMUTATION__REASON_KIND, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Reason feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addReasonPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ForbiddenEditPartPermutation_reason_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ForbiddenEditPartPermutation_reason_feature",
+ "_UI_ForbiddenEditPartPermutation_type"),
+ ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART_PERMUTATION__REASON, true, false, false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Test Class feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addTestClassPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(
+ ((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ForbiddenEditPartPermutation_testClass_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ForbiddenEditPartPermutation_testClass_feature",
+ "_UI_ForbiddenEditPartPermutation_type"),
+ ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART_PERMUTATION__TEST_CLASS, true, false, true, null, null,
+ null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART_PERMUTATION__EDIT_PART);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ForbiddenEditPartPermutation.gif. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ForbiddenEditPartPermutation"));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ ForbiddenEditPartPermutation forbiddenEditPartPermutation = (ForbiddenEditPartPermutation) object;
+ return getString("_UI_ForbiddenEditPartPermutation_type") + " "
+ + forbiddenEditPartPermutation.isOmitOnFailure();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ForbiddenEditPartPermutation.class)) {
+ case ExceptionsPackage.FORBIDDEN_EDIT_PART_PERMUTATION__REASON_KIND:
+ case ExceptionsPackage.FORBIDDEN_EDIT_PART_PERMUTATION__REASON:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case ExceptionsPackage.FORBIDDEN_EDIT_PART_PERMUTATION__EDIT_PART:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors
+ .add(createChildParameter(ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART_PERMUTATION__EDIT_PART,
+ ExceptionsFactory.eINSTANCE.createCompositeEditPartSpec()));
+
+ newChildDescriptors
+ .add(createChildParameter(ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART_PERMUTATION__EDIT_PART,
+ ExceptionsFactory.eINSTANCE.createEditPartRef()));
+
+ newChildDescriptors
+ .add(createChildParameter(ExceptionsPackage.Literals.FORBIDDEN_EDIT_PART_PERMUTATION__EDIT_PART,
+ ExceptionsFactory.eINSTANCE.createAnyEditPart()));
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestConstraintItemProvider.java b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestConstraintItemProvider.java
new file mode 100644
index 00000000000..dbbe5fb6aa5
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestConstraintItemProvider.java
@@ -0,0 +1,151 @@
+/**
+ * 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.framework.exceptions.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+import org.eclipse.papyrus.tests.framework.exceptions.ExceptionsPackage;
+import org.eclipse.papyrus.tests.framework.exceptions.TestConstraint;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.TestConstraint} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class TestConstraintItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TestConstraintItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOmitOnFailurePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Omit On Failure feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addOmitOnFailurePropertyDescriptor(Object object) {
+ itemPropertyDescriptors
+ .add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(), getString("_UI_TestConstraint_omitOnFailure_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_TestConstraint_omitOnFailure_feature",
+ "_UI_TestConstraint_type"),
+ ExceptionsPackage.Literals.TEST_CONSTRAINT__OMIT_ON_FAILURE, true, false, false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ TestConstraint testConstraint = (TestConstraint) object;
+ return getString("_UI_TestConstraint_type") + " " + testConstraint.isOmitOnFailure();
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(TestConstraint.class)) {
+ case ExceptionsPackage.TEST_CONSTRAINT__OMIT_ON_FAILURE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return TestexceptionsEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestExceptionsItemProvider.java b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestExceptionsItemProvider.java
new file mode 100644
index 00000000000..2bfe2f35d35
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestExceptionsItemProvider.java
@@ -0,0 +1,185 @@
+/**
+ * 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.framework.exceptions.provider;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.tests.framework.exceptions.ExceptionsFactory;
+import org.eclipse.papyrus.tests.framework.exceptions.ExceptionsPackage;
+import org.eclipse.papyrus.tests.framework.exceptions.TestExceptions;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.papyrus.tests.framework.exceptions.TestExceptions} object.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class TestExceptionsItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TestExceptionsItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to
+ * deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand},
+ * {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in
+ * {@link #createCommand}. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExceptionsPackage.Literals.TEST_EXCEPTIONS__CONSTRAINT);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper
+ // feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns TestExceptions.gif. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/TestExceptions"));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage() {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_TestExceptions_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to
+ * update any cached children and by creating a viewer notification, which
+ * it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(TestExceptions.class)) {
+ case ExceptionsPackage.TEST_EXCEPTIONS__CONSTRAINT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s
+ * describing the children that can be created under this object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(ExceptionsPackage.Literals.TEST_EXCEPTIONS__CONSTRAINT,
+ ExceptionsFactory.eINSTANCE.createForbiddenEditPartPermutation()));
+
+ newChildDescriptors.add(createChildParameter(ExceptionsPackage.Literals.TEST_EXCEPTIONS__CONSTRAINT,
+ ExceptionsFactory.eINSTANCE.createForbiddenEditPart()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return TestexceptionsEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestexceptionsEditPlugin.java b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestexceptionsEditPlugin.java
new file mode 100644
index 00000000000..086bc4c0a3a
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.edit/src-gen/org/eclipse/papyrus/tests/framework/exceptions/provider/TestexceptionsEditPlugin.java
@@ -0,0 +1,103 @@
+/**
+ * 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.framework.exceptions.provider;
+
+import org.eclipse.emf.codegen.ecore.genmodel.provider.GenModelEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.gmf.codegen.gmfgen.presentation.EditorPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the Test-exceptions edit plugin. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public final class TestexceptionsEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ public static final TestexceptionsEditPlugin INSTANCE = new TestexceptionsEditPlugin();
+
+ /**
+ * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public TestexceptionsEditPlugin() {
+ super(new ResourceLocator[] { EcoreEditPlugin.INSTANCE, EditorPlugin.INSTANCE, UMLEditPlugin.INSTANCE,
+ GenModelEditPlugin.INSTANCE, });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.editor/.classpath b/tests/framework/org.eclipse.papyrus.tests.framework.editor/.classpath
new file mode 100644
index 00000000000..75556083f6e
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <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="output" path="bin"/>
+</classpath>
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.editor/.project b/tests/framework/org.eclipse.papyrus.tests.framework.editor/.project
new file mode 100644
index 00000000000..01464f8bf32
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.tests.framework.editor</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/framework/org.eclipse.papyrus.tests.framework.editor/META-INF/MANIFEST.MF b/tests/framework/org.eclipse.papyrus.tests.framework.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..76e9325070d
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,22 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.tests.framework.editor;singleton:=true
+Bundle-Version: 1.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.tests.framework.exceptions.presentation.TestexceptionsEditorPlugin$Implementation
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Export-Package: org.eclipse.papyrus.tests.framework.exceptions.presentation
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.core.resources;visibility:=reexport,
+ org.eclipse.papyrus.tests.framework.edit;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
+ org.eclipse.emf.edit.ui;visibility:=reexport,
+ org.eclipse.ui.ide;visibility:=reexport,
+ org.eclipse.emf.ecore.edit;visibility:=reexport,
+ org.eclipse.gmf.codegen.edit;visibility:=reexport,
+ org.eclipse.uml2.uml.edit;visibility:=reexport,
+ org.eclipse.emf.codegen.ecore.ui;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.editor/about.html b/tests/framework/org.eclipse.papyrus.tests.framework.editor/about.html
new file mode 100644
index 00000000000..d35d5aed64c
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/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/framework/org.eclipse.papyrus.tests.framework.editor/build.properties b/tests/framework/org.eclipse.papyrus.tests.framework.editor/build.properties
new file mode 100644
index 00000000000..cd1bdbdd30a
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/build.properties
@@ -0,0 +1,20 @@
+# 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 = .,\
+ icons/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/
+output.. = bin
+src.includes = about.html
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.editor/icons/full/obj16/ExceptionsModelFile.gif b/tests/framework/org.eclipse.papyrus.tests.framework.editor/icons/full/obj16/ExceptionsModelFile.gif
new file mode 100644
index 00000000000..7ede4ac8f48
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/icons/full/obj16/ExceptionsModelFile.gif
Binary files differ
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.editor/icons/full/wizban/NewExceptions.gif b/tests/framework/org.eclipse.papyrus.tests.framework.editor/icons/full/wizban/NewExceptions.gif
new file mode 100644
index 00000000000..e3b9c14a6a6
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/icons/full/wizban/NewExceptions.gif
Binary files differ
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.editor/plugin.properties b/tests/framework/org.eclipse.papyrus.tests.framework.editor/plugin.properties
new file mode 100644
index 00000000000..aee0c7056cf
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/plugin.properties
@@ -0,0 +1,54 @@
+# 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 = Papyrus Diagram Test Exceptions Editor
+providerName = Eclipse Modeling Project
+
+_UI_ExceptionsEditor_menu = &Exceptions Editor
+
+_UI_CreateChild_menu_item = &New Child
+_UI_CreateSibling_menu_item = N&ew Sibling
+
+_UI_ShowPropertiesView_menu_item = Show &Properties View
+_UI_RefreshViewer_menu_item = &Refresh
+
+_UI_SelectionPage_label = Selection
+
+_UI_NoObjectSelected = Selected Nothing
+_UI_SingleObjectSelected = Selected Object: {0}
+_UI_MultiObjectSelected = Selected {0} Objects
+
+_UI_OpenEditorError_label = Open Editor
+
+_UI_Wizard_category = Example EMF Model Creation Wizards
+
+_UI_CreateModelError_message = Problems encountered in file "{0}"
+
+_UI_ExceptionsModelWizard_label = Exceptions Model
+_UI_ExceptionsModelWizard_description = Create a new Exceptions model
+
+_UI_ExceptionsEditor_label = Exceptions Model Editor
+
+_UI_ExceptionsEditorFilenameDefaultBase = My
+_UI_ExceptionsEditorFilenameExtensions = testexceptions
+
+_UI_Wizard_label = New
+
+_WARN_FilenameExtension = The file name must end in ''.{0}''
+_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}
+
+_UI_ModelObject = &Model Object
+_UI_XMLEncoding = &XML Encoding
+_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
+_UI_Wizard_initial_object_description = Select a model object to create
+
+_UI_FileConflict_label = File Conflict
+_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes?
+
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.editor/plugin.xml b/tests/framework/org.eclipse.papyrus.tests.framework.editor/plugin.xml
new file mode 100644
index 00000000000..4dfd9dc2db1
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/plugin.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ 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.ui.newWizards">
+ <!-- @generated test-exceptions -->
+ <category
+ id="org.eclipse.emf.ecore.Wizard.category.ID"
+ name="%_UI_Wizard_category"/>
+ <wizard
+ id="org.eclipse.papyrus.tests.framework.exceptions.presentation.ExceptionsModelWizardID"
+ name="%_UI_ExceptionsModelWizard_label"
+ class="org.eclipse.papyrus.tests.framework.exceptions.presentation.ExceptionsModelWizard"
+ category="org.eclipse.emf.ecore.Wizard.category.ID"
+ icon="icons/full/obj16/ExceptionsModelFile.gif">
+ <description>%_UI_ExceptionsModelWizard_description</description>
+ <selection class="org.eclipse.core.resources.IResource"/>
+ </wizard>
+ </extension>
+
+ <extension point="org.eclipse.ui.editors">
+ <!-- @generated test-exceptions -->
+ <editor
+ id="org.eclipse.papyrus.tests.framework.exceptions.presentation.ExceptionsEditorID"
+ name="%_UI_ExceptionsEditor_label"
+ icon="icons/full/obj16/ExceptionsModelFile.gif"
+ extensions="testexceptions"
+ class="org.eclipse.papyrus.tests.framework.exceptions.presentation.ExceptionsEditor"
+ contributorClass="org.eclipse.papyrus.tests.framework.exceptions.presentation.ExceptionsActionBarContributor">
+ </editor>
+ </extension>
+
+</plugin>
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.editor/pom.xml b/tests/framework/org.eclipse.papyrus.tests.framework.editor/pom.xml
new file mode 100644
index 00000000000..cde9ae019db
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/pom.xml
@@ -0,0 +1,16 @@
+<?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.dev.releng</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <relativePath>../../../releng/dev/pom.xml</relativePath>
+ </parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.tests.framework.editor</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.editor/src-gen/org/eclipse/papyrus/tests/framework/exceptions/presentation/ExceptionsActionBarContributor.java b/tests/framework/org.eclipse.papyrus.tests.framework.editor/src-gen/org/eclipse/papyrus/tests/framework/exceptions/presentation/ExceptionsActionBarContributor.java
new file mode 100644
index 00000000000..90b8e2cbe2a
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/src-gen/org/eclipse/papyrus/tests/framework/exceptions/presentation/ExceptionsActionBarContributor.java
@@ -0,0 +1,446 @@
+/**
+ * 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.framework.exceptions.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the Exceptions model editor. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ExceptionsActionBarContributor extends EditingDomainActionBarContributor
+ implements ISelectionChangedListener {
+ /**
+ * This keeps track of the active editor. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IEditorPart activeEditorPart;
+
+ /**
+ * This keeps track of the current selection provider. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ISelectionProvider selectionProvider;
+
+ /**
+ * This action opens the Properties view. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IAction showPropertiesViewAction = new Action(
+ TestexceptionsEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
+ @Override
+ public void run() {
+ try {
+ getPage().showView("org.eclipse.ui.views.PropertySheet");
+ } catch (PartInitException exception) {
+ TestexceptionsEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * This action refreshes the viewer of the current editor if the editor
+ * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IAction refreshViewerAction = new Action(
+ TestexceptionsEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+ @Override
+ public boolean isEnabled() {
+ return activeEditorPart instanceof IViewerProvider;
+ }
+
+ @Override
+ public void run() {
+ if (activeEditorPart instanceof IViewerProvider) {
+ Viewer viewer = ((IViewerProvider) activeEditorPart).getViewer();
+ if (viewer != null) {
+ viewer.refresh();
+ }
+ }
+ }
+ };
+
+ /**
+ * This will contain one
+ * {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to
+ * each descriptor generated for the current selection by the item provider.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> createChildActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be
+ * added for CreateChild actions. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected IMenuManager createChildMenuManager;
+
+ /**
+ * This will contain one
+ * {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding
+ * to each descriptor generated for the current selection by the item
+ * provider. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> createSiblingActions;
+
+ /**
+ * This is the menu manager into which menu contribution items should be
+ * added for CreateSibling actions. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IMenuManager createSiblingMenuManager;
+
+ /**
+ * This creates an instance of the contributor. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ public ExceptionsActionBarContributor() {
+ super(ADDITIONS_LAST_STYLE);
+ loadResourceAction = new LoadResourceAction();
+ validateAction = new ValidateAction();
+ controlAction = new ControlAction();
+ }
+
+ /**
+ * This adds Separators for editor additions to the tool bar. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void contributeToToolBar(IToolBarManager toolBarManager) {
+ toolBarManager.add(new Separator("exceptions-settings"));
+ toolBarManager.add(new Separator("exceptions-additions"));
+ }
+
+ /**
+ * This adds to the menu bar a menu and some separators for editor
+ * additions, as well as the sub-menus for object creation items. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void contributeToMenu(IMenuManager menuManager) {
+ super.contributeToMenu(menuManager);
+
+ IMenuManager submenuManager = new MenuManager(
+ TestexceptionsEditorPlugin.INSTANCE.getString("_UI_ExceptionsEditor_menu"),
+ "org.eclipse.papyrus.tests.framework.exceptionsMenuID");
+ menuManager.insertAfter("additions", submenuManager);
+ submenuManager.add(new Separator("settings"));
+ submenuManager.add(new Separator("actions"));
+ submenuManager.add(new Separator("additions"));
+ submenuManager.add(new Separator("additions-end"));
+
+ // Prepare for CreateChild item addition or removal.
+ //
+ createChildMenuManager = new MenuManager(
+ TestexceptionsEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ submenuManager.insertBefore("additions", createChildMenuManager);
+
+ // Prepare for CreateSibling item addition or removal.
+ //
+ createSiblingMenuManager = new MenuManager(
+ TestexceptionsEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ submenuManager.insertBefore("additions", createSiblingMenuManager);
+
+ // Force an update because Eclipse hides empty menus now.
+ //
+ submenuManager.addMenuListener(new IMenuListener() {
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ menuManager.updateAll(true);
+ }
+ });
+
+ addGlobalActions(submenuManager);
+ }
+
+ /**
+ * When the active editor changes, this remembers the change and registers
+ * with it as a selection provider. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setActiveEditor(IEditorPart part) {
+ super.setActiveEditor(part);
+ activeEditorPart = part;
+
+ // Switch to the new selection provider.
+ //
+ if (selectionProvider != null) {
+ selectionProvider.removeSelectionChangedListener(this);
+ }
+ if (part == null) {
+ selectionProvider = null;
+ } else {
+ selectionProvider = part.getSite().getSelectionProvider();
+ selectionProvider.addSelectionChangedListener(this);
+
+ // Fake a selection changed event to update the menus.
+ //
+ if (selectionProvider.getSelection() != null) {
+ selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+ }
+ }
+ }
+
+ /**
+ * This implements
+ * {@link org.eclipse.jface.viewers.ISelectionChangedListener}, handling
+ * {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for
+ * the children and siblings that can be added to the selected object and
+ * updating the menus accordingly. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ // Remove any menu items for old selection.
+ //
+ if (createChildMenuManager != null) {
+ depopulateManager(createChildMenuManager, createChildActions);
+ }
+ if (createSiblingMenuManager != null) {
+ depopulateManager(createSiblingMenuManager, createSiblingActions);
+ }
+
+ // Query the new selection for appropriate new child/sibling descriptors
+ //
+ Collection<?> newChildDescriptors = null;
+ Collection<?> newSiblingDescriptors = null;
+
+ ISelection selection = event.getSelection();
+ if (selection instanceof IStructuredSelection && ((IStructuredSelection) selection).size() == 1) {
+ Object object = ((IStructuredSelection) selection).getFirstElement();
+
+ EditingDomain domain = ((IEditingDomainProvider) activeEditorPart).getEditingDomain();
+
+ newChildDescriptors = domain.getNewChildDescriptors(object, null);
+ newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
+ }
+
+ // Generate actions for selection; populate and redraw the menus.
+ //
+ createChildActions = generateCreateChildActions(newChildDescriptors, selection);
+ createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+ if (createChildMenuManager != null) {
+ populateManager(createChildMenuManager, createChildActions, null);
+ createChildMenuManager.update(true);
+ }
+ if (createSiblingMenuManager != null) {
+ populateManager(createSiblingMenuManager, createSiblingActions, null);
+ createSiblingMenuManager.update(true);
+ }
+ }
+
+ /**
+ * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction}
+ * for each object in <code>descriptors</code>, and returns the collection
+ * of these actions. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This generates a
+ * {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each
+ * object in <code>descriptors</code>, and returns the collection of these
+ * actions. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
+ Collection<IAction> actions = new ArrayList<IAction>();
+ if (descriptors != null) {
+ for (Object descriptor : descriptors) {
+ actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
+ }
+ }
+ return actions;
+ }
+
+ /**
+ * This populates the specified <code>manager</code> with
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the
+ * {@link org.eclipse.jface.action.IAction}s contained in the
+ * <code>actions</code> collection, by inserting them before the specified
+ * contribution item <code>contributionID</code>. If
+ * <code>contributionID</code> is <code>null</code>, they are simply added.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions,
+ String contributionID) {
+ if (actions != null) {
+ for (IAction action : actions) {
+ if (contributionID != null) {
+ manager.insertBefore(contributionID, action);
+ } else {
+ manager.add(action);
+ }
+ }
+ }
+ }
+
+ /**
+ * This removes from the specified <code>manager</code> all
+ * {@link org.eclipse.jface.action.ActionContributionItem}s based on the
+ * {@link org.eclipse.jface.action.IAction}s contained in the
+ * <code>actions</code> collection. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
+ if (actions != null) {
+ IContributionItem[] items = manager.getItems();
+ for (int i = 0; i < items.length; i++) {
+ // Look into SubContributionItems
+ //
+ IContributionItem contributionItem = items[i];
+ while (contributionItem instanceof SubContributionItem) {
+ contributionItem = ((SubContributionItem) contributionItem).getInnerItem();
+ }
+
+ // Delete the ActionContributionItems with matching action.
+ //
+ if (contributionItem instanceof ActionContributionItem) {
+ IAction action = ((ActionContributionItem) contributionItem).getAction();
+ if (actions.contains(action)) {
+ manager.remove(contributionItem);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * This populates the pop-up menu before it appears. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void menuAboutToShow(IMenuManager menuManager) {
+ super.menuAboutToShow(menuManager);
+ MenuManager submenuManager = null;
+
+ submenuManager = new MenuManager(TestexceptionsEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+ populateManager(submenuManager, createChildActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+
+ submenuManager = new MenuManager(TestexceptionsEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+ populateManager(submenuManager, createSiblingActions, null);
+ menuManager.insertBefore("edit", submenuManager);
+ }
+
+ /**
+ * This inserts global actions before the "additions-end" separator. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected void addGlobalActions(IMenuManager menuManager) {
+ menuManager.insertAfter("additions-end", new Separator("ui-actions"));
+ menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+ refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
+ menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+ super.addGlobalActions(menuManager);
+ }
+
+ /**
+ * This ensures that a delete action will clean up all references to deleted
+ * objects. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected boolean removeAllReferencesOnDelete() {
+ return true;
+ }
+
+}
diff --git a/tests/framework/org.eclipse.papyrus.tests.framework.editor/src-gen/org/eclipse/papyrus/tests/framework/exceptions/presentation/ExceptionsEditor.java b/tests/framework/org.eclipse.papyrus.tests.framework.editor/src-gen/org/eclipse/papyrus/tests/framework/exceptions/presentation/ExceptionsEditor.java
new file mode 100644
index 00000000000..2fdf4860d94
--- /dev/null
+++ b/tests/framework/org.eclipse.papyrus.tests.framework.editor/src-gen/org/eclipse/papyrus/tests/framework/exceptions/presentation/ExceptionsEditor.java
@@ -0,0 +1,1553 @@
+/**
+ * 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.framework.exceptions.presentation;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IStatusLineManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.dialogs.ProgressMonitorDialog;
+
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.swt.SWT;
+
+import org.eclipse.swt.custom.CTabFolder;
+
+import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
+import org.eclipse.swt.dnd.Transfer;
+
+import org.eclipse.swt.events.ControlAdapter;
+import org.eclipse.swt.events.ControlEvent;
+
+import org.eclipse.swt.graphics.Point;
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.Tree;
+
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PartInitException;
+
+import org.eclipse.ui.dialogs.SaveAsDialog;
+
+import org.eclipse.ui.ide.IGotoMarker;
+
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.eclipse.ui.views.contentoutline.ContentOutline;
+import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+import org.eclipse.ui.views.properties.IPropertySheetPage;
+import org.eclipse.ui.views.properties.PropertySheet;
+import org.eclipse.ui.views.properties.PropertySheetPage;
+
+import org.eclipse.emf.common.command.BasicCommandStack;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CommandStack;
+import org.eclipse.emf.common.command.CommandStackListener;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.ui.MarkerHelper;
+
+import org.eclipse.emf.common.ui.editor.ProblemEditorPart;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
+
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+
+import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor;
+
+import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter;
+import org.eclipse.emf.edit.ui.dnd.LocalTransfer;
+import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter;
+
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider;
+
+import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper;
+import org.eclipse.emf.edit.ui.util.EditUIUtil;
+
+import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage;
+
+import org.eclipse.papyrus.tests.framework.exceptions.provider.ExceptionsItemProviderAdapterFactory;
+
+import org.eclipse.emf.codegen.ecore.genmodel.provider.GenModelItemProviderAdapterFactory;
+
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+
+import org.eclipse.gmf.codegen.gmfgen.provider.GMFGenItemProviderAdapterFactory;
+
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory;
+
+/**
+ * This is an example of a Exceptions model editor. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+public class ExceptionsEditor extends MultiPageEditorPart
+ implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker {
+ /**
+ * This keeps track of the editing domain that is used to track all changes
+ * to the model. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected AdapterFactoryEditingDomain editingDomain;
+
+ /**
+ * This is the one adapter factory used for providing views of the model.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ComposedAdapterFactory adapterFactory;
+
+ /**
+ * This is the content outline page. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IContentOutlinePage contentOutlinePage;
+
+ /**
+ * This is a kludge... <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IStatusLineManager contentOutlineStatusLineManager;
+
+ /**
+ * This is the content outline page's viewer. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer contentOutlineViewer;
+
+ /**
+ * This is the property sheet page. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
+
+ /**
+ * This is the viewer that shadows the selection in the content outline. The
+ * parent relation must be correctly defined for this to work. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected TreeViewer selectionViewer;
+
+ /**
+ * This keeps track of the active content viewer, which may be either one of
+ * the viewers in the pages or the content outline viewer. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Viewer currentViewer;
+
+ /**
+ * This listens to which ever viewer is active. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected ISelectionChangedListener selectionChangedListener;
+
+ /**
+ * This keeps track of all the
+ * {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are
+ * listening to this editor. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+
+ /**
+ * This keeps track of the selection of the editor as a whole. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ISelection editorSelection = StructuredSelection.EMPTY;
+
+ /**
+ * The MarkerHelper is responsible for creating workspace resource markers
+ * presented in Eclipse's Problems View. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected MarkerHelper markerHelper = new EditUIMarkerHelper();
+
+ /**
+ * This listens for when the outline becomes active <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected IPartListener partListener = new IPartListener() {
+ @Override
+ public void partActivated(IWorkbenchPart p) {
+ if (p instanceof ContentOutline) {
+ if (((ContentOutline) p).getCurrentPage() == contentOutlinePage) {
+ getActionBarContributor().setActiveEditor(ExceptionsEditor.this);
+
+ setCurrentViewer(contentOutlineViewer);
+ }
+ } else if (p instanceof PropertySheet) {
+ if (propertySheetPages.contains(((PropertySheet) p).getCurrentPage())) {
+ getActionBarContributor().setActiveEditor(ExceptionsEditor.this);
+ handleActivate();
+ }
+ } else if (p == ExceptionsEditor.this) {
+ handleActivate();
+ }
+ }
+
+ @Override
+ public void partBroughtToTop(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ @Override
+ public void partClosed(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ @Override
+ public void partDeactivated(IWorkbenchPart p) {
+ // Ignore.
+ }
+
+ @Override
+ public void partOpened(IWorkbenchPart p) {
+ // Ignore.
+ }
+ };
+
+ /**
+ * Resources that have been removed since last activation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been changed since last activation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+
+ /**
+ * Resources that have been saved. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ protected Collection<Resource> savedResources = new ArrayList<Resource>();
+
+ /**
+ * Map to store the diagnostic associated with a resource. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Map<Resource, Diagnostic> resourceToDiagnosticMap = new LinkedHashMap<Resource, Diagnostic>();
+
+ /**
+ * Controls whether the problem indication should be updated. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected boolean updateProblemIndication = true;
+
+ /**
+ * Adapter used to update the problem indication when resources are demanded
+ * loaded. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected EContentAdapter problemIndicationAdapter = new EContentAdapter() {
+ @Override
+ public void notifyChanged(Notification notification) {
+ if (notification.getNotifier() instanceof Resource) {
+ switch (notification.getFeatureID(Resource.class)) {
+ case Resource.RESOURCE__IS_LOADED:
+ case Resource.RESOURCE__ERRORS:
+ case Resource.RESOURCE__WARNINGS: {
+ Resource resource = (Resource) notification.getNotifier();
+ Diagnostic diagnostic = analyzeResourceProblems(resource, null);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ resourceToDiagnosticMap.put(resource, diagnostic);
+ } else {
+ resourceToDiagnosticMap.remove(resource);
+ }
+
+ if (updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ break;
+ }
+ }
+ } else {
+ super.notifyChanged(notification);
+ }
+ }
+
+ @Override
+ protected void setTarget(Resource target) {
+ basicSetTarget(target);
+ }
+
+ @Override
+ protected void unsetTarget(Resource target) {
+ basicUnsetTarget(target);
+ resourceToDiagnosticMap.remove(target);
+ if (updateProblemIndication) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ updateProblemIndication();
+ }
+ });
+ }
+ }
+ };
+
+ /**
+ * This listens for workspace changes. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() {
+ @Override
+ public void resourceChanged(IResourceChangeEvent event) {
+ IResourceDelta delta = event.getDelta();
+ try {
+ class ResourceDeltaVisitor implements IResourceDeltaVisitor {
+ protected ResourceSet resourceSet = editingDomain.getResourceSet();
+ protected Collection<Resource> changedResources = new ArrayList<Resource>();
+ protected Collection<Resource> removedResources = new ArrayList<Resource>();
+
+ @Override
+ public boolean visit(IResourceDelta delta) {
+ if (delta.getResource().getType() == IResource.FILE) {
+ if (delta.getKind() == IResourceDelta.REMOVED || delta.getKind() == IResourceDelta.CHANGED
+ && delta.getFlags() != IResourceDelta.MARKERS) {
+ Resource resource = resourceSet.getResource(
+ URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false);
+ if (resource != null) {
+ if (delta.getKind() == IResourceDelta.REMOVED) {
+ removedResources.add(resource);
+ } else if (!savedResources.remove(resource)) {
+ changedResources.add(resource);
+ }
+ }
+ }
+ return false;
+ }
+
+ return true;
+ }
+
+ public Collection<Resource> getChangedResources() {
+ return changedResources;
+ }
+
+ public Collection<Resource> getRemovedResources() {
+ return removedResources;
+ }
+ }
+
+ final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+ delta.accept(visitor);
+
+ if (!visitor.getRemovedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ removedResources.addAll(visitor.getRemovedResources());
+ if (!isDirty()) {
+ getSite().getPage().closeEditor(ExceptionsEditor.this, false);
+ }
+ }
+ });
+ }
+
+ if (!visitor.getChangedResources().isEmpty()) {
+ getSite().getShell().getDisplay().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ changedResources.addAll(visitor.getChangedResources());
+ if (getSite().getPage().getActiveEditor() == ExceptionsEditor.this) {
+ handleActivate();
+ }
+ }
+ });
+ }
+ } catch (CoreException exception) {
+ TestexceptionsEditorPlugin.INSTANCE.log(exception);
+ }
+ }
+ };
+
+ /**
+ * Handles activation of the editor or it's associated views. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void handleActivate() {
+ // Recompute the read only state.
+ //
+ if (editingDomain.getResourceToReadOnlyMap() != null) {
+ editingDomain.getResourceToReadOnlyMap().clear();
+
+ // Refresh any actions that may become enabled or disabled.
+ //
+ setSelection(getSelection());
+ }
+
+ if (!removedResources.isEmpty()) {
+ if (handleDirtyConflict()) {
+ getSite().getPage().closeEditor(ExceptionsEditor.this, false);
+ } else {
+ removedResources.clear();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ } else if (!changedResources.isEmpty()) {
+ changedResources.removeAll(savedResources);
+ handleChangedResources();
+ changedResources.clear();
+ savedResources.clear();
+ }
+ }
+
+ /**
+ * Handles what to do with changed resources on activation. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void handleChangedResources() {
+ if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+ if (isDirty()) {
+ changedResources.addAll(editingDomain.getResourceSet().getResources());
+ }
+ editingDomain.getCommandStack().flush();
+
+ updateProblemIndication = false;
+ for (Resource resource : changedResources) {
+ if (resource.isLoaded()) {
+ resource.unload();
+ try {
+ resource.load(Collections.EMPTY_MAP);
+ } catch (IOException exception) {
+ if (!resourceToDiagnosticMap.containsKey(resource)) {
+ resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception));
+ }
+ }
+ }
+ }
+
+ if (AdapterFactoryEditingDomain.isStale(editorSelection)) {
+ setSelection(StructuredSelection.EMPTY);
+ }
+
+ updateProblemIndication = true;
+ updateProblemIndication();
+ }
+ }
+
+ /**
+ * Updates the problems indication with the information described in the
+ * specified diagnostic. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void updateProblemIndication() {
+ if (updateProblemIndication) {
+ BasicDiagnostic diagnostic = new BasicDiagnostic(Diagnostic.OK,
+ "org.eclipse.papyrus.tests.framework.editor", 0, null,
+ new Object[] { editingDomain.getResourceSet() });
+ for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) {
+ if (childDiagnostic.getSeverity() != Diagnostic.OK) {
+ diagnostic.add(childDiagnostic);
+ }
+ }
+
+ int lastEditorPage = getPageCount() - 1;
+ if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) {
+ ((ProblemEditorPart) getEditor(lastEditorPage)).setDiagnostic(diagnostic);
+ if (diagnostic.getSeverity() != Diagnostic.OK) {
+ setActivePage(lastEditorPage);
+ }
+ } else if (diagnostic.getSeverity() != Diagnostic.OK) {
+ ProblemEditorPart problemEditorPart = new ProblemEditorPart();
+ problemEditorPart.setDiagnostic(diagnostic);
+ problemEditorPart.setMarkerHelper(markerHelper);
+ try {
+ addPage(++lastEditorPage, problemEditorPart, getEditorInput());
+ setPageText(lastEditorPage, problemEditorPart.getPartName());
+ setActivePage(lastEditorPage);
+ showTabs();
+ } catch (PartInitException exception) {