Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristian W. Damus2013-09-07 13:14:16 +0000
committerChristian W. Damus2013-09-07 13:56:37 +0000
commit8842394d5f70ff7c5682e5087d78bc20d4351b52 (patch)
treec0b73d7c757d787bf05c896c45ab8968a3a5d396 /tests
parentd12ae709cb693b13870c198b78232a38ab207825 (diff)
downloadorg.eclipse.papyrus-8842394d5f70ff7c5682e5087d78bc20d4351b52.tar.gz
org.eclipse.papyrus-8842394d5f70ff7c5682e5087d78bc20d4351b52.tar.xz
org.eclipse.papyrus-8842394d5f70ff7c5682e5087d78bc20d4351b52.zip
415371: Regression tests for CDO model search
https://bugs.eclipse.org/bugs/show_bug.cgi?id=415371
Diffstat (limited to 'tests')
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.core.tests/src/org/eclipse/papyrus/cdo/core/tests/AbstractPapyrusCDOTest.java9
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.tests/META-INF/MANIFEST.MF5
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.tests/src/org/eclipse/papyrus/cdo/tests/AllTests.java3
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.classpath7
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.project28
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.settings/org.eclipse.jdt.core.prefs287
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.settings/org.eclipse.jdt.ui.prefs58
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/META-INF/MANIFEST.MF18
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/about.html28
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/build.properties6
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/plugin.properties13
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.di17
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.notation37
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.uml10
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.di23
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.notation479
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.uml65
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.di17
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.notation143
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.uml72
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.di23
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.notation765
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.uml155
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AbstractPapyrusCDOSearchTest.java260
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AdvancedTextSearchTest.java132
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AllTests.java29
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/BasicTextSearchTest.java82
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/SearchScopingTest.java91
28 files changed, 2859 insertions, 3 deletions
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.core.tests/src/org/eclipse/papyrus/cdo/core/tests/AbstractPapyrusCDOTest.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.core.tests/src/org/eclipse/papyrus/cdo/core/tests/AbstractPapyrusCDOTest.java
index b4322a658f0..63a158dcb4f 100644
--- a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.core.tests/src/org/eclipse/papyrus/cdo/core/tests/AbstractPapyrusCDOTest.java
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.core.tests/src/org/eclipse/papyrus/cdo/core/tests/AbstractPapyrusCDOTest.java
@@ -194,6 +194,15 @@ public abstract class AbstractPapyrusCDOTest {
return URI.createURI("cdo://" + repoUUID + getResourcePath(path), false);
}
+ protected URI getRepositoryURI() {
+ return getInternalPapyrusRepository().getMasterView().getRootResource().getURI();
+ }
+
+ protected URI getTestFolderURI() {
+ // last segment adds the trailing separator
+ return getRepositoryURI().appendSegment(getClass().getSimpleName()).appendSegment(name.getMethodName()).appendSegment("");
+ }
+
protected static <T> T cast(Object object, Class<T> type) {
assertThat(object, instanceOf(type));
return type.cast(object);
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.tests/META-INF/MANIFEST.MF b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.tests/META-INF/MANIFEST.MF
index 569341dc39f..af86a7b810f 100644
--- a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.tests/META-INF/MANIFEST.MF
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.tests/META-INF/MANIFEST.MF
@@ -2,10 +2,11 @@ Manifest-Version: 1.0
Require-Bundle: org.eclipse.papyrus.cdo.core.tests;bundle-version="0.10.1",
org.eclipse.papyrus.cdo.ui.tests;bundle-version="0.10.1",
org.eclipse.papyrus.cdo.validation.problems.tests;bundle-version="0.10.1",
- org.eclipse.papyrus.cdo.uml.ui.tests;bundle-version="0.10.1"
+ org.eclipse.papyrus.cdo.uml.ui.tests;bundle-version="0.10.1",
+ org.eclipse.papyrus.cdo.uml.search.ui.tests;bundle-version="0.10.100"
Export-Package: org.eclipse.papyrus.cdo.tests
Bundle-Vendor: %providerName
-Bundle-Version: 0.10.1.qualifier
+Bundle-Version: 0.10.100.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.tests/src/org/eclipse/papyrus/cdo/tests/AllTests.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.tests/src/org/eclipse/papyrus/cdo/tests/AllTests.java
index d9dd3ef758e..46526282630 100644
--- a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.tests/src/org/eclipse/papyrus/cdo/tests/AllTests.java
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.tests/src/org/eclipse/papyrus/cdo/tests/AllTests.java
@@ -22,7 +22,8 @@ import org.junit.runners.Suite.SuiteClasses;
@SuiteClasses({ org.eclipse.papyrus.cdo.core.tests.AllTests.class, //
org.eclipse.papyrus.cdo.ui.tests.AllTests.class, //
org.eclipse.papyrus.cdo.uml.ui.tests.AllTests.class, //
-org.eclipse.papyrus.cdo.validation.problems.tests.ProblemsAllTests.class })
+org.eclipse.papyrus.cdo.validation.problems.tests.ProblemsAllTests.class, //
+org.eclipse.papyrus.cdo.uml.search.ui.tests.AllTests.class })
public class AllTests {
public AllTests() {
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.classpath b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.classpath
new file mode 100644
index 00000000000..ad32c83a788
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.project b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.project
new file mode 100644
index 00000000000..e788df37f5f
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.cdo.uml.search.ui.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..2517fe7505f
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,287 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0
+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=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
+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=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
+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=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=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=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
+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=150
+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=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
+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_at_end_of_file_if_missing=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=do not 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_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_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=do not 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=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not 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=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not 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=do not 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=true
+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=200
+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=false
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..9041142f8fa
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,58 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Papyrus Formatter Profile CDM
+formatter_settings_version=12
+org.eclipse.jdt.ui.javadoc=true
+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\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\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.\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 *****************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * This is the ${type_name} type. Enjoy.\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"/><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\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>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/META-INF/MANIFEST.MF b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..54a6945b255
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-Vendor: %providerName
+Bundle-SymbolicName: org.eclipse.papyrus.cdo.uml.search.ui.tests
+Bundle-Version: 0.10.100.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Localization: plugin
+Require-Bundle: org.eclipse.papyrus.cdo.core.tests;bundle-version="0.10.1",
+ org.eclipse.papyrus.cdo.uml.search.ui;bundle-version="0.10.100",
+ org.eclipse.papyrus.uml.search.ui;bundle-version="0.10.1",
+ org.eclipse.papyrus.views.search;bundle-version="0.10.1",
+ org.eclipse.ui;bundle-version="3.105.0",
+ org.eclipse.papyrus.cdo.ui,
+ org.eclipse.search;bundle-version="3.9.0"
+Import-Package: com.google.common.base;version="10.0.1",
+ com.google.common.collect;version="10.0.1"
+Export-Package: org.eclipse.papyrus.cdo.uml.search.ui.tests
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/about.html b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/about.html
new file mode 100644
index 00000000000..dd3c089a94c
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>November 14, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/build.properties b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/build.properties
new file mode 100644
index 00000000000..b67aba1a416
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties,\
+ about.html
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/plugin.properties b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/plugin.properties
new file mode 100644
index 00000000000..c403fb5a761
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/plugin.properties
@@ -0,0 +1,13 @@
+# Copyright (c) 2013 CEA LIST.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# CEA LIST - Initial API and implementation
+#
+
+pluginName = Papyrus CDO UML Search UI Tests (Incubation)
+providerName = Eclipse Modeling Project
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.di b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.di
new file mode 100644
index 00000000000..7e820fe875e
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.di
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ASCII"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="admin.notation#_a6YuMBexEeOaDesjAlqXXw"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="admin.notation#_a6YuMBexEeOaDesjAlqXXw"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.notation b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.notation
new file mode 100644
index 00000000000..e58ec2f11b1
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.notation
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_a6YuMBexEeOaDesjAlqXXw" type="PapyrusUMLClassDiagram" name="Classes" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_a6YuMRexEeOaDesjAlqXXw" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a6YuMhexEeOaDesjAlqXXw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a6YuMxexEeOaDesjAlqXXw" type="7017">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a6YuNBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a6YuNRexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a6YuNhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a6YuNxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a6YuOBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a6YuORexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a6YuOhexEeOaDesjAlqXXw" type="7018">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a6YuOxexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a6YuPBexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a6YuPRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a6YuPhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a6YuPxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a6YuQBexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a6YuQRexEeOaDesjAlqXXw" type="7019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a6YuQhexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a6YuQxexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a6YuRBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a6YuRRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a6YuRhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a6YuRxexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Class" href="admin.uml#_a62oQxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a6YuSBexEeOaDesjAlqXXw" x="95" y="91"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_a6YuSRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Model" href="admin.uml#_a62oQBexEeOaDesjAlqXXw"/>
+</notation:Diagram>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.uml b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.uml
new file mode 100644
index 00000000000..fe7fd6f3364
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/admin.uml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_a62oQBexEeOaDesjAlqXXw" name="AdminConsole">
+ <packageImport xmi:id="_a62oQRexEeOaDesjAlqXXw">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:id="_a62oQhexEeOaDesjAlqXXw">
+ <importedPackage xmi:type="uml:Model" href="tracker.uml#_a28_sBexEeOaDesjAlqXXw"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Class" xmi:id="_a62oQxexEeOaDesjAlqXXw" name="AdminConsole"/>
+</uml:Model>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.di b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.di
new file mode 100644
index 00000000000..c30e5b88ba8
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.di
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ASCII"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="garage.notation#_a4w9kBexEeOaDesjAlqXXw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="garage.notation#_a45gcBexEeOaDesjAlqXXw"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="garage.notation#_a4w9kBexEeOaDesjAlqXXw"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="garage.notation#_a45gcBexEeOaDesjAlqXXw"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.notation b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.notation
new file mode 100644
index 00000000000..c73fe29a98b
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.notation
@@ -0,0 +1,479 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
+ <notation:Diagram xmi:id="_a4w9kBexEeOaDesjAlqXXw" type="PapyrusUMLClassDiagram" name="NewDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_a4w9kRexEeOaDesjAlqXXw" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w9khexEeOaDesjAlqXXw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9kxexEeOaDesjAlqXXw" type="7017">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w9lBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w9lRexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w9lhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w9lxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w9mBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9mRexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9mhexEeOaDesjAlqXXw" type="7018">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w9mxexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w9nBexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w9nRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w9nhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w9nxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9oBexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9oRexEeOaDesjAlqXXw" type="7019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w9ohexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w9oxexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w9pBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w9pRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w9phexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9pxexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9qBexEeOaDesjAlqXXw" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w9qRexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w9qhexEeOaDesjAlqXXw" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w9qxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9rBexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Class" href="garage.uml#_a5Qs0RexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9rRexEeOaDesjAlqXXw" x="81" y="36"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a4w9rhexEeOaDesjAlqXXw" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w9rxexEeOaDesjAlqXXw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9sBexEeOaDesjAlqXXw" type="7017">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w9sRexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w9shexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w9sxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w9tBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w9tRexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9thexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9txexEeOaDesjAlqXXw" type="7018">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w9uBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w9uRexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w9uhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w9uxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w9vBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9vRexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9vhexEeOaDesjAlqXXw" type="7019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w9vxexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w9wBexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w9wRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w9whexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w9wxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9xBexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9xRexEeOaDesjAlqXXw" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w9xhexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w9xxexEeOaDesjAlqXXw" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w9yBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9yRexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Class" href="garage.uml#_a5Qs6RexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9yhexEeOaDesjAlqXXw" x="451" y="103"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a4w9yxexEeOaDesjAlqXXw" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w9zBexEeOaDesjAlqXXw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9zRexEeOaDesjAlqXXw" type="7017">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w9zhexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w9zxexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w90BexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w90RexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w90hexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w90xexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w91BexEeOaDesjAlqXXw" type="7018">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w91RexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w91hexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w91xexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w92BexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w92RexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w92hexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w92xexEeOaDesjAlqXXw" type="7019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w93BexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w93RexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w93hexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w93xexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w94BexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w94RexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w94hexEeOaDesjAlqXXw" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w94xexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w95BexEeOaDesjAlqXXw" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w95RexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w95hexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Class" href="garage.uml#_a5Qs6hexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w95xexEeOaDesjAlqXXw" x="36" y="252"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a4w96BexEeOaDesjAlqXXw" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w96RexEeOaDesjAlqXXw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w96hexEeOaDesjAlqXXw" type="7017">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w96xexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w97BexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w97RexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w97hexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w97xexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w98BexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w98RexEeOaDesjAlqXXw" type="7018">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w98hexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w98xexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w99BexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w99RexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w99hexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w99xexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9-BexEeOaDesjAlqXXw" type="7019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w9-RexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w9-hexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w9-xexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a4w9_BexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a4w9_RexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w9_hexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a4w9_xexEeOaDesjAlqXXw" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a4w-ABexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a4w-ARexEeOaDesjAlqXXw" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a4w-AhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w-AxexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Class" href="garage.uml#_a5Qs8xexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a4w-BBexEeOaDesjAlqXXw" x="279" y="252"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_a4w-BRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Model" href="garage.uml#_a5Qs0BexEeOaDesjAlqXXw"/>
+ <edges xmi:type="notation:Connector" xmi:id="_a4w-BhexEeOaDesjAlqXXw" type="4001" source="_a4w9kRexEeOaDesjAlqXXw" target="_a4w9yxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-BxexEeOaDesjAlqXXw" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-CBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-CRexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-ChexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-CxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-DBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-DRexEeOaDesjAlqXXw" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-DhexEeOaDesjAlqXXw" x="-12" y="42"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-DxexEeOaDesjAlqXXw" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-EBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-ERexEeOaDesjAlqXXw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-EhexEeOaDesjAlqXXw" x="-4" y="-37"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a4w-ExexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Association" href="garage.uml#_a5Qs6xexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a4w-FBexEeOaDesjAlqXXw" points="[29, 50, -71, -119]$[110, 157, 10, -12]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a4w-FRexEeOaDesjAlqXXw" id="(0.53,0.07)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a4w-FhexEeOaDesjAlqXXw" type="4001" source="_a4w9kRexEeOaDesjAlqXXw" target="_a4w9rhexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-FxexEeOaDesjAlqXXw" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-GBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-GRexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-GhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-GxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-HBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-HRexEeOaDesjAlqXXw" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-HhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-HxexEeOaDesjAlqXXw" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-IBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-IRexEeOaDesjAlqXXw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-IhexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a4w-IxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Association" href="garage.uml#_a5Qs7xexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a4w-JBexEeOaDesjAlqXXw" points="[11, 2, -248, -45]$[209, 56, -50, 9]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a4w-JRexEeOaDesjAlqXXw" id="(0.89,0.43)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a4w-JhexEeOaDesjAlqXXw" type="4001" source="_a4w96BexEeOaDesjAlqXXw" target="_a4w9rhexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-JxexEeOaDesjAlqXXw" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-KBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-KRexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-KhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-KxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-LBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-LRexEeOaDesjAlqXXw" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-LhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-LxexEeOaDesjAlqXXw" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-MBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-MRexEeOaDesjAlqXXw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-MhexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a4w-MxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Association" href="garage.uml#_a5Qs9xexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a4w-NBexEeOaDesjAlqXXw" points="[6, -18, -54, 150]$[51, -118, -9, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a4w-NRexEeOaDesjAlqXXw" id="(0.74,0.18)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a4w-NhexEeOaDesjAlqXXw" type="4001" source="_a4w9kRexEeOaDesjAlqXXw" target="_a4w96BexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-NxexEeOaDesjAlqXXw" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-OBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-ORexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-OhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4w-OxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4w-PBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4xkoBexEeOaDesjAlqXXw" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4xkoRexEeOaDesjAlqXXw" x="-16" y="24"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4xkohexEeOaDesjAlqXXw" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4xkoxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a4xkpBexEeOaDesjAlqXXw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a4xkpRexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a4xkphexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Association" href="garage.uml#_a5Qs-xexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a4xkpxexEeOaDesjAlqXXw" points="[13, 25, -112, -202]$[91, 177, -34, -50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a4xkqBexEeOaDesjAlqXXw" id="(0.78,0.75)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_a45gcBexEeOaDesjAlqXXw" type="PapyrusUMLStateMachineDiagram" name="operation_cycle" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_a45gcRexEeOaDesjAlqXXw" type="2000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gchexEeOaDesjAlqXXw" type="2001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gcxexEeOaDesjAlqXXw" width="700" height="16"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gdBexEeOaDesjAlqXXw" type="2002">
+ <children xmi:type="notation:Shape" xmi:id="_a45gdRexEeOaDesjAlqXXw" type="3000">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a45gdhexEeOaDesjAlqXXw" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a45gdxexEeOaDesjAlqXXw" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45geBexEeOaDesjAlqXXw" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_a45geRexEeOaDesjAlqXXw" type="8000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gehexEeOaDesjAlqXXw" visible="false" type="8001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45gexexEeOaDesjAlqXXw" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gfBexEeOaDesjAlqXXw" type="8002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45gfRexEeOaDesjAlqXXw" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="garage.uml#_a5Qs5BexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gfhexEeOaDesjAlqXXw" x="42" y="89"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a45gfxexEeOaDesjAlqXXw" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45ggBexEeOaDesjAlqXXw" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45ggRexEeOaDesjAlqXXw" width="68"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gghexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45ggxexEeOaDesjAlqXXw" y="-1" width="68"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a45ghBexEeOaDesjAlqXXw" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a45ghRexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a45ghhexEeOaDesjAlqXXw" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a45ghxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45giBexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:State" href="garage.uml#_a5Qs5RexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45giRexEeOaDesjAlqXXw" x="519" y="116" width="68"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a45gihexEeOaDesjAlqXXw" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gixexEeOaDesjAlqXXw" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gjBexEeOaDesjAlqXXw" width="69"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gjRexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gjhexEeOaDesjAlqXXw" y="-1" width="69"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a45gjxexEeOaDesjAlqXXw" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a45gkBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a45gkRexEeOaDesjAlqXXw" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a45gkhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gkxexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:State" href="garage.uml#_a5Qs5hexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45glBexEeOaDesjAlqXXw" x="312" y="188" width="69"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a45glRexEeOaDesjAlqXXw" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45glhexEeOaDesjAlqXXw" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45glxexEeOaDesjAlqXXw" width="84"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gmBexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gmRexEeOaDesjAlqXXw" y="-1" width="84"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a45gmhexEeOaDesjAlqXXw" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a45gmxexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a45gnBexEeOaDesjAlqXXw" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a45gnRexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gnhexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:State" href="garage.uml#_a5Qs5xexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gnxexEeOaDesjAlqXXw" x="303" y="35" width="84"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a45goBexEeOaDesjAlqXXw" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45goRexEeOaDesjAlqXXw" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gohexEeOaDesjAlqXXw" width="76"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45goxexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gpBexEeOaDesjAlqXXw" y="-1" width="76"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a45gpRexEeOaDesjAlqXXw" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a45gphexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a45gpxexEeOaDesjAlqXXw" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a45gqBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gqRexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:State" href="garage.uml#_a5Qs6BexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gqhexEeOaDesjAlqXXw" x="123" y="107" width="76"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gqxexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a45grBexEeOaDesjAlqXXw" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a45grRexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a45grhexEeOaDesjAlqXXw" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a45grxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gsBexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Region" href="garage.uml#_a5Qs3BexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gsRexEeOaDesjAlqXXw" width="700" height="287"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gshexEeOaDesjAlqXXw" y="16" width="700" height="287"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a45gsxexEeOaDesjAlqXXw" visible="false" type="compartment_shape_display">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a45gtBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a45gtRexEeOaDesjAlqXXw" key="mutable" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a45gthexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45gtxexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="garage.uml#_a5Qs2xexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a45guBexEeOaDesjAlqXXw" x="30" y="30" width="700" height="303"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_a45guRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:StateMachine" href="garage.uml#_a5Qs2xexEeOaDesjAlqXXw"/>
+ <edges xmi:type="notation:Connector" xmi:id="_a45guhexEeOaDesjAlqXXw" type="7000" source="_a45geRexEeOaDesjAlqXXw" target="_a45goBexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45guxexEeOaDesjAlqXXw" visible="false" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45gvBexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gvRexEeOaDesjAlqXXw" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45gvhexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gvxexEeOaDesjAlqXXw" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45gwBexEeOaDesjAlqXXw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a45gwRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Transition" href="garage.uml#_a5Qs3RexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a45gwhexEeOaDesjAlqXXw" points="[10, 2, -99, -26]$[106, 8, -3, -20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a45gwxexEeOaDesjAlqXXw" type="7000" source="_a45goBexEeOaDesjAlqXXw" target="_a45glRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gxBexEeOaDesjAlqXXw" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45gxRexEeOaDesjAlqXXw" x="-12" y="-22"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gxhexEeOaDesjAlqXXw" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45gxxexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gyBexEeOaDesjAlqXXw" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45gyRexEeOaDesjAlqXXw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a45gyhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Transition" href="garage.uml#_a5Qs3hexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a45gyxexEeOaDesjAlqXXw" points="[15, -9, -117, 66]$[119, -80, -13, -5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a45gzBexEeOaDesjAlqXXw" id="(0.8026315789473685,0.325)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a45gzRexEeOaDesjAlqXXw" id="(0.15476190476190477,0.25)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a45gzhexEeOaDesjAlqXXw" type="7000" source="_a45glRexEeOaDesjAlqXXw" target="_a45gihexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45gzxexEeOaDesjAlqXXw" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g0BexEeOaDesjAlqXXw" x="2" y="39"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g0RexEeOaDesjAlqXXw" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g0hexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g0xexEeOaDesjAlqXXw" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g1BexEeOaDesjAlqXXw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a45g1RexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Transition" href="garage.uml#_a5Qs3xexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a45g1hexEeOaDesjAlqXXw" points="[-9, 20, -10, -133]$[-42, 97, -43, -56]$[-15, 133, -16, -20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a45g1xexEeOaDesjAlqXXw" type="7000" source="_a45gihexEeOaDesjAlqXXw" target="_a45glRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g2BexEeOaDesjAlqXXw" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g2RexEeOaDesjAlqXXw" x="5" y="39"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g2hexEeOaDesjAlqXXw" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g2xexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g3BexEeOaDesjAlqXXw" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g3RexEeOaDesjAlqXXw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a45g3hexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Transition" href="garage.uml#_a5Qs4BexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a45g3xexEeOaDesjAlqXXw" points="[8, -20, 9, 133]$[38, -92, 39, 61]$[11, -133, 12, 20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a45g4BexEeOaDesjAlqXXw" type="7000" source="_a45gfxexEeOaDesjAlqXXw" target="_a45gihexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g4RexEeOaDesjAlqXXw" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g4hexEeOaDesjAlqXXw" x="-5" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g4xexEeOaDesjAlqXXw" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g5BexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g5RexEeOaDesjAlqXXw" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g5hexEeOaDesjAlqXXw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a45g5xexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Transition" href="garage.uml#_a5Qs4RexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a45g6BexEeOaDesjAlqXXw" points="[-14, 5, 173, -68]$[-179, 93, 8, 20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a45g6RexEeOaDesjAlqXXw" id="(0.20588235294117646,0.475)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a45g6hexEeOaDesjAlqXXw" type="7000" source="_a45glRexEeOaDesjAlqXXw" target="_a45gfxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g6xexEeOaDesjAlqXXw" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g7BexEeOaDesjAlqXXw" x="24" y="-17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g7RexEeOaDesjAlqXXw" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g7hexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a45g7xexEeOaDesjAlqXXw" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a45g8BexEeOaDesjAlqXXw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a45g8RexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Transition" href="garage.uml#_a5Qs4hexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a45g8hexEeOaDesjAlqXXw" points="[18, 8, -145, -70]$[150, 74, -13, -4]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a45g8xexEeOaDesjAlqXXw" id="(0.7857142857142857,0.425)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a46HgBexEeOaDesjAlqXXw" id="(0.19117647058823528,0.35)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a46HgRexEeOaDesjAlqXXw" type="7000" source="_a45gihexEeOaDesjAlqXXw" target="_a45goBexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a46HghexEeOaDesjAlqXXw" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a46HgxexEeOaDesjAlqXXw" x="17" y="-23"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a46HhBexEeOaDesjAlqXXw" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a46HhRexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a46HhhexEeOaDesjAlqXXw" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a46HhxexEeOaDesjAlqXXw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a46HiBexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Transition" href="garage.uml#_a5Qs4xexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a46HiRexEeOaDesjAlqXXw" points="[-11, -6, 151, 69]$[-124, -75, 38, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a46HihexEeOaDesjAlqXXw" id="(0.15942028985507245,0.35)"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.uml b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.uml
new file mode 100644
index 00000000000..462cf8efb05
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/garage.uml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_a5Qs0BexEeOaDesjAlqXXw" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_a5Qs0RexEeOaDesjAlqXXw" name="Garage" classifierBehavior="_a5Qs2xexEeOaDesjAlqXXw">
+ <ownedAttribute xmi:id="_a5Qs0hexEeOaDesjAlqXXw" name="personalDoor" type="_a5Qs6hexEeOaDesjAlqXXw" aggregation="composite" association="_a5Qs6xexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a5Qs0xexEeOaDesjAlqXXw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a5Qs1BexEeOaDesjAlqXXw" value="2"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_a5Qs1RexEeOaDesjAlqXXw" name="garageDoor" type="_a5Qs6RexEeOaDesjAlqXXw" aggregation="composite" association="_a5Qs7xexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a5Qs1hexEeOaDesjAlqXXw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a5Qs1xexEeOaDesjAlqXXw" value="3"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_a5Qs2BexEeOaDesjAlqXXw" name="opener" type="_a5Qs8xexEeOaDesjAlqXXw" aggregation="composite" association="_a5Qs-xexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a5Qs2RexEeOaDesjAlqXXw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a5Qs2hexEeOaDesjAlqXXw" value="*"/>
+ </ownedAttribute>
+ <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_a5Qs2xexEeOaDesjAlqXXw" name="OperationCycle">
+ <region xmi:id="_a5Qs3BexEeOaDesjAlqXXw" name="Region1">
+ <transition xmi:id="_a5Qs3RexEeOaDesjAlqXXw" name="Transition0" source="_a5Qs5BexEeOaDesjAlqXXw" target="_a5Qs6BexEeOaDesjAlqXXw"/>
+ <transition xmi:id="_a5Qs3hexEeOaDesjAlqXXw" name="opener_clicked" source="_a5Qs6BexEeOaDesjAlqXXw" target="_a5Qs5xexEeOaDesjAlqXXw"/>
+ <transition xmi:id="_a5Qs3xexEeOaDesjAlqXXw" name="opener_clicked" source="_a5Qs5xexEeOaDesjAlqXXw" target="_a5Qs5hexEeOaDesjAlqXXw"/>
+ <transition xmi:id="_a5Qs4BexEeOaDesjAlqXXw" name="opener_clicked" source="_a5Qs5hexEeOaDesjAlqXXw" target="_a5Qs5xexEeOaDesjAlqXXw"/>
+ <transition xmi:id="_a5Qs4RexEeOaDesjAlqXXw" name="opener_clicked" source="_a5Qs5RexEeOaDesjAlqXXw" target="_a5Qs5hexEeOaDesjAlqXXw"/>
+ <transition xmi:id="_a5Qs4hexEeOaDesjAlqXXw" name="top_reached" source="_a5Qs5xexEeOaDesjAlqXXw" target="_a5Qs5RexEeOaDesjAlqXXw"/>
+ <transition xmi:id="_a5Qs4xexEeOaDesjAlqXXw" name="bottom_reached" source="_a5Qs5hexEeOaDesjAlqXXw" target="_a5Qs6BexEeOaDesjAlqXXw"/>
+ <subvertex xmi:type="uml:Pseudostate" xmi:id="_a5Qs5BexEeOaDesjAlqXXw" name="Initial0"/>
+ <subvertex xmi:type="uml:State" xmi:id="_a5Qs5RexEeOaDesjAlqXXw" name="Door Open"/>
+ <subvertex xmi:type="uml:State" xmi:id="_a5Qs5hexEeOaDesjAlqXXw" name="Door Closing"/>
+ <subvertex xmi:type="uml:State" xmi:id="_a5Qs5xexEeOaDesjAlqXXw" name="Door Opening"/>
+ <subvertex xmi:type="uml:State" xmi:id="_a5Qs6BexEeOaDesjAlqXXw" name="Door Closed"/>
+ </region>
+ </ownedBehavior>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_a5Qs6RexEeOaDesjAlqXXw" name="GarageDoor"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_a5Qs6hexEeOaDesjAlqXXw" name="PersonalDoor"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_a5Qs6xexEeOaDesjAlqXXw" name="garage_personalDoor_1" memberEnd="_a5Qs7BexEeOaDesjAlqXXw _a5Qs0hexEeOaDesjAlqXXw">
+ <ownedEnd xmi:id="_a5Qs7BexEeOaDesjAlqXXw" name="garage" type="_a5Qs0RexEeOaDesjAlqXXw" association="_a5Qs6xexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a5Qs7RexEeOaDesjAlqXXw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a5Qs7hexEeOaDesjAlqXXw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_a5Qs7xexEeOaDesjAlqXXw" name="garage_garageDoor_1" memberEnd="_a5Qs8BexEeOaDesjAlqXXw _a5Qs1RexEeOaDesjAlqXXw">
+ <ownedEnd xmi:id="_a5Qs8BexEeOaDesjAlqXXw" name="garage" type="_a5Qs0RexEeOaDesjAlqXXw" association="_a5Qs7xexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a5Qs8RexEeOaDesjAlqXXw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a5Qs8hexEeOaDesjAlqXXw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_a5Qs8xexEeOaDesjAlqXXw" name="Opener">
+ <ownedAttribute xmi:id="_a5Qs9BexEeOaDesjAlqXXw" name="opens" type="_a5Qs6RexEeOaDesjAlqXXw" association="_a5Qs9xexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a5Qs9RexEeOaDesjAlqXXw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a5Qs9hexEeOaDesjAlqXXw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_a5Qs9xexEeOaDesjAlqXXw" name="opener_garageDoor_1" memberEnd="_a5Qs-BexEeOaDesjAlqXXw _a5Qs9BexEeOaDesjAlqXXw">
+ <ownedEnd xmi:id="_a5Qs-BexEeOaDesjAlqXXw" name="opener" type="_a5Qs8xexEeOaDesjAlqXXw" association="_a5Qs9xexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a5Qs-RexEeOaDesjAlqXXw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a5Qs-hexEeOaDesjAlqXXw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_a5Qs-xexEeOaDesjAlqXXw" name="garage_opener_1" memberEnd="_a5Qs_BexEeOaDesjAlqXXw _a5Qs2BexEeOaDesjAlqXXw">
+ <ownedEnd xmi:id="_a5Qs_BexEeOaDesjAlqXXw" name="garage" type="_a5Qs0RexEeOaDesjAlqXXw" association="_a5Qs-xexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a5Qs_RexEeOaDesjAlqXXw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a5Qs_hexEeOaDesjAlqXXw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.di b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.di
new file mode 100644
index 00000000000..ad757ed3648
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.di
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ASCII"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="j2ee.profile.notation#_a8MFABexEeOaDesjAlqXXw"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="j2ee.profile.notation#_a8MFABexEeOaDesjAlqXXw"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.notation b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.notation
new file mode 100644
index 00000000000..187f569c8d4
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.notation
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_a8MFABexEeOaDesjAlqXXw" type="PapyrusUMLProfileDiagram" name="profile" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_a8MFARexEeOaDesjAlqXXw" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MFAhexEeOaDesjAlqXXw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a8MFAxexEeOaDesjAlqXXw" type="1071">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a8MFBBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MFBRexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_a8MFBhexEeOaDesjAlqXXw" type="3002">
+ <element xmi:type="uml:Property" href="j2ee.profile.uml#_a8wFzhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a8MFBxexEeOaDesjAlqXXw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a8MFCBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a8MFCRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a8MFChexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a8MFCxexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a8MFDBexEeOaDesjAlqXXw" visible="false" type="1019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a8MFDRexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MFDhexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a8MFDxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a8MFEBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a8MFERexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a8MFEhexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_a8wFzBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a8MFExexEeOaDesjAlqXXw" x="54" y="135"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a8MFFBexEeOaDesjAlqXXw" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a8MFFRexEeOaDesjAlqXXw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MFFhexEeOaDesjAlqXXw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MFFxexEeOaDesjAlqXXw" key="StereotypeList" value="StandardProfileL2::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MFGBexEeOaDesjAlqXXw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MFGRexEeOaDesjAlqXXw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MFGhexEeOaDesjAlqXXw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MFGxexEeOaDesjAlqXXw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a8MFHBexEeOaDesjAlqXXw" x="63" y="27"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a8MFHRexEeOaDesjAlqXXw" type="2006">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MFHhexEeOaDesjAlqXXw" type="5023"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a8MFHxexEeOaDesjAlqXXw" type="1063">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a8MFIBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MFIRexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_a8MFIhexEeOaDesjAlqXXw" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="j2ee.profile.uml#_a8wF1RexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a8MFIxexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a8MFJBexEeOaDesjAlqXXw" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="j2ee.profile.uml#_a8wF1hexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a8MFJRexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a8MFJhexEeOaDesjAlqXXw" type="1037">
+ <element xmi:type="uml:EnumerationLiteral" href="j2ee.profile.uml#_a8wF1xexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a8MFJxexEeOaDesjAlqXXw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a8MFKBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a8MFKRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a8MFKhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a8MFKxexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="j2ee.profile.uml#_a8wF1BexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a8MFLBexEeOaDesjAlqXXw" x="63" y="261"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a8MFLRexEeOaDesjAlqXXw" type="1026">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MFLhexEeOaDesjAlqXXw" type="1034"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a8MFLxexEeOaDesjAlqXXw" type="1071">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a8MFMBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MFMRexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a8MFMhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a8MsEBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a8MsERexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a8MsEhexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a8MsExexEeOaDesjAlqXXw" visible="false" type="1019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a8MsFBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MsFRexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a8MsFhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a8MsFxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a8MsGBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a8MsGRexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="j2ee.profile.uml#_a8wF2BexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a8MsGhexEeOaDesjAlqXXw" x="360" y="126"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a8MsGxexEeOaDesjAlqXXw" type="1031">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a8MsHBexEeOaDesjAlqXXw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MsHRexEeOaDesjAlqXXw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MsHhexEeOaDesjAlqXXw" key="StereotypeList" value="StandardProfileL2::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MsHxexEeOaDesjAlqXXw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MsIBexEeOaDesjAlqXXw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a8MsIRexEeOaDesjAlqXXw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MsIhexEeOaDesjAlqXXw" type="1084"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a8MsIxexEeOaDesjAlqXXw" x="351" y="18"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_a8MsJBexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Profile" href="j2ee.profile.uml#_a8wFsBexEeOaDesjAlqXXw"/>
+ <edges xmi:type="notation:Connector" xmi:id="_a8MsJRexEeOaDesjAlqXXw" type="1013" source="_a8MFARexEeOaDesjAlqXXw" target="_a8MFFBexEeOaDesjAlqXXw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_a8MsJhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_a8wF0hexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a8MsJxexEeOaDesjAlqXXw" points="[15, -4, -291, 63]$[256, -68, -50, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a8MsKBexEeOaDesjAlqXXw" id="(0.4918032786885246,0.03)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a8MsKRexEeOaDesjAlqXXw" type="1013" source="_a8MFLRexEeOaDesjAlqXXw" target="_a8MsGxexEeOaDesjAlqXXw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_a8MsKhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Extension" href="j2ee.profile.uml#_a8wF2hexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a8MsKxexEeOaDesjAlqXXw" points="[23, -14, -119, 70]$[121, -92, -21, -8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a8MsLBexEeOaDesjAlqXXw" id="(0.34,0.09)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a8MsLRexEeOaDesjAlqXXw" id="(0.46,0.88)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a8MsLhexEeOaDesjAlqXXw" type="4001" source="_a8MFARexEeOaDesjAlqXXw" target="_a8MFLRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MsLxexEeOaDesjAlqXXw" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a8MsMBexEeOaDesjAlqXXw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MsMRexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a8MsMhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MsMxexEeOaDesjAlqXXw" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a8MsNBexEeOaDesjAlqXXw" x="-45" y="17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MsNRexEeOaDesjAlqXXw" visible="false" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a8MsNhexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MsNxexEeOaDesjAlqXXw" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a8MsOBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a8MsORexEeOaDesjAlqXXw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a8MsOhexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a8MsOxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Association" href="j2ee.profile.uml#_a8wF3BexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a8MsPBexEeOaDesjAlqXXw" points="[23, -7, -370, 0]$[369, 10, -24, 17]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a8MsPRexEeOaDesjAlqXXw" id="(0.8114754098360656,0.67)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a8MsPhexEeOaDesjAlqXXw" id="(0.24,0.69)"/>
+ </edges>
+</notation:Diagram>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.uml b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.uml
new file mode 100644
index 00000000000..d9c4e031798
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/j2ee.profile.uml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Profile xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_a8wFsBexEeOaDesjAlqXXw" name="j2ee" metaclassReference="_a8wFyhexEeOaDesjAlqXXw _a8wFyxexEeOaDesjAlqXXw">
+ <eAnnotations xmi:id="_a8wFsRexEeOaDesjAlqXXw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_a8wFshexEeOaDesjAlqXXw" name="j2ee" nsURI="http:///schemas/j2ee/_6PHYYFkiEeK52Llgof0Xvg/0" nsPrefix="j2ee">
+ <eAnnotations xmi:id="_a8wFsxexEeOaDesjAlqXXw" source="PapyrusVersion">
+ <details xmi:id="_a8wFtBexEeOaDesjAlqXXw" key="Version" value="0.0.1"/>
+ <details xmi:id="_a8wFtRexEeOaDesjAlqXXw" key="Comment" value=""/>
+ <details xmi:id="_a8wFthexEeOaDesjAlqXXw" key="Copyright" value=""/>
+ <details xmi:id="_a8wFtxexEeOaDesjAlqXXw" key="Date" value="2013-01-07"/>
+ <details xmi:id="_a8wFuBexEeOaDesjAlqXXw" key="Author" value=""/>
+ </eAnnotations>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_a8wFuRexEeOaDesjAlqXXw" name="Bean">
+ <eAnnotations xmi:id="_a8wFuhexEeOaDesjAlqXXw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_a8wFzBexEeOaDesjAlqXXw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_a8wFuxexEeOaDesjAlqXXw" name="base_Classifier" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EAttribute" xmi:id="_a8wFvRexEeOaDesjAlqXXw" name="kind" ordered="false" lowerBound="1" eType="_a8wFwRexEeOaDesjAlqXXw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_a8wFvxexEeOaDesjAlqXXw" name="primaryFinder" ordered="false" eType="_a8wFxhexEeOaDesjAlqXXw"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EEnum" xmi:id="_a8wFwRexEeOaDesjAlqXXw" name="BeanKind">
+ <eAnnotations xmi:id="_a8wFwhexEeOaDesjAlqXXw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_a8wF1BexEeOaDesjAlqXXw"/>
+ <eLiterals xmi:id="_a8wFwxexEeOaDesjAlqXXw" name="entity"/>
+ <eLiterals xmi:id="_a8wFxBexEeOaDesjAlqXXw" name="session" value="1"/>
+ <eLiterals xmi:id="_a8wFxRexEeOaDesjAlqXXw" name="messagedriven" value="2"/>
+ </eClassifiers>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_a8wFxhexEeOaDesjAlqXXw" name="Finder">
+ <eAnnotations xmi:id="_a8wFxxexEeOaDesjAlqXXw" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_a8wF2BexEeOaDesjAlqXXw"/>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_a8wFyBexEeOaDesjAlqXXw" name="base_Operation" ordered="false" lowerBound="1">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </contents>
+ </eAnnotations>
+ <elementImport xmi:id="_a8wFyhexEeOaDesjAlqXXw" alias="Classifier">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ </elementImport>
+ <elementImport xmi:id="_a8wFyxexEeOaDesjAlqXXw" alias="Operation">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_a8wFzBexEeOaDesjAlqXXw" name="Bean">
+ <ownedAttribute xmi:id="_a8wFzRexEeOaDesjAlqXXw" name="base_Classifier" association="_a8wF0hexEeOaDesjAlqXXw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_a8wFzhexEeOaDesjAlqXXw" name="kind" type="_a8wF1BexEeOaDesjAlqXXw"/>
+ <ownedAttribute xmi:id="_a8wFzxexEeOaDesjAlqXXw" name="primaryFinder" type="_a8wF2BexEeOaDesjAlqXXw" association="_a8wF3BexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a8wF0BexEeOaDesjAlqXXw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a8wF0RexEeOaDesjAlqXXw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_a8wF0hexEeOaDesjAlqXXw" name="E_Bean_Classifier1" memberEnd="_a8wF0xexEeOaDesjAlqXXw _a8wFzRexEeOaDesjAlqXXw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_a8wF0xexEeOaDesjAlqXXw" name="extension_Bean" type="_a8wFzBexEeOaDesjAlqXXw" aggregation="composite" association="_a8wF0hexEeOaDesjAlqXXw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_a8wF1BexEeOaDesjAlqXXw" name="BeanKind">
+ <ownedLiteral xmi:id="_a8wF1RexEeOaDesjAlqXXw" name="entity"/>
+ <ownedLiteral xmi:id="_a8wF1hexEeOaDesjAlqXXw" name="session"/>
+ <ownedLiteral xmi:id="_a8wF1xexEeOaDesjAlqXXw" name="messagedriven"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_a8wF2BexEeOaDesjAlqXXw" name="Finder">
+ <ownedAttribute xmi:id="_a8wF2RexEeOaDesjAlqXXw" name="base_Operation" association="_a8wF2hexEeOaDesjAlqXXw">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_a8wF2hexEeOaDesjAlqXXw" name="E_Finder_Operation1" memberEnd="_a8wF2xexEeOaDesjAlqXXw _a8wF2RexEeOaDesjAlqXXw">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_a8wF2xexEeOaDesjAlqXXw" name="extension_Finder" type="_a8wF2BexEeOaDesjAlqXXw" aggregation="composite" association="_a8wF2hexEeOaDesjAlqXXw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_a8wF3BexEeOaDesjAlqXXw" name="bean_finder_1" memberEnd="_a8wF3RexEeOaDesjAlqXXw _a8wFzxexEeOaDesjAlqXXw">
+ <ownedEnd xmi:id="_a8wF3RexEeOaDesjAlqXXw" name="bean" type="_a8wFzBexEeOaDesjAlqXXw" association="_a8wF3BexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a8wF3hexEeOaDesjAlqXXw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a8wF3xexEeOaDesjAlqXXw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Profile>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.di b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.di
new file mode 100644
index 00000000000..fc456744fcf
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.di
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ASCII"?>
+<di:SashWindowsMngr xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:di="http://www.eclipse.org/papyrus/0.7.0/sashdi">
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="tracker.notation#_a2RqQBexEeOaDesjAlqXXw"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="tracker.notation#_a2jXEBexEeOaDesjAlqXXw"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="//@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="tracker.notation#_a2RqQBexEeOaDesjAlqXXw"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="tracker.notation#_a2jXEBexEeOaDesjAlqXXw"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+</di:SashWindowsMngr>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.notation b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.notation
new file mode 100644
index 00000000000..35e3b9f6eb8
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.notation
@@ -0,0 +1,765 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
+ <notation:Diagram xmi:id="_a2RqQBexEeOaDesjAlqXXw" type="PapyrusUMLClassDiagram" name="Classes" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_a2RqQRexEeOaDesjAlqXXw" type="2008">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2RqQhexEeOaDesjAlqXXw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqQxexEeOaDesjAlqXXw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqRBexEeOaDesjAlqXXw" key="StereotypeList" value="j2ee::Bean"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqRRexEeOaDesjAlqXXw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqRhexEeOaDesjAlqXXw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqRxexEeOaDesjAlqXXw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2RqSBexEeOaDesjAlqXXw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2RqSRexEeOaDesjAlqXXw" type="7017">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2RqShexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqSxexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_a2RqTBexEeOaDesjAlqXXw" type="3012">
+ <element xmi:type="uml:Property" href="tracker.uml#_a28_sxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2RqTRexEeOaDesjAlqXXw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2RqThexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2RqTxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2RqUBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2RqURexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2RqUhexEeOaDesjAlqXXw" type="7018">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2RqUxexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqVBexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_a2RqVRexEeOaDesjAlqXXw" type="3013">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2RqVhexEeOaDesjAlqXXw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqVxexEeOaDesjAlqXXw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqWBexEeOaDesjAlqXXw" key="StereotypeList" value="j2ee::Finder"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqWRexEeOaDesjAlqXXw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqWhexEeOaDesjAlqXXw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqWxexEeOaDesjAlqXXw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="tracker.uml#_a29ACRexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2RqXBexEeOaDesjAlqXXw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2RqXRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2RqXhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2RqXxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2RqYBexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2RqYRexEeOaDesjAlqXXw" type="7019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2RqYhexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqYxexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2RqZBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2RqZRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2RqZhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2RqZxexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Class" href="tracker.uml#_a28_shexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2RqaBexEeOaDesjAlqXXw" x="99" y="162"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2RqaRexEeOaDesjAlqXXw" type="2008">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2RqahexEeOaDesjAlqXXw" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqaxexEeOaDesjAlqXXw" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqbBexEeOaDesjAlqXXw" key="StereotypeList" value="j2ee::Bean"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqbRexEeOaDesjAlqXXw" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqbhexEeOaDesjAlqXXw" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqbxexEeOaDesjAlqXXw" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2RqcBexEeOaDesjAlqXXw" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2RqcRexEeOaDesjAlqXXw" type="7017">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2RqchexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2RqcxexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_a2SRUBexEeOaDesjAlqXXw" type="3012">
+ <element xmi:type="uml:Property" href="tracker.uml#_a29ACxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRURexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2SRUhexEeOaDesjAlqXXw" type="3012">
+ <element xmi:type="uml:Property" href="tracker.uml#_a29ADBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRUxexEeOaDesjAlqXXw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2SRVBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2SRVRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2SRVhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRVxexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2SRWBexEeOaDesjAlqXXw" type="7018">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2SRWRexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2SRWhexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2SRWxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2SRXBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2SRXRexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRXhexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2SRXxexEeOaDesjAlqXXw" type="7019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2SRYBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2SRYRexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2SRYhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2SRYxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2SRZBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRZRexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Class" href="tracker.uml#_a29AChexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRZhexEeOaDesjAlqXXw" x="333" y="162"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2SRZxexEeOaDesjAlqXXw" type="2004">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRaBexEeOaDesjAlqXXw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2SRaRexEeOaDesjAlqXXw" type="7006">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2SRahexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2SRaxexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2SRbBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2SRbRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2SRbhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRbxexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2SRcBexEeOaDesjAlqXXw" type="7007">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2SRcRexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2SRchexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2SRcxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2SRdBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2SRdRexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRdhexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2SRdxexEeOaDesjAlqXXw" type="7008">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2SReBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2SReRexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2SRehexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2SRexexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2SRfBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRfRexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="tracker.uml#_a29AFhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRfhexEeOaDesjAlqXXw" x="342" width="109"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2SRfxexEeOaDesjAlqXXw" type="2004">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRgBexEeOaDesjAlqXXw" type="5011"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2SRgRexEeOaDesjAlqXXw" type="7006">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2SRghexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2SRgxexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2SRhBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2SRhRexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2SRhhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRhxexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2SRiBexEeOaDesjAlqXXw" type="7007">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2SRiRexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2SRihexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2SRixexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2SRjBexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2SRjRexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRjhexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_a2SRjxexEeOaDesjAlqXXw" type="7008">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2SRkBexEeOaDesjAlqXXw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2SRkRexEeOaDesjAlqXXw" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_a2SRkhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2SRkxexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2SRlBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRlRexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Interface" href="tracker.uml#_a29AFxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2SRlhexEeOaDesjAlqXXw" x="108" y="5" width="128"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_a2SRlxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Model" href="tracker.uml#_a28_sBexEeOaDesjAlqXXw"/>
+ <edges xmi:type="notation:Connector" xmi:id="_a2SRmBexEeOaDesjAlqXXw" type="4001" source="_a2RqQRexEeOaDesjAlqXXw" target="_a2RqaRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRmRexEeOaDesjAlqXXw" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRmhexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRmxexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRnBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRnRexEeOaDesjAlqXXw" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRnhexEeOaDesjAlqXXw" x="16" y="-14"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRnxexEeOaDesjAlqXXw" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRoBexEeOaDesjAlqXXw" x="-11" y="17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRoRexEeOaDesjAlqXXw" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRohexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRoxexEeOaDesjAlqXXw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRpBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2SRpRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Association" href="tracker.uml#_a29ADhexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2SRphexEeOaDesjAlqXXw" points="[14, 1, -142, -11]$[132, -3, -24, -15]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2SRpxexEeOaDesjAlqXXw" id="(0.8793103448275862,0.21929824561403508)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2SRqBexEeOaDesjAlqXXw" id="(0.18604651162790697,0.3008130081300813)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2SRqRexEeOaDesjAlqXXw" type="4001" source="_a2RqQRexEeOaDesjAlqXXw" target="_a2RqaRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRqhexEeOaDesjAlqXXw" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRqxexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRrBexEeOaDesjAlqXXw" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRrRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRrhexEeOaDesjAlqXXw" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRrxexEeOaDesjAlqXXw" x="17" y="-12"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRsBexEeOaDesjAlqXXw" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRsRexEeOaDesjAlqXXw" x="-19" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRshexEeOaDesjAlqXXw" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRsxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRtBexEeOaDesjAlqXXw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRtRexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2SRthexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Association" href="tracker.uml#_a29AEhexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2SRtxexEeOaDesjAlqXXw" points="[19, 1, -158, -13]$[162, 37, -15, 23]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2SRuBexEeOaDesjAlqXXw" id="(0.8362068965517241,0.7543859649122807)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2SRuRexEeOaDesjAlqXXw" id="(0.31007751937984496,0.8130081300813008)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2SRuhexEeOaDesjAlqXXw" type="4003" source="_a2RqaRexEeOaDesjAlqXXw" target="_a2SRZxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRuxexEeOaDesjAlqXXw" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRvBexEeOaDesjAlqXXw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRvRexEeOaDesjAlqXXw" visible="false" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRvhexEeOaDesjAlqXXw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2SRvxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:InterfaceRealization" href="tracker.uml#_a29ADRexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2SRwBexEeOaDesjAlqXXw" points="[-2, -7, 12, 112]$[-22, -69, -8, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2SRwRexEeOaDesjAlqXXw" id="(0.5116279069767442,0.016260162601626018)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2SRwhexEeOaDesjAlqXXw" type="4003" source="_a2RqQRexEeOaDesjAlqXXw" target="_a2SRfxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRwxexEeOaDesjAlqXXw" visible="false" type="6008">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRxBexEeOaDesjAlqXXw" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2SRxRexEeOaDesjAlqXXw" visible="false" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2SRxhexEeOaDesjAlqXXw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2SRxxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:InterfaceRealization" href="tracker.uml#_a28_uhexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2SRyBexEeOaDesjAlqXXw" points="[-2, -18, 5, 107]$[-10, -175, -3, -50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2SRyRexEeOaDesjAlqXXw" id="(0.6896551724137931,0.15789473684210525)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_a2jXEBexEeOaDesjAlqXXw" type="PapyrusUMLActivityDiagram" name="Bug Lifecycle" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_a2jXERexEeOaDesjAlqXXw" type="2001" fontName="Lucida Grande" fontHeight="11" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2jXEhexEeOaDesjAlqXXw" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2jXExexEeOaDesjAlqXXw" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2jXFBexEeOaDesjAlqXXw" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2jXFRexEeOaDesjAlqXXw" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a2jXFhexEeOaDesjAlqXXw" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a2jXFxexEeOaDesjAlqXXw" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2jXGBexEeOaDesjAlqXXw" type="5001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2jXGRexEeOaDesjAlqXXw" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2jXGhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2jXGxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2jXHBexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2jXHRexEeOaDesjAlqXXw" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2jXHhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2jXHxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2jXIBexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2jXIRexEeOaDesjAlqXXw" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_a2jXIhexEeOaDesjAlqXXw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_a2jXIxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2jXJBexEeOaDesjAlqXXw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2jXJRexEeOaDesjAlqXXw" type="7004">
+ <children xmi:type="notation:Shape" xmi:id="_a2jXJhexEeOaDesjAlqXXw" type="3004">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2jXJxexEeOaDesjAlqXXw" type="5080">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2jXKBexEeOaDesjAlqXXw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2jXKRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:InitialNode" href="tracker.uml#_a28__BexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2jXKhexEeOaDesjAlqXXw" x="31" y="39"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-IBexEeOaDesjAlqXXw" type="3005">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-IRexEeOaDesjAlqXXw" type="5081">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-IhexEeOaDesjAlqXXw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-IxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ActivityFinalNode" href="tracker.uml#_a28__RexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-JBexEeOaDesjAlqXXw" x="598" y="282"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-JRexEeOaDesjAlqXXw" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-JhexEeOaDesjAlqXXw" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-JxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:OpaqueAction" href="tracker.uml#_a28__hexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-KBexEeOaDesjAlqXXw" x="22" y="102"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-KRexEeOaDesjAlqXXw" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-KhexEeOaDesjAlqXXw" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-KxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:OpaqueAction" href="tracker.uml#_a28__xexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-LBexEeOaDesjAlqXXw" x="22" y="192"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-LRexEeOaDesjAlqXXw" type="3065">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-LhexEeOaDesjAlqXXw" type="5117"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-LxexEeOaDesjAlqXXw" type="7005">
+ <children xmi:type="notation:Shape" xmi:id="_a2j-MBexEeOaDesjAlqXXw" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-MRexEeOaDesjAlqXXw" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-MhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:OpaqueAction" href="tracker.uml#_a28_vRexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-MxexEeOaDesjAlqXXw" x="57" y="21"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-NBexEeOaDesjAlqXXw" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-NRexEeOaDesjAlqXXw" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-NhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:OpaqueAction" href="tracker.uml#_a28_vhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-NxexEeOaDesjAlqXXw" x="21" y="93"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-OBexEeOaDesjAlqXXw" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-ORexEeOaDesjAlqXXw" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-OhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:OpaqueAction" href="tracker.uml#_a28_vxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-OxexEeOaDesjAlqXXw" x="57" y="156"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-PBexEeOaDesjAlqXXw"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-PRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:StructuredActivityNode" href="tracker.uml#_a28_vBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-PhexEeOaDesjAlqXXw" x="157" y="57" width="162" height="222"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-PxexEeOaDesjAlqXXw" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-QBexEeOaDesjAlqXXw" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-QRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:OpaqueAction" href="tracker.uml#_a29AABexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-QhexEeOaDesjAlqXXw" x="427" y="129"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-QxexEeOaDesjAlqXXw" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-RBexEeOaDesjAlqXXw" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-RRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:OpaqueAction" href="tracker.uml#_a29AARexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-RhexEeOaDesjAlqXXw" x="508" y="120"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-RxexEeOaDesjAlqXXw" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-SBexEeOaDesjAlqXXw" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-SRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:OpaqueAction" href="tracker.uml#_a29AAhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-ShexEeOaDesjAlqXXw" x="373" y="192"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-SxexEeOaDesjAlqXXw" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-TBexEeOaDesjAlqXXw" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-TRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:OpaqueAction" href="tracker.uml#_a29AAxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-ThexEeOaDesjAlqXXw" x="589" y="192"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-TxexEeOaDesjAlqXXw" type="3038">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-UBexEeOaDesjAlqXXw" type="5043">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-URexEeOaDesjAlqXXw" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-UhexEeOaDesjAlqXXw" type="5098">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-UxexEeOaDesjAlqXXw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-VBexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:DecisionNode" href="tracker.uml#_a29ABBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-VRexEeOaDesjAlqXXw" x="103" y="192"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-VhexEeOaDesjAlqXXw" type="3038">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-VxexEeOaDesjAlqXXw" type="5043">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-WBexEeOaDesjAlqXXw" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-WRexEeOaDesjAlqXXw" type="5098">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-WhexEeOaDesjAlqXXw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-WxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:DecisionNode" href="tracker.uml#_a29ABRexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-XBexEeOaDesjAlqXXw" x="436" y="75"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-XRexEeOaDesjAlqXXw" type="3038">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-XhexEeOaDesjAlqXXw" type="5043">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-XxexEeOaDesjAlqXXw" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-YBexEeOaDesjAlqXXw" type="5098">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-YRexEeOaDesjAlqXXw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-YhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:DecisionNode" href="tracker.uml#_a29ABhexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-YxexEeOaDesjAlqXXw" x="607" y="111"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-ZBexEeOaDesjAlqXXw" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-ZRexEeOaDesjAlqXXw" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-ZhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:OpaqueAction" href="tracker.uml#_a29ABxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-ZxexEeOaDesjAlqXXw" x="355" y="75"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_a2j-aBexEeOaDesjAlqXXw" type="3038">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-aRexEeOaDesjAlqXXw" type="5043">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-ahexEeOaDesjAlqXXw" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-axexEeOaDesjAlqXXw" type="5098">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-bBexEeOaDesjAlqXXw" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_a2j-bRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:DecisionNode" href="tracker.uml#_a29ACBexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-bhexEeOaDesjAlqXXw" x="454" y="201"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-bxexEeOaDesjAlqXXw"/>
+ </children>
+ <element xmi:type="uml:Activity" href="tracker.uml#_a28_uxexEeOaDesjAlqXXw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a2j-cBexEeOaDesjAlqXXw"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_a2j-cRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:Activity" href="tracker.uml#_a28_uxexEeOaDesjAlqXXw"/>
+ <edges xmi:type="notation:Connector" xmi:id="_a2j-chexEeOaDesjAlqXXw" type="4004" source="_a2jXJhexEeOaDesjAlqXXw" target="_a2j-JRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-cxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-dBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-dRexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-dhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-dxexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-eBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-eRexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-ehexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2j-exexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_wBexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2j-fBexEeOaDesjAlqXXw" points="[-1, 9, -2, -64]$[-1, 53, -2, -20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2j-fRexEeOaDesjAlqXXw" type="4004" source="_a2j-JRexEeOaDesjAlqXXw" target="_a2j-KRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-fhexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-fxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-gBexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-gRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-ghexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-gxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-hBexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-hRexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2j-hhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_wxexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2j-hxexEeOaDesjAlqXXw" points="[-2, 20, 0, -55]$[-3, 70, -1, -5]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2j-iBexEeOaDesjAlqXXw" id="(0.45,0.125)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2j-iRexEeOaDesjAlqXXw" type="4004" source="_a2j-KRexEeOaDesjAlqXXw" target="_a2j-TxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-ihexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-ixexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-jBexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-jRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-jhexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-jxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-kBexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-kRexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2j-khexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_xhexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2j-kxexEeOaDesjAlqXXw" points="[8, -5, -47, 0]$[50, -7, -5, -2]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2j-lBexEeOaDesjAlqXXw" id="(0.8,0.475)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2j-lRexEeOaDesjAlqXXw" id="(0.3,0.4666666666666667)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2j-lhexEeOaDesjAlqXXw" type="4004" source="_a2j-TxexEeOaDesjAlqXXw" target="_a2j-MBexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-lxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-mBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-mRexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-mhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-mxexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-nBexEeOaDesjAlqXXw" x="-4" y="-18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-nRexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-nhexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2j-nxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_yRexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2j-oBexEeOaDesjAlqXXw" points="[6, -6, -121, 106]$[121, -132, -6, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2j-oRexEeOaDesjAlqXXw" id="(0.6,0.2)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2j-ohexEeOaDesjAlqXXw" type="4004" source="_a2j-TxexEeOaDesjAlqXXw" target="_a2j-NBexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-oxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-pBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-pRexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-phexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-pxexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-qBexEeOaDesjAlqXXw" x="9" y="7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-qRexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-qhexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2j-qxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_zBexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2j-rBexEeOaDesjAlqXXw" points="[8, -3, -84, 24]$[70, -21, -22, 6]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2j-rRexEeOaDesjAlqXXw" id="(0.21568627450980393,0.7)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2j-rhexEeOaDesjAlqXXw" type="4004" source="_a2j-TxexEeOaDesjAlqXXw" target="_a2j-OBexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-rxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-sBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-sRexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-shexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-sxexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-tBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-tRexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-thexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2j-txexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_zxexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2j-uBexEeOaDesjAlqXXw" points="[5, 1, -121, -38]$[106, 39, -20, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2j-uRexEeOaDesjAlqXXw" id="(0.5,0.7)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2j-uhexEeOaDesjAlqXXw" type="4004" source="_a2j-NBexEeOaDesjAlqXXw" target="_a2j-RxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-uxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-vBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-vRexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-vhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-vxexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-wBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-wRexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-whexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2j-wxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_0hexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2j-xBexEeOaDesjAlqXXw" points="[12, 4, -108, -34]$[121, 58, 1, 20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2j-xRexEeOaDesjAlqXXw" id="(0.8823529411764706,0.55)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2j-xhexEeOaDesjAlqXXw" type="4004" source="_a2j-OBexEeOaDesjAlqXXw" target="_a2j-RxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-xxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-yBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-yRexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-yhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-yxexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-zBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2j-zRexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2j-zhexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2klMBexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_1RexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2klMRexEeOaDesjAlqXXw" points="[20, -3, -133, 24]$[150, -7, -3, 20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2klMhexEeOaDesjAlqXXw" type="4004" source="_a2j-MBexEeOaDesjAlqXXw" target="_a2j-ZBexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klMxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klNBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klNRexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klNhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klNxexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klOBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klORexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klOhexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2klOxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_2BexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2klPBexEeOaDesjAlqXXw" points="[20, 2, -115, 2]$[136, 20, 1, 20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2klPRexEeOaDesjAlqXXw" type="4004" source="_a2j-ZBexEeOaDesjAlqXXw" target="_a2j-VhexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klPhexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klPxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klQBexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klQRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klQhexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klQxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klRBexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klRRexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2klRhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_2xexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2klRxexEeOaDesjAlqXXw" points="[20, -7, -51, -2]$[68, -16, -3, -11]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2klSBexEeOaDesjAlqXXw" type="4004" source="_a2j-VhexEeOaDesjAlqXXw" target="_a2j-PxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klSRexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klShexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klSxexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klTBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klTRexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klThexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klTxexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klUBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2klURexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_3hexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2klUhexEeOaDesjAlqXXw" points="[7, 4, -57, -1]$[59, -15, -5, -20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2klUxexEeOaDesjAlqXXw" type="4004" source="_a2j-PxexEeOaDesjAlqXXw" target="_a2j-QxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klVBexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klVRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klVhexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klVxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klWBexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klWRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klWhexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klWxexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2klXBexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_4RexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2klXRexEeOaDesjAlqXXw" points="[20, -2, -79, -2]$[103, -20, 4, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2klXhexEeOaDesjAlqXXw" id="(0.925,0.6)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2klXxexEeOaDesjAlqXXw" type="4004" source="_a2j-QxexEeOaDesjAlqXXw" target="_a2j-XRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klYBexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klYRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klYhexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klYxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klZBexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klZRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klZhexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klZxexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2klaBexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_5BexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2klaRexEeOaDesjAlqXXw" points="[1, 20, -15, -162]$[15, 176, -1, -6]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2klahexEeOaDesjAlqXXw" id="(0.45,0.3)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2klaxexEeOaDesjAlqXXw" type="4004" source="_a2j-XRexEeOaDesjAlqXXw" target="_a2j-SxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klbBexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klbRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klbhexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klbxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klcBexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klcRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klchexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klcxexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2kldBexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_5xexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2kldRexEeOaDesjAlqXXw" points="[5, -1, 3, -107]$[5, 86, 3, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2kldhexEeOaDesjAlqXXw" id="(0.6,0.6666666666666666)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2kldxexEeOaDesjAlqXXw" type="4004" source="_a2j-XRexEeOaDesjAlqXXw" target="_a2j-KRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2kleBexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2kleRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klehexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klexexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klfBexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klfRexEeOaDesjAlqXXw" x="3" y="-21"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klfhexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klfxexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2klgBexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_6hexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2klgRexEeOaDesjAlqXXw" points="[0, -7, 561, -81]$[0, -110, 561, -184]$[-522, -110, 39, -184]$[-560, 68, 1, -6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2klghexEeOaDesjAlqXXw" id="(0.3,0.43333333333333335)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2klgxexEeOaDesjAlqXXw" id="(0.75,0.15)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2klhBexEeOaDesjAlqXXw" type="4004" source="_a2j-SxexEeOaDesjAlqXXw" target="_a2j-IBexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klhRexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klhhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klhxexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2kliBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2kliRexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klihexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klixexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2kljBexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2kljRexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_7RexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2kljhexEeOaDesjAlqXXw" points="[20, 1, -39, 0]$[49, 1, -10, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2kljxexEeOaDesjAlqXXw" type="4004" source="_a2j-RxexEeOaDesjAlqXXw" target="_a2j-aBexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klkBexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klkRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klkhexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klkxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2kllBexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2kllRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2kllhexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2kllxexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2klmBexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_8BexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2klmRexEeOaDesjAlqXXw" points="[20, -1, -104, -1]$[121, -11, -3, -11]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2klmhexEeOaDesjAlqXXw" type="4004" source="_a2j-aBexEeOaDesjAlqXXw" target="_a2j-SxexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klmxexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klnBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klnRexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klnhexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klnxexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2kloBexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2kloRexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klohexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2kloxexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_8xexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2klpBexEeOaDesjAlqXXw" points="[7, 4, -187, 6]$[193, 18, -1, 20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2klpRexEeOaDesjAlqXXw" type="4004" source="_a2j-aBexEeOaDesjAlqXXw" target="_a2j-KRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klphexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klpxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klqBexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klqRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klqhexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klqxexEeOaDesjAlqXXw" x="10" y="32"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klrBexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klrRexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2klrhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_9hexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2klrxexEeOaDesjAlqXXw" points="[0, 9, 418, 13]$[0, 85, 418, 89]$[-418, 85, 0, 89]$[-418, 16, 0, 20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2klsBexEeOaDesjAlqXXw" id="(0.3,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_a2klsRexEeOaDesjAlqXXw" type="4004" source="_a2j-VhexEeOaDesjAlqXXw" target="_a2j-KRexEeOaDesjAlqXXw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klshexEeOaDesjAlqXXw" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2klsxexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2kltBexEeOaDesjAlqXXw" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2kltRexEeOaDesjAlqXXw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2klthexEeOaDesjAlqXXw" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2kltxexEeOaDesjAlqXXw" x="-9" y="-14"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_a2kluBexEeOaDesjAlqXXw" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_a2kluRexEeOaDesjAlqXXw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_a2kluhexEeOaDesjAlqXXw"/>
+ <element xmi:type="uml:ControlFlow" href="tracker.uml#_a28_-RexEeOaDesjAlqXXw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a2kluxexEeOaDesjAlqXXw" points="[0, -2, 400, -131]$[0, -53, 400, -182]$[-303, -53, 97, -182]$[-390, 109, 10, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a2klvBexEeOaDesjAlqXXw" id="(0.3,0.26666666666666666)"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.uml b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.uml
new file mode 100644
index 00000000000..c807d542f80
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/resources/tracker.uml
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:j2ee="http:///schemas/j2ee/_6PHYYFkiEeK52Llgof0Xvg/0" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
+ <uml:Model xmi:id="_a28_sBexEeOaDesjAlqXXw" name="BugTracker">
+ <packageImport xmi:id="_a28_sRexEeOaDesjAlqXXw">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Class" xmi:id="_a28_shexEeOaDesjAlqXXw" clientDependency="_a28_uhexEeOaDesjAlqXXw" name="Bug" classifierBehavior="_a28_uxexEeOaDesjAlqXXw">
+ <ownedAttribute xmi:id="_a28_sxexEeOaDesjAlqXXw" name="id">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_a28_tBexEeOaDesjAlqXXw" name="reporter" type="_a29AChexEeOaDesjAlqXXw" association="_a29ADhexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a28_tRexEeOaDesjAlqXXw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a28_thexEeOaDesjAlqXXw" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_a28_txexEeOaDesjAlqXXw" name="assignee" type="_a29AChexEeOaDesjAlqXXw" association="_a29AEhexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a28_uBexEeOaDesjAlqXXw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a28_uRexEeOaDesjAlqXXw" value="1"/>
+ </ownedAttribute>
+ <interfaceRealization xmi:id="_a28_uhexEeOaDesjAlqXXw" name="InterfaceRealization1" client="_a28_shexEeOaDesjAlqXXw" supplier="_a29AFxexEeOaDesjAlqXXw" contract="_a29AFxexEeOaDesjAlqXXw"/>
+ <ownedBehavior xmi:type="uml:Activity" xmi:id="_a28_uxexEeOaDesjAlqXXw" name="Lifecycle" group="_a28_vBexEeOaDesjAlqXXw" node="_a28__BexEeOaDesjAlqXXw _a28__RexEeOaDesjAlqXXw _a28__hexEeOaDesjAlqXXw _a28__xexEeOaDesjAlqXXw _a29AABexEeOaDesjAlqXXw _a29AARexEeOaDesjAlqXXw _a29AAhexEeOaDesjAlqXXw _a29AAxexEeOaDesjAlqXXw _a29ABBexEeOaDesjAlqXXw _a29ABRexEeOaDesjAlqXXw _a29ABhexEeOaDesjAlqXXw _a29ABxexEeOaDesjAlqXXw _a29ACBexEeOaDesjAlqXXw">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_wBexEeOaDesjAlqXXw" name="ControlFlow1" source="_a28__BexEeOaDesjAlqXXw" target="_a28__hexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_wRexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_whexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_wxexEeOaDesjAlqXXw" name="ControlFlow2" source="_a28__hexEeOaDesjAlqXXw" target="_a28__xexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_xBexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_xRexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_xhexEeOaDesjAlqXXw" name="ControlFlow3" source="_a28__xexEeOaDesjAlqXXw" target="_a29ABBexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_xxexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_yBexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_yRexEeOaDesjAlqXXw" name="ControlFlow4" source="_a29ABBexEeOaDesjAlqXXw" target="_a28_vRexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_yhexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_yxexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_zBexEeOaDesjAlqXXw" name="ControlFlow5" source="_a29ABBexEeOaDesjAlqXXw" target="_a28_vhexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_zRexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_zhexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_zxexEeOaDesjAlqXXw" name="ControlFlow6" source="_a29ABBexEeOaDesjAlqXXw" target="_a28_vxexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_0BexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_0RexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_0hexEeOaDesjAlqXXw" name="ControlFlow7" source="_a28_vhexEeOaDesjAlqXXw" target="_a29AAhexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_0xexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_1BexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_1RexEeOaDesjAlqXXw" name="ControlFlow8" source="_a28_vxexEeOaDesjAlqXXw" target="_a29AAhexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_1hexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_1xexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_2BexEeOaDesjAlqXXw" name="ControlFlow9" source="_a28_vRexEeOaDesjAlqXXw" target="_a29ABxexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_2RexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_2hexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_2xexEeOaDesjAlqXXw" name="ControlFlow10" source="_a29ABxexEeOaDesjAlqXXw" target="_a29ABRexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_3BexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_3RexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_3hexEeOaDesjAlqXXw" name="ControlFlow11" source="_a29ABRexEeOaDesjAlqXXw" target="_a29AABexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_3xexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_4BexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_4RexEeOaDesjAlqXXw" name="ControlFlow12" source="_a29AABexEeOaDesjAlqXXw" target="_a29AARexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_4hexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_4xexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_5BexEeOaDesjAlqXXw" name="ControlFlow13" source="_a29AARexEeOaDesjAlqXXw" target="_a29ABhexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_5RexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_5hexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_5xexEeOaDesjAlqXXw" name="ControlFlow14" source="_a29ABhexEeOaDesjAlqXXw" target="_a29AAxexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_6BexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_6RexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_6hexEeOaDesjAlqXXw" name="ControlFlow15" source="_a29ABhexEeOaDesjAlqXXw" target="_a28__xexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_6xexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_7BexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_7RexEeOaDesjAlqXXw" name="ControlFlow16" source="_a29AAxexEeOaDesjAlqXXw" target="_a28__RexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_7hexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_7xexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_8BexEeOaDesjAlqXXw" name="ControlFlow17" source="_a29AAhexEeOaDesjAlqXXw" target="_a29ACBexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_8RexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_8hexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_8xexEeOaDesjAlqXXw" name="ControlFlow18" source="_a29ACBexEeOaDesjAlqXXw" target="_a29AAxexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_9BexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_9RexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_9hexEeOaDesjAlqXXw" name="ControlFlow19" source="_a29ACBexEeOaDesjAlqXXw" target="_a28__xexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_9xexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_-BexEeOaDesjAlqXXw"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_a28_-RexEeOaDesjAlqXXw" name="ControlFlow20" source="_a29ABRexEeOaDesjAlqXXw" target="_a28__xexEeOaDesjAlqXXw">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_a28_-hexEeOaDesjAlqXXw" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_a28_-xexEeOaDesjAlqXXw"/>
+ </edge>
+ <group xmi:type="uml:StructuredActivityNode" xmi:id="_a28_vBexEeOaDesjAlqXXw" name="Route">
+ <node xmi:type="uml:OpaqueAction" xmi:id="_a28_vRexEeOaDesjAlqXXw" name="Assign" outgoing="_a28_2BexEeOaDesjAlqXXw" incoming="_a28_yRexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_a28_vhexEeOaDesjAlqXXw" name="Return for Clarification" outgoing="_a28_0hexEeOaDesjAlqXXw" incoming="_a28_zBexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_a28_vxexEeOaDesjAlqXXw" name="Reject" outgoing="_a28_1RexEeOaDesjAlqXXw" incoming="_a28_zxexEeOaDesjAlqXXw"/>
+ </group>
+ <node xmi:type="uml:InitialNode" xmi:id="_a28__BexEeOaDesjAlqXXw" name="InitialNode1" outgoing="_a28_wBexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:ActivityFinalNode" xmi:id="_a28__RexEeOaDesjAlqXXw" name="ActivityFinalNode1" incoming="_a28_7RexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_a28__hexEeOaDesjAlqXXw" name="Raise" outgoing="_a28_wxexEeOaDesjAlqXXw" incoming="_a28_wBexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_a28__xexEeOaDesjAlqXXw" name="Triage" outgoing="_a28_xhexEeOaDesjAlqXXw" incoming="_a28_wxexEeOaDesjAlqXXw _a28_6hexEeOaDesjAlqXXw _a28_9hexEeOaDesjAlqXXw _a28_-RexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_a29AABexEeOaDesjAlqXXw" name="Resolve" outgoing="_a28_4RexEeOaDesjAlqXXw" incoming="_a28_3hexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_a29AARexEeOaDesjAlqXXw" name="Verify" outgoing="_a28_5BexEeOaDesjAlqXXw" incoming="_a28_4RexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_a29AAhexEeOaDesjAlqXXw" name="Review" outgoing="_a28_8BexEeOaDesjAlqXXw" incoming="_a28_0hexEeOaDesjAlqXXw _a28_1RexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_a29AAxexEeOaDesjAlqXXw" name="Close" outgoing="_a28_7RexEeOaDesjAlqXXw" incoming="_a28_5xexEeOaDesjAlqXXw _a28_8xexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:DecisionNode" xmi:id="_a29ABBexEeOaDesjAlqXXw" name="DecisionNode1" outgoing="_a28_yRexEeOaDesjAlqXXw _a28_zBexEeOaDesjAlqXXw _a28_zxexEeOaDesjAlqXXw" incoming="_a28_xhexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:DecisionNode" xmi:id="_a29ABRexEeOaDesjAlqXXw" name="DecisionNode2" outgoing="_a28_3hexEeOaDesjAlqXXw _a28_-RexEeOaDesjAlqXXw" incoming="_a28_2xexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:DecisionNode" xmi:id="_a29ABhexEeOaDesjAlqXXw" name="DecisionNode3" outgoing="_a28_5xexEeOaDesjAlqXXw _a28_6hexEeOaDesjAlqXXw" incoming="_a28_5BexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_a29ABxexEeOaDesjAlqXXw" name="Work On" outgoing="_a28_2xexEeOaDesjAlqXXw" incoming="_a28_2BexEeOaDesjAlqXXw"/>
+ <node xmi:type="uml:DecisionNode" xmi:id="_a29ACBexEeOaDesjAlqXXw" name="DecisionNode4" outgoing="_a28_8xexEeOaDesjAlqXXw _a28_9hexEeOaDesjAlqXXw" incoming="_a28_8BexEeOaDesjAlqXXw"/>
+ </ownedBehavior>
+ <ownedOperation xmi:id="_a29ACRexEeOaDesjAlqXXw" name="lookup"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_a29AChexEeOaDesjAlqXXw" clientDependency="_a29ADRexEeOaDesjAlqXXw" name="User">
+ <ownedAttribute xmi:id="_a29ACxexEeOaDesjAlqXXw" name="realName">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_a29ADBexEeOaDesjAlqXXw" name="email">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <interfaceRealization xmi:id="_a29ADRexEeOaDesjAlqXXw" name="InterfaceRealization1" client="_a29AChexEeOaDesjAlqXXw" supplier="_a29AFhexEeOaDesjAlqXXw" contract="_a29AFhexEeOaDesjAlqXXw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_a29ADhexEeOaDesjAlqXXw" name="bug_reporter" memberEnd="_a29ADxexEeOaDesjAlqXXw _a28_tBexEeOaDesjAlqXXw">
+ <ownedEnd xmi:id="_a29ADxexEeOaDesjAlqXXw" name="reported" type="_a28_shexEeOaDesjAlqXXw" association="_a29ADhexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a29AEBexEeOaDesjAlqXXw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a29AERexEeOaDesjAlqXXw" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_a29AEhexEeOaDesjAlqXXw" name="bug_assignee" memberEnd="_a29AExexEeOaDesjAlqXXw _a28_txexEeOaDesjAlqXXw">
+ <ownedEnd xmi:id="_a29AExexEeOaDesjAlqXXw" name="assigned" type="_a28_shexEeOaDesjAlqXXw" association="_a29AEhexEeOaDesjAlqXXw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_a29AFBexEeOaDesjAlqXXw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_a29AFRexEeOaDesjAlqXXw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_a29AFhexEeOaDesjAlqXXw" name="IPermissionOwner"/>
+ <packagedElement xmi:type="uml:Interface" xmi:id="_a29AFxexEeOaDesjAlqXXw" name="IPermissionControlled"/>
+ <profileApplication xmi:id="_a29AGBexEeOaDesjAlqXXw">
+ <eAnnotations xmi:id="_a29AGRexEeOaDesjAlqXXw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="j2ee.profile.uml#_a8wFshexEeOaDesjAlqXXw"/>
+ </eAnnotations>
+ <appliedProfile href="j2ee.profile.uml#_a8wFsBexEeOaDesjAlqXXw"/>
+ </profileApplication>
+ </uml:Model>
+ <j2ee:Bean xmi:id="_a29AGhexEeOaDesjAlqXXw" base_Classifier="_a28_shexEeOaDesjAlqXXw" kind="session" primaryFinder="_a29AGxexEeOaDesjAlqXXw"/>
+ <j2ee:Finder xmi:id="_a29AGxexEeOaDesjAlqXXw" base_Operation="_a29ACRexEeOaDesjAlqXXw"/>
+ <j2ee:Bean xmi:id="_a29mwBexEeOaDesjAlqXXw" base_Classifier="_a29AChexEeOaDesjAlqXXw"/>
+</xmi:XMI>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AbstractPapyrusCDOSearchTest.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AbstractPapyrusCDOSearchTest.java
new file mode 100644
index 00000000000..60d283aaf5c
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AbstractPapyrusCDOSearchTest.java
@@ -0,0 +1,260 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.cdo.uml.search.ui.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.Arrays;
+import java.util.regex.Pattern;
+
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.papyrus.cdo.core.tests.AbstractPapyrusCDOTest;
+import org.eclipse.papyrus.views.search.results.AbstractResultEntry;
+import org.eclipse.papyrus.views.search.results.AttributeMatch;
+import org.eclipse.papyrus.views.search.results.ModelElementMatch;
+import org.eclipse.search.ui.ISearchResult;
+import org.eclipse.search.ui.text.AbstractTextSearchResult;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IPerspectiveDescriptor;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.IViewReference;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.uml2.uml.NamedElement;
+import org.junit.Before;
+
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+
+/**
+ * This is the AbstractPapyrusCDOSearchTest type. Enjoy.
+ */
+public abstract class AbstractPapyrusCDOSearchTest extends AbstractPapyrusCDOTest {
+
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.cdo.uml.search.ui.tests";
+
+ private IWorkbenchPage page;
+
+ public AbstractPapyrusCDOSearchTest() {
+ super();
+ }
+
+ @Before
+ public void initWorkbench() throws Exception {
+ page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+
+ // ensure the Papyrus perspective
+ IPerspectiveDescriptor perspective = page.getWorkbenchWindow().getWorkbench().getPerspectiveRegistry().findPerspectiveWithId("org.eclipse.papyrus.infra.core.perspective");
+ if(!perspective.getId().equals(page.getPerspective().getId())) {
+ page.setPerspective(perspective);
+ }
+
+ // minimize the Welcome view
+ for(IViewReference next : page.getViewReferences()) {
+ if("org.eclipse.ui.internal.introview".equals(next.getId())) {
+ page.setPartState(next, IWorkbenchPage.STATE_MINIMIZED);
+ break;
+ }
+ }
+
+ // bring the Repository Explorer forward
+ @SuppressWarnings("restriction")
+ IViewPart reposView = page.showView(org.eclipse.papyrus.cdo.internal.ui.views.ModelRepositoriesView.ID);
+ page.activate(reposView);
+
+ page.setEditorAreaVisible(true);
+
+ flushDisplayEvents();
+ }
+
+ @Before
+ public void importTestModel() throws Exception {
+
+ CDOTransaction transaction = createTransaction();
+ ResourceSet rset = transaction.getResourceSet();
+
+ importModel(transaction, "garage", "GarageModel/garage");
+ importModel(transaction, "j2ee.profile", "BugTracker/j2ee.profile");
+ importModel(transaction, "tracker", "BugTracker/tracker");
+ importModel(transaction, "admin", "AdminConsole/admin");
+
+ getPapyrusRepository().commit(rset);
+ getPapyrusRepository().close(rset);
+ }
+
+ private void importModel(CDOTransaction transaction, String name, String dstPath) {
+ importResource(transaction, name + ".uml", dstPath + ".uml");
+ importResource(transaction, name + ".notation", dstPath + ".notation");
+ importResource(transaction, name + ".di", dstPath + ".di");
+ }
+
+ private Resource importResource(CDOTransaction transaction, String srcPath, String dstPath) {
+ ResourceSet rset = transaction.getResourceSet();
+
+ Resource xml = rset.getResource(URI.createPlatformPluginURI(PLUGIN_ID + "/resources/" + srcPath, true), true);
+
+ EcoreUtil.resolveAll(xml);
+
+ Resource result = transaction.getOrCreateResource(getResourcePath(dstPath));
+ result.getContents().clear();
+ result.getContents().addAll(xml.getContents());
+
+ xml.unload();
+ rset.getResources().remove(xml);
+
+ return result;
+ }
+
+ protected IWorkbenchPage getWorkbenchPage() {
+ return page;
+ }
+
+ protected void flushDisplayEvents() {
+ while(Display.getCurrent().readAndDispatch()) {
+ // pass
+ }
+ }
+
+ protected void sleep(int seconds) {
+ for(int i = 0; i < seconds; i++) {
+ try {
+ Thread.sleep(1000);
+ } catch (Exception e) {
+ // fine. So, we don't sleep so long
+ }
+
+ flushDisplayEvents();
+ }
+ }
+
+ protected void assertMatched(ISearchResult searchResult, Predicate<? super EObject> predicate) {
+ boolean found = false;
+
+ AbstractTextSearchResult textResult = (AbstractTextSearchResult)searchResult;
+ for(Object element : textResult.getElements()) {
+ for(AbstractResultEntry next : Iterables.filter(Arrays.asList(textResult.getMatches(element)), AbstractResultEntry.class)) {
+ if((next instanceof ModelElementMatch) || (next instanceof AttributeMatch)) {
+ assertThat("Search result match incorrect.", predicate.apply((EObject)next.getSource()), is(true));
+ found = true;
+ }
+ }
+ }
+
+ assertThat("No elements in search result matched.", found, is(true));
+ }
+
+ protected void assertMatchedAny(ISearchResult searchResult, Predicate<? super EObject> predicate) {
+ boolean found = false;
+
+ AbstractTextSearchResult textResult = (AbstractTextSearchResult)searchResult;
+ for(Object element : textResult.getElements()) {
+ for(AbstractResultEntry next : Iterables.filter(Arrays.asList(textResult.getMatches(element)), AbstractResultEntry.class)) {
+ if((next instanceof ModelElementMatch) || (next instanceof AttributeMatch)) {
+ if(predicate.apply((EObject)next.getSource())) {
+ found = true;
+ break;
+ }
+ }
+ }
+ }
+
+ assertThat("No elements in search result matched.", found, is(true));
+ }
+
+ protected void assertNotMatched(ISearchResult searchResult, Predicate<? super EObject> predicate) {
+ AbstractTextSearchResult textResult = (AbstractTextSearchResult)searchResult;
+ for(Object element : textResult.getElements()) {
+ for(AbstractResultEntry next : Iterables.filter(Arrays.asList(textResult.getMatches(element)), AbstractResultEntry.class)) {
+ if((next instanceof ModelElementMatch) || (next instanceof AttributeMatch)) {
+ assertThat("Search result match incorrect.", predicate.apply((EObject)next.getSource()), is(false));
+ }
+ }
+ }
+ }
+
+ protected void assertNotMatchedAny(ISearchResult searchResult, Predicate<? super EObject> predicate) {
+ boolean found = false;
+
+ AbstractTextSearchResult textResult = (AbstractTextSearchResult)searchResult;
+ for(Object element : textResult.getElements()) {
+ for(AbstractResultEntry next : Iterables.filter(Arrays.asList(textResult.getMatches(element)), AbstractResultEntry.class)) {
+ if((next instanceof ModelElementMatch) || (next instanceof AttributeMatch)) {
+ if(!predicate.apply((EObject)next.getSource())) {
+ found = true;
+ break;
+ }
+ }
+ }
+ }
+
+ assertThat("All elements in search result matched.", found, is(true));
+ }
+
+ protected Predicate<Object> type(final EClassifier type) {
+ return new Predicate<Object>() {
+
+ @Override
+ public boolean apply(Object input) {
+ return type.isInstance(input);
+ }
+ };
+ }
+
+ protected Predicate<EObject> name(final Pattern regex) {
+ return new Predicate<EObject>() {
+
+ @Override
+ public boolean apply(EObject input) {
+ boolean result = input instanceof NamedElement;
+
+ if(result) {
+ NamedElement element = (NamedElement)input;
+ result = element.getName() != null && regex.matcher(element.getName()).matches();
+ }
+
+ return result;
+ }
+ };
+ }
+
+ protected Predicate<EObject> anyString(final Pattern regex) {
+ return new Predicate<EObject>() {
+
+ @Override
+ public boolean apply(EObject input) {
+ boolean result = false;
+
+ for(EAttribute next : input.eClass().getEAllAttributes()) {
+ if(next.getEType().getInstanceClass() == String.class) {
+ Object value = input.eGet(next);
+ String string = next.isMany() ? String.valueOf(value) : (String)value;
+
+ if((string != null) && regex.matcher(string).matches()) {
+ result = true;
+ break;
+ }
+ }
+ }
+
+ return result;
+ }
+ };
+ }
+}
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AdvancedTextSearchTest.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AdvancedTextSearchTest.java
new file mode 100644
index 00000000000..ebd462c8341
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AdvancedTextSearchTest.java
@@ -0,0 +1,132 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.cdo.uml.search.ui.tests;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.regex.Pattern;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.cdo.uml.search.internal.ui.query.CDOSearchQueryProvider;
+import org.eclipse.papyrus.uml.search.ui.providers.ParticipantTypeAttribute;
+import org.eclipse.papyrus.uml.search.ui.providers.ParticipantTypeElement;
+import org.eclipse.papyrus.uml.search.ui.query.AbstractPapyrusQuery;
+import org.eclipse.papyrus.uml.search.ui.query.QueryInfo;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.junit.Test;
+
+import com.google.common.base.Predicate;
+
+
+/**
+ * This is the AdvancedTextSearchTest type. Enjoy.
+ */
+public class AdvancedTextSearchTest extends AbstractPapyrusCDOSearchTest {
+
+ public AdvancedTextSearchTest() {
+ super();
+ }
+
+ @Test
+ public void testSearchByOneAttributeOfOneMetaclass() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+
+ ParticipantTypeElement e = new ParticipantTypeElement(UMLPackage.Literals.STATE);
+ ParticipantTypeAttribute a = new ParticipantTypeAttribute(UMLPackage.Literals.NAMED_ELEMENT__NAME, e);
+
+ QueryInfo info = new QueryInfo("close", false, false, Arrays.asList(e, a), Collections.singleton(getTestFolderURI()));
+
+ AbstractPapyrusQuery query = provider.createAdvancedSearchQuery(info);
+ query.run(new NullProgressMonitor());
+
+ assertMatched(query.getSearchResult(), name(Pattern.compile(".*close.*", Pattern.CASE_INSENSITIVE)));
+ assertMatched(query.getSearchResult(), type(UMLPackage.Literals.STATE));
+ }
+
+ @Test
+ public void testSearchByOneAttributesOfTwoMetaclasses() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+
+ ParticipantTypeElement e1 = new ParticipantTypeElement(UMLPackage.Literals.STATE);
+ ParticipantTypeAttribute a1 = new ParticipantTypeAttribute(UMLPackage.Literals.NAMED_ELEMENT__NAME, e1);
+
+ ParticipantTypeElement e2 = new ParticipantTypeElement(UMLPackage.Literals.ACTION);
+ ParticipantTypeAttribute a2 = new ParticipantTypeAttribute(UMLPackage.Literals.NAMED_ELEMENT__NAME, e2);
+
+ QueryInfo info = new QueryInfo("close", false, false, Arrays.asList(e1, e2, a1, a2), Collections.singleton(getTestFolderURI()));
+
+ AbstractPapyrusQuery query = provider.createAdvancedSearchQuery(info);
+ query.run(new NullProgressMonitor());
+
+ assertMatched(query.getSearchResult(), name(Pattern.compile(".*close.*", Pattern.CASE_INSENSITIVE)));
+ assertMatchedAny(query.getSearchResult(), type(UMLPackage.Literals.STATE));
+ assertMatchedAny(query.getSearchResult(), type(UMLPackage.Literals.ACTION));
+ }
+
+ @Test
+ public void testSearchByNonStringAttribute() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+
+ ParticipantTypeElement e = new ParticipantTypeElement(UMLPackage.Literals.PROPERTY);
+ ParticipantTypeAttribute a = new ParticipantTypeAttribute(UMLPackage.Literals.NAMED_ELEMENT__VISIBILITY, e);
+
+ QueryInfo info = new QueryInfo("public", true, false, Arrays.asList(e, a), Collections.singleton(getTestFolderURI()));
+
+ AbstractPapyrusQuery query = provider.createAdvancedSearchQuery(info);
+ query.run(new NullProgressMonitor());
+
+ assertMatched(query.getSearchResult(), type(UMLPackage.Literals.PROPERTY));
+ assertMatched(query.getSearchResult(), visibility(VisibilityKind.PUBLIC_LITERAL));
+ }
+
+ @Test
+ public void testSearchByAllAttributesOfAMetaclass() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+
+ ParticipantTypeElement e = new ParticipantTypeElement(UMLPackage.Literals.NAMED_ELEMENT);
+
+ QueryInfo info = new QueryInfo("bug", false, false, Collections.singleton(e), Collections.singleton(getTestFolderURI()));
+
+ AbstractPapyrusQuery query = provider.createAdvancedSearchQuery(info);
+ query.run(new NullProgressMonitor());
+
+ assertMatched(query.getSearchResult(), anyString(Pattern.compile(".*bug.*", Pattern.CASE_INSENSITIVE)));
+ assertMatchedAny(query.getSearchResult(), type(UMLPackage.Literals.MODEL));
+ assertMatchedAny(query.getSearchResult(), type(UMLPackage.Literals.CLASS));
+ assertMatchedAny(query.getSearchResult(), type(UMLPackage.Literals.ASSOCIATION));
+ assertMatchedAny(query.getSearchResult(), type(UMLPackage.Literals.PROPERTY));
+ }
+
+ //
+ // Test framework
+ //
+
+ protected Predicate<EObject> visibility(final VisibilityKind visibility) {
+ return new Predicate<EObject>() {
+
+ @Override
+ public boolean apply(EObject input) {
+ boolean result = input instanceof NamedElement;
+
+ if(result) {
+ NamedElement element = (NamedElement)input;
+ result = element.getVisibility() == visibility;
+ }
+
+ return result;
+ }
+ };
+ }
+}
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AllTests.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AllTests.java
new file mode 100644
index 00000000000..2a64f8556c6
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/AllTests.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.cdo.uml.search.ui.tests;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * This is the AllTests type. Enjoy.
+ */
+@RunWith(Suite.class)
+@SuiteClasses({ BasicTextSearchTest.class, AdvancedTextSearchTest.class, SearchScopingTest.class })
+public class AllTests {
+
+ public AllTests() {
+ super();
+ }
+
+}
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/BasicTextSearchTest.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/BasicTextSearchTest.java
new file mode 100644
index 00000000000..ebe51b8f576
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/BasicTextSearchTest.java
@@ -0,0 +1,82 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.cdo.uml.search.ui.tests;
+
+import java.util.Collections;
+import java.util.regex.Pattern;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.papyrus.cdo.uml.search.internal.ui.query.CDOSearchQueryProvider;
+import org.eclipse.papyrus.uml.search.ui.query.AbstractPapyrusQuery;
+import org.eclipse.papyrus.uml.search.ui.query.QueryInfo;
+import org.junit.Test;
+
+
+/**
+ * This is the BasicTextSearchTest type. Enjoy.
+ */
+public class BasicTextSearchTest extends AbstractPapyrusCDOSearchTest {
+
+ public BasicTextSearchTest() {
+ super();
+ }
+
+ @Test
+ public void testSearchByName() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+ QueryInfo info = new QueryInfo("close", false, false, false, Collections.singleton(getTestFolderURI()));
+
+ AbstractPapyrusQuery query = provider.createSimpleSearchQuery(info);
+ query.run(new NullProgressMonitor());
+
+ assertMatched(query.getSearchResult(), name(Pattern.compile(".*close.*", Pattern.CASE_INSENSITIVE)));
+ }
+
+ @Test
+ public void testSearchByNameCaseSensitive() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+ QueryInfo info = new QueryInfo("Bug", true, false, false, Collections.singleton(getTestFolderURI()));
+
+ AbstractPapyrusQuery query = provider.createSimpleSearchQuery(info);
+ query.run(new NullProgressMonitor());
+
+ assertMatched(query.getSearchResult(), name(Pattern.compile(".*Bug.*")));
+ assertNotMatched(query.getSearchResult(), name(Pattern.compile(".*bug.*")));
+ }
+
+ @Test
+ public void testSearchByNameRegex() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+ QueryInfo info = new QueryInfo("^[Bb]ug.*", false, true, false, Collections.singleton(getTestFolderURI()));
+
+ AbstractPapyrusQuery query = provider.createSimpleSearchQuery(info);
+ query.run(new NullProgressMonitor());
+
+ assertMatchedAny(query.getSearchResult(), name(Pattern.compile("Bug.*")));
+ assertMatchedAny(query.getSearchResult(), name(Pattern.compile("bug.*")));
+ assertNotMatched(query.getSearchResult(), name(Pattern.compile(".+[Bb]ug.*")));
+ }
+
+
+ @Test
+ public void testSearchByAnyString() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+ QueryInfo info = new QueryInfo("Bug", true, false, true, Collections.singleton(getTestFolderURI()));
+
+ AbstractPapyrusQuery query = provider.createSimpleSearchQuery(info);
+ query.run(new NullProgressMonitor());
+
+ assertMatched(query.getSearchResult(), anyString(Pattern.compile(".*Bug.*")));
+ assertNotMatchedAny(query.getSearchResult(), name(Pattern.compile(".*Bug.*")));
+ }
+
+}
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/SearchScopingTest.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/SearchScopingTest.java
new file mode 100644
index 00000000000..d57510bd0a3
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.uml.search.ui.tests/src/org/eclipse/papyrus/cdo/uml/search/ui/tests/SearchScopingTest.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.cdo.uml.search.ui.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.Collections;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.cdo.uml.search.internal.ui.query.CDOSearchQueryProvider;
+import org.eclipse.papyrus.uml.search.ui.query.AbstractPapyrusQuery;
+import org.eclipse.papyrus.uml.search.ui.query.QueryInfo;
+import org.junit.Test;
+
+import com.google.common.base.Objects;
+import com.google.common.base.Predicate;
+
+
+/**
+ * This is the BasicTextSearchTest.java type. Enjoy.
+ */
+public class SearchScopingTest extends AbstractPapyrusCDOSearchTest {
+
+ public SearchScopingTest() {
+ super();
+ }
+
+ @Test
+ public void testCanProvideFor() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+ assertThat(provider.canProvideFor(getRepositoryURI()), is(true));
+ assertThat(provider.canProvideFor(getTestFolderURI()), is(true));
+ assertThat(provider.canProvideFor(URI.createPlatformResourceURI("/GarageModel/garage.uml", true)), is(false));
+ }
+
+ @Test
+ public void testSearchWholeFolder() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+ QueryInfo info = new QueryInfo("close", false, false, false, Collections.singleton(getTestFolderURI()));
+
+ AbstractPapyrusQuery query = provider.createSimpleSearchQuery(info);
+ query.run(new NullProgressMonitor());
+
+ assertMatchedAny(query.getSearchResult(), resourceName("garage"));
+ assertMatchedAny(query.getSearchResult(), resourceName("tracker"));
+ }
+
+ @Test
+ public void testSearchModel() {
+ CDOSearchQueryProvider provider = new CDOSearchQueryProvider();
+
+ QueryInfo info = new QueryInfo("close", false, false, false, //
+ // trim the trailing empty segment of the folder URI to avoid getting a double separator ("//")
+ Collections.singleton(getTestFolderURI().trimSegments(1).appendSegment("GarageModel").appendSegment("garage.uml")));
+
+ AbstractPapyrusQuery query = provider.createSimpleSearchQuery(info);
+ query.run(new NullProgressMonitor());
+
+ assertMatched(query.getSearchResult(), resourceName("garage"));
+ assertNotMatched(query.getSearchResult(), resourceName("tracker"));
+ }
+
+ //
+ // Test framework
+ //
+
+ protected Predicate<EObject> resourceName(final String name) {
+ return new Predicate<EObject>() {
+
+ @Override
+ public boolean apply(EObject input) {
+ Resource resource = input.eResource();
+ return Objects.equal(resource.getURI().trimFileExtension().lastSegment(), name);
+ }
+ };
+ }
+
+}

Back to the top