Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcletavernie2013-03-11 18:22:34 +0000
committercletavernie2013-03-11 18:22:34 +0000
commite16fa2b226a432880e4ade7092fe3a318a941cee (patch)
tree16221c2f124e643baf10fcdb2236dc93d4a310d3 /tests/junit/extraplugins
parentaa79b57f3f930fdf3c8e5e6b0d50821cf6d9596d (diff)
downloadorg.eclipse.papyrus-e16fa2b226a432880e4ade7092fe3a318a941cee.tar.gz
org.eclipse.papyrus-e16fa2b226a432880e4ade7092fe3a318a941cee.tar.xz
org.eclipse.papyrus-e16fa2b226a432880e4ade7092fe3a318a941cee.zip
290952: [CDO] Support for CDO model repository
https://bugs.eclipse.org/bugs/show_bug.cgi?id=290952 Merge the tests from cdo_kepler to the trunk (From r10476)
Diffstat (limited to 'tests/junit/extraplugins')
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.classpath7
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.project28
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.settings/org.eclipse.jdt.core.prefs287
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.settings/org.eclipse.jdt.ui.prefs58
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/META-INF/MANIFEST.MF31
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/about.html28
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/build.properties7
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/plugin.properties13
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.di211
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.notation854
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.uml136
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/editors/tests/BasicEditorTest.java131
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/editors/tests/DawnEditorAdapterTest.java243
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/markers/tests/ModelValidationMarkersTest.java217
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/ui/tests/AbstractPapyrusCDOUITest.java357
-rw-r--r--tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/ui/tests/AllTests.java33
16 files changed, 2641 insertions, 0 deletions
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.classpath b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.classpath
new file mode 100644
index 00000000000..abfee048d70
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.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/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.project b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.project
new file mode 100644
index 00000000000..e45a0e19d9d
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.cdo.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.ui.tests/.settings/org.eclipse.jdt.core.prefs b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..a13557a0d1f
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.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.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
+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.ui.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000000..272e835ec52
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.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=true
+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.ui.tests/META-INF/MANIFEST.MF b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..03969d968e9
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,31 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.cdo.ui.tests;singleton:=true
+Bundle-Version: 0.10.0.qualifier
+Bundle-Vendor: %providerName
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.ui.ide;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="0.10.0",
+ org.eclipse.papyrus.infra.core.log;bundle-version="0.10.0",
+ org.eclipse.ui.workbench,
+ org.eclipse.papyrus.cdo.core;bundle-version="0.10.0",
+ org.eclipse.emf.cdo.ui;bundle-version="[4.2.0,5.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="0.10.0",
+ org.eclipse.emf.cdo.dawn;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.emf.cdo.dawn.gmf;bundle-version="[2.1.0,3.0.0)",
+ org.eclipse.emf.cdo.dawn.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="0.10.0",
+ org.eclipse.papyrus.cdo.core.tests;bundle-version="0.10.0",
+ org.eclipse.papyrus.cdo.ui;bundle-version="0.10.0",
+ org.eclipse.papyrus.infra.services.validation;bundle-version="0.10.0",
+ org.eclipse.papyrus.infra.services.markerlistener;bundle-version="0.10.0",
+ org.eclipse.papyrus.cdo.validation.problems;bundle-version="0.10.0"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Localization: plugin
+Import-Package: com.google.common.base;version="10.0.1",
+ com.google.common.cache;version="10.0.1",
+ com.google.common.collect;version="10.0.1"
+Export-Package: org.eclipse.papyrus.cdo.internal.ui.editors.tests;x-internal:=true,
+ org.eclipse.papyrus.cdo.internal.ui.markers.tests;x-internal:=true,
+ org.eclipse.papyrus.cdo.ui.tests
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/about.html b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/about.html
new file mode 100644
index 00000000000..209103075a7
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.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.ui.tests/build.properties b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/build.properties
new file mode 100644
index 00000000000..2b112c46131
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/build.properties
@@ -0,0 +1,7 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties,\
+ about.html
+src.includes = about.html
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/plugin.properties b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/plugin.properties
new file mode 100644
index 00000000000..1af1ce5c2f7
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.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 Model Repository UI Tests (Incubation)
+providerName = Eclipse Modeling Project
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.di b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.di
new file mode 100644
index 00000000000..7035d603909
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.di
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI 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" xmlns:org.eclipse.papyrus.infra.table.instance.papyrustableinstance="http://www.eclipse.org/Papyrus/Table/0.8.0/papyrustableinstance" xmlns:tableinstance="http://www.eclipse.org/EMF_Facet/ModelCellEditor/0.1.0/tableinstance" xmlns:tableinstance2="http://www.eclipse.org/EMF_Facet/Table/0.1.0/tableinstance2">
+ <di:SashWindowsMngr>
+ <pageList>
+ <availablePage>
+ <emfPageIdentifier href="model.notation#_PIsWgHFlEeK8x7zQKtpUFg"/>
+ </availablePage>
+ <availablePage emfPageIdentifier="/1"/>
+ <availablePage>
+ <emfPageIdentifier href="model.notation#_PIuywHFlEeK8x7zQKtpUFg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="model.notation#_PIxPAHFlEeK8x7zQKtpUFg"/>
+ </availablePage>
+ <availablePage>
+ <emfPageIdentifier href="model.notation#_PIzrQHFlEeK8x7zQKtpUFg"/>
+ </availablePage>
+ </pageList>
+ <sashModel currentSelection="/0/@sashModel/@windows.0/@children.0">
+ <windows>
+ <children xsi:type="di:TabFolder">
+ <children>
+ <emfPageIdentifier href="model.notation#_PIsWgHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children emfPageIdentifier="/1"/>
+ <children>
+ <emfPageIdentifier href="model.notation#_PIuywHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="model.notation#_PIxPAHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children>
+ <emfPageIdentifier href="model.notation#_PIzrQHFlEeK8x7zQKtpUFg"/>
+ </children>
+ </children>
+ </windows>
+ </sashModel>
+ </di:SashWindowsMngr>
+ <org.eclipse.papyrus.infra.table.instance.papyrustableinstance:PapyrusTableInstance name="DefaultTable" table="/2"/>
+ <tableinstance2:TableInstance2 description="Table Description">
+ <tableConfiguration href="platform:/plugin/org.eclipse.papyrus.uml.table.default/resources/default.tableconfiguration2#/"/>
+ <customizations href="emffacet:/customization/UMLPapyrusDefaultBrowserCustomization#/"/>
+ <customizations href="#/2/@localCustomizations.1"/>
+ <customizations href="#/2/@localCustomizations.0"/>
+ <context href="model.uml#_PI4jwHFlEeK8x7zQKtpUFg"/>
+ <columns xsi:type="tableinstance:DefaultLabelColumn"/>
+ <columns xsi:type="tableinstance:MetaClassColumn"/>
+ <columns xsi:type="tableinstance:EContainerColumn"/>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/emf/2002/Ecore#//EModelElement/eAnnotations"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/ownedComment"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/ownedElement"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/owner"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/clientDependency"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/nameExpression"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/namespace"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/visibility"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace/elementImport"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace/packageImport"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace/ownedRule"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace/ownedMember"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace/importedMember"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace/member"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/4.0.0/UML#//RedefinableElement/isLeaf"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//RedefinableElement/redefinedElement"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//RedefinableElement/redefinitionContext"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement/owningTemplateParameter"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//ParameterableElement/templateParameter"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Type/package"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateableElement/ownedTemplateSignature"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateableElement/templateBinding"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/feature"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/attribute"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/collaborationUse"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/general"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/generalization"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/powertypeExtent"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/inheritedMember"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/isAbstract"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/isFinalSpecialization"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/ownedUseCase"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/useCase"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/redefinedClassifier"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/representation"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/substitution"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//StructuredClassifier/ownedAttribute"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//StructuredClassifier/ownedConnector"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//StructuredClassifier/part"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//StructuredClassifier/role"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//EncapsulatedClassifier/ownedPort"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioredClassifier/interfaceRealization"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioredClassifier/ownedBehavior"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Class/ownedOperation"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Class/extension"/>
+ </columns>
+ <columns xsi:type="tableinstance:AttributeColumn">
+ <attribute href="http://www.eclipse.org/uml2/4.0.0/UML#//Class/isActive"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Class/nestedClassifier"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Class/ownedReception"/>
+ </columns>
+ <columns xsi:type="tableinstance:ReferenceColumn">
+ <reference href="http://www.eclipse.org/uml2/4.0.0/UML#//Class/superClass"/>
+ </columns>
+ <rows>
+ <element href="model.uml#_PI4jwnFlEeK8x7zQKtpUFg"/>
+ </rows>
+ <localCustomizations metamodelURI="http://www.eclipse.org/emf/2002/Ecore"/>
+ <localCustomizations metamodelURI="http://www.eclipse.org/uml2/4.0.0/UML"/>
+ </tableinstance2:TableInstance2>
+</xmi:XMI>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.notation b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.notation
new file mode 100644
index 00000000000..9abe6da081d
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.notation
@@ -0,0 +1,854 @@
+<?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="_PIsWgHFlEeK8x7zQKtpUFg" type="PapyrusUMLClassDiagram" name="classes" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_PIsWgXFlEeK8x7zQKtpUFg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIsWgnFlEeK8x7zQKtpUFg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PIsWg3FlEeK8x7zQKtpUFg" type="7017">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIsWhHFlEeK8x7zQKtpUFg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIsWhXFlEeK8x7zQKtpUFg" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PIsWhnFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIsWh3FlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIsWiHFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIsWiXFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PIsWinFlEeK8x7zQKtpUFg" type="7018">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIsWi3FlEeK8x7zQKtpUFg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIsWjHFlEeK8x7zQKtpUFg" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PIsWjXFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIsWjnFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIsWj3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIsWkHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PIsWkXFlEeK8x7zQKtpUFg" type="7019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIsWknFlEeK8x7zQKtpUFg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIsWk3FlEeK8x7zQKtpUFg" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PIsWlHFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIsWlXFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIsWlnFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIsWl3FlEeK8x7zQKtpUFg"/>
+ </children>
+ <element xmi:type="uml:Class" href="model.uml#_PI4jwnFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIsWmHFlEeK8x7zQKtpUFg" x="63" y="18"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIsWmXFlEeK8x7zQKtpUFg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIsWmnFlEeK8x7zQKtpUFg" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PIsWm3FlEeK8x7zQKtpUFg" type="7017">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIsWnHFlEeK8x7zQKtpUFg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIsWnXFlEeK8x7zQKtpUFg" key="showTitle" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_PIsWnnFlEeK8x7zQKtpUFg" type="3012">
+ <element xmi:type="uml:Property" href="model.uml#_PI4kH3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIsWn3FlEeK8x7zQKtpUFg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PIsWoHFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIsWoXFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIsWonFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIsWo3FlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PIsWpHFlEeK8x7zQKtpUFg" type="7018">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIsWpXFlEeK8x7zQKtpUFg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIsWpnFlEeK8x7zQKtpUFg" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PIsWp3FlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIsWqHFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIsWqXFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIsWqnFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_PIsWq3FlEeK8x7zQKtpUFg" type="7019">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIsWrHFlEeK8x7zQKtpUFg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIsWrXFlEeK8x7zQKtpUFg" key="showTitle" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_PIsWrnFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIsWr3FlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIsWsHFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIsWsXFlEeK8x7zQKtpUFg"/>
+ </children>
+ <element xmi:type="uml:Class" href="model.uml#_PI4kHnFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIsWsnFlEeK8x7zQKtpUFg" x="270" y="18"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_SFbYAIQqEeKq_f8GS5X7FQ" type="2009">
+ <children xmi:type="notation:DecorationNode" xmi:id="_SFcmIIQqEeKq_f8GS5X7FQ" type="5032"/>
+ <element xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SFbYAYQqEeKq_f8GS5X7FQ" x="171" y="198"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_PIsWs3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Model" href="model.uml#_PI4jwHFlEeK8x7zQKtpUFg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_PIsWtHFlEeK8x7zQKtpUFg" type="4001" source="_PIsWgXFlEeK8x7zQKtpUFg" target="_PIsWmXFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIsWtXFlEeK8x7zQKtpUFg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIsWtnFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIsWt3FlEeK8x7zQKtpUFg" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIsWuHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIsWuXFlEeK8x7zQKtpUFg" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIsWunFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIsWu3FlEeK8x7zQKtpUFg" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIsWvHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIsWvXFlEeK8x7zQKtpUFg" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIsWvnFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIsWv3FlEeK8x7zQKtpUFg" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIsWwHFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIsWwXFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Association" href="model.uml#_PI4kIHFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIsWwnFlEeK8x7zQKtpUFg" points="[21, -6, -217, -15]$[204, -41, -34, -50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIsWw3FlEeK8x7zQKtpUFg" id="(0.79,0.39)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_VftGgIQqEeKq_f8GS5X7FQ" type="4002" source="_PIsWmXFlEeK8x7zQKtpUFg" target="_SFbYAIQqEeKq_f8GS5X7FQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_VftGg4QqEeKq_f8GS5X7FQ" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VftGhIQqEeKq_f8GS5X7FQ" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_VftGgYQqEeKq_f8GS5X7FQ"/>
+ <element xmi:type="uml:Generalization" href="model.uml#_VZyEsIQqEeKq_f8GS5X7FQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VftGgoQqEeKq_f8GS5X7FQ" points="[-16, 22, 60, -89]$[-70, 102, 6, -9]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VgM1wIQqEeKq_f8GS5X7FQ" id="(0.3482142857142857,0.78)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VgM1wYQqEeKq_f8GS5X7FQ" id="(0.62,0.18)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_PIuywHFlEeK8x7zQKtpUFg" type="PapyrusUMLActivityDiagram" name="lifecycle" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_PIuywXFlEeK8x7zQKtpUFg" type="2001" fontName="Lucida Grande" fontHeight="11" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIuywnFlEeK8x7zQKtpUFg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIuyw3FlEeK8x7zQKtpUFg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIuyxHFlEeK8x7zQKtpUFg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIuyxXFlEeK8x7zQKtpUFg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIuyxnFlEeK8x7zQKtpUFg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIuyx3FlEeK8x7zQKtpUFg" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuyyHFlEeK8x7zQKtpUFg" type="5001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuyyXFlEeK8x7zQKtpUFg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIuyynFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIuyy3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuyzHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuyzXFlEeK8x7zQKtpUFg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIuyznFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIuyz3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy0HFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy0XFlEeK8x7zQKtpUFg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIuy0nFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIuy03FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy1HFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy1XFlEeK8x7zQKtpUFg" type="7004">
+ <children xmi:type="notation:Shape" xmi:id="_PIuy1nFlEeK8x7zQKtpUFg" type="3004">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy13FlEeK8x7zQKtpUFg" type="5080">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuy2HFlEeK8x7zQKtpUFg" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIuy2XFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:InitialNode" href="model.uml#_PI4j5HFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy2nFlEeK8x7zQKtpUFg" x="89" y="122"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIuy23FlEeK8x7zQKtpUFg" type="3005">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy3HFlEeK8x7zQKtpUFg" type="5081">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuy3XFlEeK8x7zQKtpUFg" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIuy3nFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ActivityFinalNode" href="model.uml#_PI4j5XFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy33FlEeK8x7zQKtpUFg" x="787" y="186"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIuy4HFlEeK8x7zQKtpUFg" type="3065">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy4XFlEeK8x7zQKtpUFg" type="5117"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy4nFlEeK8x7zQKtpUFg" type="7005">
+ <children xmi:type="notation:Shape" xmi:id="_PIuy43FlEeK8x7zQKtpUFg" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy5HFlEeK8x7zQKtpUFg" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIuy5XFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:OpaqueAction" href="model.uml#_PI4jyHFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy5nFlEeK8x7zQKtpUFg" x="30" y="66"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIuy53FlEeK8x7zQKtpUFg" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy6HFlEeK8x7zQKtpUFg" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIuy6XFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:OpaqueAction" href="model.uml#_PI4jyXFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy6nFlEeK8x7zQKtpUFg" x="138" y="66"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIuy63FlEeK8x7zQKtpUFg" type="3038">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy7HFlEeK8x7zQKtpUFg" type="5043">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuy7XFlEeK8x7zQKtpUFg" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy7nFlEeK8x7zQKtpUFg" type="5098">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuy73FlEeK8x7zQKtpUFg" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIuy8HFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:DecisionNode" href="model.uml#_PI4jynFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy8XFlEeK8x7zQKtpUFg" x="246" y="66"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy8nFlEeK8x7zQKtpUFg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIuy83FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:StructuredActivityNode" href="model.uml#_PI4jx3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy9HFlEeK8x7zQKtpUFg" x="76" y="192" width="280" height="154"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIuy9XFlEeK8x7zQKtpUFg" type="3067">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy9nFlEeK8x7zQKtpUFg" type="5118"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy93FlEeK8x7zQKtpUFg" type="7006">
+ <children xmi:type="notation:Shape" xmi:id="_PIuy-HFlEeK8x7zQKtpUFg" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuy-XFlEeK8x7zQKtpUFg" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIuy-nFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:OpaqueAction" href="model.uml#_PI4j5nFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy-3FlEeK8x7zQKtpUFg" x="85" y="52"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy_HFlEeK8x7zQKtpUFg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIuy_XFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ActivityPartition" href="model.uml#_PI4jy3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuy_nFlEeK8x7zQKtpUFg" x="391" y="30" width="239" height="148"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIuy_3FlEeK8x7zQKtpUFg" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzAHFlEeK8x7zQKtpUFg" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIuzAXFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:OpaqueAction" href="model.uml#_PI4j53FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuzAnFlEeK8x7zQKtpUFg" x="497" y="288"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIuzA3FlEeK8x7zQKtpUFg" type="3039">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzBHFlEeK8x7zQKtpUFg" type="5099">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzBXFlEeK8x7zQKtpUFg" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIuzBnFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:MergeNode" href="model.uml#_PI4j6HFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuzB3FlEeK8x7zQKtpUFg" x="715" y="183"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuzCHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <element xmi:type="uml:Activity" href="model.uml#_PI4jxnFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIuzCXFlEeK8x7zQKtpUFg"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_PIuzCnFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Activity" href="model.uml#_PI4jxnFlEeK8x7zQKtpUFg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_PIuzC3FlEeK8x7zQKtpUFg" type="4004" source="_PIuy1nFlEeK8x7zQKtpUFg" target="_PIuy43FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzDHFlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzDXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzDnFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzD3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzEHFlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzEXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzEnFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzE3FlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIuzFHFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4jzHFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIuzFXFlEeK8x7zQKtpUFg" points="[1, 3, -39, -143]$[39, 126, -1, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIuzFnFlEeK8x7zQKtpUFg" id="(0.45,0.8)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIuzF3FlEeK8x7zQKtpUFg" type="4004" source="_PIuy43FlEeK8x7zQKtpUFg" target="_PIuy53FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzGHFlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzGXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzGnFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzG3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzHHFlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzHXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzHnFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzH3FlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIuzIHFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4jz3FlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIuzIXFlEeK8x7zQKtpUFg" points="[11, 2, -73, -1]$[88, -17, 4, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIuzInFlEeK8x7zQKtpUFg" id="(0.8428571428571429,0.425)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIuzI3FlEeK8x7zQKtpUFg" type="4004" source="_PIuy53FlEeK8x7zQKtpUFg" target="_PIuy63FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzJHFlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzJXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzJnFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzJ3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzKHFlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzKXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzKnFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzK3FlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIuzLHFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4j0nFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIuzLXFlEeK8x7zQKtpUFg" points="[35, -4, -48, 1]$[82, 8, -1, 13]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIuzLnFlEeK8x7zQKtpUFg" type="4004" source="_PIuy63FlEeK8x7zQKtpUFg" target="_PIuy-HFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzL3FlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzMHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzMXFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzMnFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzM3FlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzNHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzNXFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzNnFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIuzN3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4j1XFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIuzOHFlEeK8x7zQKtpUFg" points="[6, -6, -181, 151]$[189, -137, 2, 20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIuzOXFlEeK8x7zQKtpUFg" type="4004" source="_PIuy63FlEeK8x7zQKtpUFg" target="_PIuy_3FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzOnFlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzO3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzPHFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzPXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzPnFlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzP3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzQHFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzQXFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIuzQnFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4j2HFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIuzQ3FlEeK8x7zQKtpUFg" points="[13, 2, -195, -27]$[243, 37, 35, 8]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIuzRHFlEeK8x7zQKtpUFg" id="(0.25,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIuzRXFlEeK8x7zQKtpUFg" type="4004" source="_PIuy_3FlEeK8x7zQKtpUFg" target="_PIuzA3FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzRnFlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzR3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzSHFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzSXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzSnFlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzS3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzTHFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzTXFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIuzTnFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4j23FlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIuzT3FlEeK8x7zQKtpUFg" points="[16, -11, -158, 103]$[174, -114, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIuzUHFlEeK8x7zQKtpUFg" id="(0.7714285714285715,0.6)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIuzUXFlEeK8x7zQKtpUFg" type="4004" source="_PIuy-HFlEeK8x7zQKtpUFg" target="_PIuzA3FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzUnFlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzU3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzVHFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzVXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzVnFlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzV3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIuzWHFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIuzWXFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIuzWnFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4j3nFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIuzW3FlEeK8x7zQKtpUFg" points="[35, 12, -174, -64]$[208, 62, -1, -14]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIvZ0HFlEeK8x7zQKtpUFg" type="4004" source="_PIuzA3FlEeK8x7zQKtpUFg" target="_PIuy23FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIvZ0XFlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIvZ0nFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIvZ03FlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIvZ1HFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIvZ1XFlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIvZ1nFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIvZ13FlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIvZ2HFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIvZ2XFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4j4XFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIvZ2nFlEeK8x7zQKtpUFg" points="[7, -4, -65, -2]$[71, -12, -1, -10]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_PIxPAHFlEeK8x7zQKtpUFg" type="PapyrusUMLStateMachineDiagram" name="fsm" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_PIxPAXFlEeK8x7zQKtpUFg" type="2000" fontName="Lucida Grande" fontHeight="11" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIxPAnFlEeK8x7zQKtpUFg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIxPA3FlEeK8x7zQKtpUFg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIxPBHFlEeK8x7zQKtpUFg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIxPBXFlEeK8x7zQKtpUFg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIxPBnFlEeK8x7zQKtpUFg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIxPB3FlEeK8x7zQKtpUFg" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPCHFlEeK8x7zQKtpUFg" type="2001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPCXFlEeK8x7zQKtpUFg" width="700" height="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPCnFlEeK8x7zQKtpUFg" type="2002">
+ <children xmi:type="notation:Shape" xmi:id="_PIxPC3FlEeK8x7zQKtpUFg" type="3000" fontName="Lucida Grande" fontHeight="11" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIxPDHFlEeK8x7zQKtpUFg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIxPDXFlEeK8x7zQKtpUFg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIxPDnFlEeK8x7zQKtpUFg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIxPD3FlEeK8x7zQKtpUFg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIxPEHFlEeK8x7zQKtpUFg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIxPEXFlEeK8x7zQKtpUFg" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIxPEnFlEeK8x7zQKtpUFg" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIxPE3FlEeK8x7zQKtpUFg" key="RegionZoneKey" value="L"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPFHFlEeK8x7zQKtpUFg" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_PIxPFXFlEeK8x7zQKtpUFg" type="8000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPFnFlEeK8x7zQKtpUFg" type="8001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPF3FlEeK8x7zQKtpUFg" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPGHFlEeK8x7zQKtpUFg" type="8002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPGXFlEeK8x7zQKtpUFg" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="model.uml#_PI4j7nFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPGnFlEeK8x7zQKtpUFg" x="51" y="53"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIxPG3FlEeK8x7zQKtpUFg" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPHHFlEeK8x7zQKtpUFg" type="6001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPHXFlEeK8x7zQKtpUFg" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPHnFlEeK8x7zQKtpUFg"/>
+ </children>
+ <element xmi:type="uml:State" href="model.uml#_PI4j73FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPH3FlEeK8x7zQKtpUFg" x="96" y="164"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIxPIHFlEeK8x7zQKtpUFg" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPIXFlEeK8x7zQKtpUFg" type="6001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPInFlEeK8x7zQKtpUFg" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPI3FlEeK8x7zQKtpUFg"/>
+ </children>
+ <element xmi:type="uml:State" href="model.uml#_PI4j8HFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPJHFlEeK8x7zQKtpUFg" x="240" y="164"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIxPJXFlEeK8x7zQKtpUFg" type="5000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPJnFlEeK8x7zQKtpUFg" type="5001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPJ3FlEeK8x7zQKtpUFg" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPKHFlEeK8x7zQKtpUFg" type="5002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPKXFlEeK8x7zQKtpUFg" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:FinalState" href="model.uml#_PI4j8XFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPKnFlEeK8x7zQKtpUFg" x="195" y="30"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPK3FlEeK8x7zQKtpUFg"/>
+ </children>
+ <element xmi:type="uml:Region" href="model.uml#_PI4j6nFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPLHFlEeK8x7zQKtpUFg" width="350" height="287"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIxPLXFlEeK8x7zQKtpUFg" type="3000">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIxPLnFlEeK8x7zQKtpUFg" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIxPL3FlEeK8x7zQKtpUFg" key="RegionZoneKey" value="R"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPMHFlEeK8x7zQKtpUFg" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_PIxPMXFlEeK8x7zQKtpUFg" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPMnFlEeK8x7zQKtpUFg" type="6001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPM3FlEeK8x7zQKtpUFg" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPNHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <element xmi:type="uml:State" href="model.uml#_PI4j-HFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPNXFlEeK8x7zQKtpUFg" x="79" y="110"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIxPNnFlEeK8x7zQKtpUFg" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPN3FlEeK8x7zQKtpUFg" type="6001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPOHFlEeK8x7zQKtpUFg" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPOXFlEeK8x7zQKtpUFg"/>
+ </children>
+ <element xmi:type="uml:State" href="model.uml#_PI4j-XFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPOnFlEeK8x7zQKtpUFg" x="205" y="119"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIxPO3FlEeK8x7zQKtpUFg" type="9000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPPHFlEeK8x7zQKtpUFg" type="9001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPPXFlEeK8x7zQKtpUFg" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPPnFlEeK8x7zQKtpUFg" type="9002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPP3FlEeK8x7zQKtpUFg" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="model.uml#_PI4j-nFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPQHFlEeK8x7zQKtpUFg" x="168" y="49"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIxPQXFlEeK8x7zQKtpUFg" type="10000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPQnFlEeK8x7zQKtpUFg" type="10001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPQ3FlEeK8x7zQKtpUFg" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPRHFlEeK8x7zQKtpUFg" type="10002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPRXFlEeK8x7zQKtpUFg" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="model.uml#_PI4j-3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPRnFlEeK8x7zQKtpUFg" x="173" y="202"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPR3FlEeK8x7zQKtpUFg"/>
+ </children>
+ <element xmi:type="uml:Region" href="model.uml#_PI4j8nFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPSHFlEeK8x7zQKtpUFg" x="350" width="350" height="287"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPSXFlEeK8x7zQKtpUFg" y="13" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="model.uml#_PI4j6XFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIxPSnFlEeK8x7zQKtpUFg" x="30" y="30" width="700" height="300"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_PIxPS3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:StateMachine" href="model.uml#_PI4j6XFlEeK8x7zQKtpUFg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_PIxPTHFlEeK8x7zQKtpUFg" type="7000" source="_PIxPFXFlEeK8x7zQKtpUFg" target="_PIxPG3FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPTXFlEeK8x7zQKtpUFg" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPTnFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPT3FlEeK8x7zQKtpUFg" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPUHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPUXFlEeK8x7zQKtpUFg" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPUnFlEeK8x7zQKtpUFg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIxPU3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Transition" href="model.uml#_PI4j63FlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIxPVHFlEeK8x7zQKtpUFg" points="[4, 10, -51, -111]$[52, 101, -3, -20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIxPVXFlEeK8x7zQKtpUFg" type="7000" source="_PIxPG3FlEeK8x7zQKtpUFg" target="_PIxPIHFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPVnFlEeK8x7zQKtpUFg" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPV3FlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPWHFlEeK8x7zQKtpUFg" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIxPWXFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIxPWnFlEeK8x7zQKtpUFg" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2EHFlEeK8x7zQKtpUFg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIx2EXFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Transition" href="model.uml#_PI4j7HFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIx2EnFlEeK8x7zQKtpUFg" points="[20, 7, -105, 6]$[128, 21, 3, 20]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIx2E3FlEeK8x7zQKtpUFg" type="7000" source="_PIxPIHFlEeK8x7zQKtpUFg" target="_PIxPQXFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2FHFlEeK8x7zQKtpUFg" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2FXFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2FnFlEeK8x7zQKtpUFg" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2F3FlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2GHFlEeK8x7zQKtpUFg" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2GXFlEeK8x7zQKtpUFg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIx2GnFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Transition" href="model.uml#_PI4j7XFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIx2G3FlEeK8x7zQKtpUFg" points="[20, 1, -267, -21]$[287, 17, 0, -5]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIx2HHFlEeK8x7zQKtpUFg" type="7000" source="_PIxPQXFlEeK8x7zQKtpUFg" target="_PIxPMXFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2HXFlEeK8x7zQKtpUFg" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2HnFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2H3FlEeK8x7zQKtpUFg" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2IHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2IXFlEeK8x7zQKtpUFg" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2InFlEeK8x7zQKtpUFg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIx2I3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Transition" href="model.uml#_PI4j83FlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIx2JHFlEeK8x7zQKtpUFg" points="[-2, -2, 77, 72]$[-74, -94, 5, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIx2JXFlEeK8x7zQKtpUFg" id="(0.5,0.2)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIx2JnFlEeK8x7zQKtpUFg" type="7000" source="_PIxPQXFlEeK8x7zQKtpUFg" target="_PIxPNnFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2J3FlEeK8x7zQKtpUFg" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2KHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2KXFlEeK8x7zQKtpUFg" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2KnFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2K3FlEeK8x7zQKtpUFg" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2LHFlEeK8x7zQKtpUFg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIx2LXFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Transition" href="model.uml#_PI4j9HFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIx2LnFlEeK8x7zQKtpUFg" points="[5, -6, -49, 50]$[58, -48, 4, 8]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIx2L3FlEeK8x7zQKtpUFg" id="(0.675,0.8)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIx2MHFlEeK8x7zQKtpUFg" type="7000" source="_PIxPMXFlEeK8x7zQKtpUFg" target="_PIxPO3FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2MXFlEeK8x7zQKtpUFg" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2MnFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2M3FlEeK8x7zQKtpUFg" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2NHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2NXFlEeK8x7zQKtpUFg" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2NnFlEeK8x7zQKtpUFg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIx2N3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Transition" href="model.uml#_PI4j9XFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIx2OHFlEeK8x7zQKtpUFg" points="[6, -5, -72, 54]$[76, -58, -2, 1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIx2OXFlEeK8x7zQKtpUFg" id="(0.325,0.125)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIx2OnFlEeK8x7zQKtpUFg" id="(0.2,0.7)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIx2O3FlEeK8x7zQKtpUFg" type="7000" source="_PIxPNnFlEeK8x7zQKtpUFg" target="_PIxPO3FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2PHFlEeK8x7zQKtpUFg" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2PXFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2PnFlEeK8x7zQKtpUFg" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2P3FlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2QHFlEeK8x7zQKtpUFg" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2QXFlEeK8x7zQKtpUFg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIx2QnFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Transition" href="model.uml#_PI4j9nFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIx2Q3FlEeK8x7zQKtpUFg" points="[-13, -20, 39, 65]$[-52, -80, 0, 5]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIx2RHFlEeK8x7zQKtpUFg" type="7000" source="_PIxPO3FlEeK8x7zQKtpUFg" target="_PIxPJXFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2RXFlEeK8x7zQKtpUFg" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2RnFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2R3FlEeK8x7zQKtpUFg" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2SHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIx2SXFlEeK8x7zQKtpUFg" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIx2SnFlEeK8x7zQKtpUFg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIx2S3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Transition" href="model.uml#_PI4j93FlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIx2THFlEeK8x7zQKtpUFg" points="[-5, -1, 313, 13]$[-315, -4, 3, 10]"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_PIzrQHFlEeK8x7zQKtpUFg" type="PapyrusUMLActivityDiagram" name="activity2" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_PIzrQXFlEeK8x7zQKtpUFg" type="2001" fontName="Lucida Grande" fontHeight="11" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIzrQnFlEeK8x7zQKtpUFg" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIzrQ3FlEeK8x7zQKtpUFg" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIzrRHFlEeK8x7zQKtpUFg" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIzrRXFlEeK8x7zQKtpUFg" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_PIzrRnFlEeK8x7zQKtpUFg" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_PIzrR3FlEeK8x7zQKtpUFg" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrSHFlEeK8x7zQKtpUFg" type="5001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrSXFlEeK8x7zQKtpUFg" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIzrSnFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIzrS3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrTHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrTXFlEeK8x7zQKtpUFg" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIzrTnFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIzrT3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrUHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrUXFlEeK8x7zQKtpUFg" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_PIzrUnFlEeK8x7zQKtpUFg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_PIzrU3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrVHFlEeK8x7zQKtpUFg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrVXFlEeK8x7zQKtpUFg" type="7004">
+ <children xmi:type="notation:Shape" xmi:id="_PIzrVnFlEeK8x7zQKtpUFg" type="3004">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrV3FlEeK8x7zQKtpUFg" type="5080">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzrWHFlEeK8x7zQKtpUFg" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIzrWXFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:InitialNode" href="model.uml#_PI4kFnFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrWnFlEeK8x7zQKtpUFg" x="45" y="84"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIzrW3FlEeK8x7zQKtpUFg" type="3067">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrXHFlEeK8x7zQKtpUFg" type="5118"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrXXFlEeK8x7zQKtpUFg" type="7006">
+ <children xmi:type="notation:Shape" xmi:id="_PIzrXnFlEeK8x7zQKtpUFg" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrX3FlEeK8x7zQKtpUFg" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIzrYHFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:OpaqueAction" href="model.uml#_PI4kGHFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrYXFlEeK8x7zQKtpUFg" x="85" y="100"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIzrYnFlEeK8x7zQKtpUFg" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrY3FlEeK8x7zQKtpUFg" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIzrZHFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:OpaqueAction" href="model.uml#_PI4kGXFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrZXFlEeK8x7zQKtpUFg" x="85" y="268"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrZnFlEeK8x7zQKtpUFg"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIzrZ3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ActivityPartition" href="model.uml#_PI4j_XFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzraHFlEeK8x7zQKtpUFg" x="283" y="-6" width="244" height="397"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIzraXFlEeK8x7zQKtpUFg" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzranFlEeK8x7zQKtpUFg" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIzra3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:OpaqueAction" href="model.uml#_PI4kF3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrbHFlEeK8x7zQKtpUFg" x="106" y="210"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIzrbXFlEeK8x7zQKtpUFg" type="3007">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrbnFlEeK8x7zQKtpUFg" type="5003"/>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIzrb3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:OpaqueAction" href="model.uml#_PI4kGnFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrcHFlEeK8x7zQKtpUFg" x="670" y="210"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIzrcXFlEeK8x7zQKtpUFg" type="3005">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrcnFlEeK8x7zQKtpUFg" type="5081">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzrc3FlEeK8x7zQKtpUFg" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIzrdHFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ActivityFinalNode" href="model.uml#_PI4kG3FlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrdXFlEeK8x7zQKtpUFg" x="742" y="84"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIzrdnFlEeK8x7zQKtpUFg" type="3040">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrd3FlEeK8x7zQKtpUFg" type="5100">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzreHFlEeK8x7zQKtpUFg" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIzreXFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ForkNode" href="model.uml#_PI4kHHFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrenFlEeK8x7zQKtpUFg" x="229" y="210"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PIzre3FlEeK8x7zQKtpUFg" type="3041">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrfHFlEeK8x7zQKtpUFg" type="5042">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzrfXFlEeK8x7zQKtpUFg" y="5"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrfnFlEeK8x7zQKtpUFg" type="5101">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzrf3FlEeK8x7zQKtpUFg" y="5"/>
+ </children>
+ <styles xmi:type="notation:HintedDiagramLinkStyle" xmi:id="_PIzrgHFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:JoinNode" href="model.uml#_PI4kHXFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrgXFlEeK8x7zQKtpUFg" x="598" y="210"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrgnFlEeK8x7zQKtpUFg"/>
+ </children>
+ <element xmi:type="uml:Activity" href="model.uml#_PI4j_HFlEeK8x7zQKtpUFg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PIzrg3FlEeK8x7zQKtpUFg"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_PIzrhHFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:Activity" href="model.uml#_PI4j_HFlEeK8x7zQKtpUFg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_PIzrhXFlEeK8x7zQKtpUFg" type="4004" source="_PIzrVnFlEeK8x7zQKtpUFg" target="_PIzraXFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrhnFlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzrh3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzriHFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzriXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrinFlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzri3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrjHFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzrjXFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIzrjnFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4j_nFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIzrj3FlEeK8x7zQKtpUFg" points="[4, 8, -63, -118]$[51, 117, -16, -9]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIzrkHFlEeK8x7zQKtpUFg" id="(0.22857142857142856,0.25)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIzrkXFlEeK8x7zQKtpUFg" type="4004" source="_PIzraXFlEeK8x7zQKtpUFg" target="_PIzrdnFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrknFlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzrk3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrlHFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzrlXFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrlnFlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzrl3FlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrmHFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PIzrmXFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PIzrmnFlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4kAXFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PIzrm3FlEeK8x7zQKtpUFg" points="[35, 0, -58, 0]$[88, 0, -5, 0]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PIzrnHFlEeK8x7zQKtpUFg" type="4004" source="_PIzrdnFlEeK8x7zQKtpUFg" target="_PIzrXnFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PIzrnXFlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SUHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SUXFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SUnFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SU3FlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SVHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SVXFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SVnFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PI0SV3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4kBHFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PI0SWHFlEeK8x7zQKtpUFg" points="[4, -2, -169, 83]$[138, -80, -35, 5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PI0SWXFlEeK8x7zQKtpUFg" id="(0.6,0.15)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PI0SWnFlEeK8x7zQKtpUFg" type="4004" source="_PIzrdnFlEeK8x7zQKtpUFg" target="_PIzrYnFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SW3FlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SXHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SXXFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SXnFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SX3FlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SYHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SYXFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SYnFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PI0SY3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4kB3FlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PI0SZHFlEeK8x7zQKtpUFg" points="[5, 2, -150, -71]$[139, 73, -16, 0]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PI0SZXFlEeK8x7zQKtpUFg" id="(0.22857142857142856,0.525)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PI0SZnFlEeK8x7zQKtpUFg" type="4004" source="_PIzrXnFlEeK8x7zQKtpUFg" target="_PIzre3FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SZ3FlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SaHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SaXFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SanFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0Sa3FlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SbHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SbXFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SbnFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PI0Sb3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4kCnFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PI0ScHFlEeK8x7zQKtpUFg" points="[16, 8, -160, -85]$[176, 73, 0, -20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PI0ScXFlEeK8x7zQKtpUFg" id="(0.7714285714285715,0.65)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PI0ScnFlEeK8x7zQKtpUFg" type="4004" source="_PIzrYnFlEeK8x7zQKtpUFg" target="_PIzre3FlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0Sc3FlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SdHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SdXFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SdnFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0Sd3FlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SeHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SeXFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SenFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PI0Se3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4kDXFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PI0SfHFlEeK8x7zQKtpUFg" points="[17, -7, -160, 65]$[175, -52, -2, 20]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PI0SfXFlEeK8x7zQKtpUFg" id="(0.7571428571428571,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PI0SfnFlEeK8x7zQKtpUFg" type="4004" source="_PIzre3FlEeK8x7zQKtpUFg" target="_PIzrbXFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0Sf3FlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SgHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SgXFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SgnFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0Sg3FlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0ShHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0ShXFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0ShnFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PI0Sh3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4kEHFlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PI0SiHFlEeK8x7zQKtpUFg" points="[5, -1, -97, 0]$[85, -3, -17, -2]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PI0SiXFlEeK8x7zQKtpUFg" id="(0.24285714285714285,0.45)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_PI0SinFlEeK8x7zQKtpUFg" type="4004" source="_PIzrbXFlEeK8x7zQKtpUFg" target="_PIzrcXFlEeK8x7zQKtpUFg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0Si3FlEeK8x7zQKtpUFg" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SjHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SjXFlEeK8x7zQKtpUFg" visible="false" type="6004">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SjnFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0Sj3FlEeK8x7zQKtpUFg" type="6009">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SkHFlEeK8x7zQKtpUFg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_PI0SkXFlEeK8x7zQKtpUFg" type="6011">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PI0SknFlEeK8x7zQKtpUFg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_PI0Sk3FlEeK8x7zQKtpUFg"/>
+ <element xmi:type="uml:ControlFlow" href="model.uml#_PI4kE3FlEeK8x7zQKtpUFg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PI0SlHFlEeK8x7zQKtpUFg" points="[-2, -9, 12, 115]$[-14, -114, 0, 10]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PI0SlXFlEeK8x7zQKtpUFg" id="(0.4,0.225)"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.uml b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.uml
new file mode 100644
index 00000000000..c601b47a595
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/resources/model.uml
@@ -0,0 +1,136 @@
+<?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="_PI4jwHFlEeK8x7zQKtpUFg" name="model">
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_PI4jwXFlEeK8x7zQKtpUFg">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Class" xmi:id="_PI4jwnFlEeK8x7zQKtpUFg" name="Foo" classifierBehavior="_PI4j_HFlEeK8x7zQKtpUFg">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_PI4jw3FlEeK8x7zQKtpUFg" name="bar" type="_PI4kHnFlEeK8x7zQKtpUFg" association="_PI4kIHFlEeK8x7zQKtpUFg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PI4jxHFlEeK8x7zQKtpUFg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PI4jxXFlEeK8x7zQKtpUFg" value="1"/>
+ </ownedAttribute>
+ <ownedBehavior xmi:type="uml:Activity" xmi:id="_PI4jxnFlEeK8x7zQKtpUFg" name="Activity1" group="_PI4jx3FlEeK8x7zQKtpUFg _PI4jy3FlEeK8x7zQKtpUFg" node="_PI4j5HFlEeK8x7zQKtpUFg _PI4j5XFlEeK8x7zQKtpUFg _PI4j5nFlEeK8x7zQKtpUFg _PI4j53FlEeK8x7zQKtpUFg _PI4j6HFlEeK8x7zQKtpUFg">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4jzHFlEeK8x7zQKtpUFg" name="ControlFlow1" source="_PI4j5HFlEeK8x7zQKtpUFg" target="_PI4jyHFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4jzXFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4jznFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4jz3FlEeK8x7zQKtpUFg" name="ControlFlow2" source="_PI4jyHFlEeK8x7zQKtpUFg" target="_PI4jyXFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4j0HFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4j0XFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4j0nFlEeK8x7zQKtpUFg" name="ControlFlow3" source="_PI4jyXFlEeK8x7zQKtpUFg" target="_PI4jynFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4j03FlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4j1HFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4j1XFlEeK8x7zQKtpUFg" name="ControlFlow4" source="_PI4jynFlEeK8x7zQKtpUFg" target="_PI4j5nFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4j1nFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4j13FlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4j2HFlEeK8x7zQKtpUFg" name="ControlFlow5" source="_PI4jynFlEeK8x7zQKtpUFg" target="_PI4j53FlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4j2XFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4j2nFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4j23FlEeK8x7zQKtpUFg" name="ControlFlow6" source="_PI4j53FlEeK8x7zQKtpUFg" target="_PI4j6HFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4j3HFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4j3XFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4j3nFlEeK8x7zQKtpUFg" name="ControlFlow7" source="_PI4j5nFlEeK8x7zQKtpUFg" target="_PI4j6HFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4j33FlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4j4HFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4j4XFlEeK8x7zQKtpUFg" name="ControlFlow8" source="_PI4j6HFlEeK8x7zQKtpUFg" target="_PI4j5XFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4j4nFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4j43FlEeK8x7zQKtpUFg"/>
+ </edge>
+ <group xmi:type="uml:StructuredActivityNode" xmi:id="_PI4jx3FlEeK8x7zQKtpUFg" name="StructuredActivityNode1">
+ <node xmi:type="uml:OpaqueAction" xmi:id="_PI4jyHFlEeK8x7zQKtpUFg" name="OpaqueAction1" outgoing="_PI4jz3FlEeK8x7zQKtpUFg" incoming="_PI4jzHFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_PI4jyXFlEeK8x7zQKtpUFg" name="OpaqueAction2" outgoing="_PI4j0nFlEeK8x7zQKtpUFg" incoming="_PI4jz3FlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:DecisionNode" xmi:id="_PI4jynFlEeK8x7zQKtpUFg" name="DecisionNode1" outgoing="_PI4j1XFlEeK8x7zQKtpUFg _PI4j2HFlEeK8x7zQKtpUFg" incoming="_PI4j0nFlEeK8x7zQKtpUFg"/>
+ </group>
+ <group xmi:type="uml:ActivityPartition" xmi:id="_PI4jy3FlEeK8x7zQKtpUFg" name="ActivityPartition1" node="_PI4j5nFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:InitialNode" xmi:id="_PI4j5HFlEeK8x7zQKtpUFg" name="InitialNode1" outgoing="_PI4jzHFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:ActivityFinalNode" xmi:id="_PI4j5XFlEeK8x7zQKtpUFg" name="ActivityFinalNode1" incoming="_PI4j4XFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_PI4j5nFlEeK8x7zQKtpUFg" name="OpaqueAction1" inPartition="_PI4jy3FlEeK8x7zQKtpUFg" outgoing="_PI4j3nFlEeK8x7zQKtpUFg" incoming="_PI4j1XFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_PI4j53FlEeK8x7zQKtpUFg" name="OpaqueAction2" outgoing="_PI4j23FlEeK8x7zQKtpUFg" incoming="_PI4j2HFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:MergeNode" xmi:id="_PI4j6HFlEeK8x7zQKtpUFg" name="MergeNode1" outgoing="_PI4j4XFlEeK8x7zQKtpUFg" incoming="_PI4j23FlEeK8x7zQKtpUFg _PI4j3nFlEeK8x7zQKtpUFg"/>
+ </ownedBehavior>
+ <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_PI4j6XFlEeK8x7zQKtpUFg" name="StateMachine1">
+ <region xmi:type="uml:Region" xmi:id="_PI4j6nFlEeK8x7zQKtpUFg" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_PI4j63FlEeK8x7zQKtpUFg" name="Transition0" source="_PI4j7nFlEeK8x7zQKtpUFg" target="_PI4j73FlEeK8x7zQKtpUFg"/>
+ <transition xmi:type="uml:Transition" xmi:id="_PI4j7HFlEeK8x7zQKtpUFg" name="Transition1" source="_PI4j73FlEeK8x7zQKtpUFg" target="_PI4j8HFlEeK8x7zQKtpUFg"/>
+ <transition xmi:type="uml:Transition" xmi:id="_PI4j7XFlEeK8x7zQKtpUFg" name="Transition2" source="_PI4j8HFlEeK8x7zQKtpUFg" target="_PI4j-3FlEeK8x7zQKtpUFg"/>
+ <subvertex xmi:type="uml:Pseudostate" xmi:id="_PI4j7nFlEeK8x7zQKtpUFg" name="Initial0"/>
+ <subvertex xmi:type="uml:State" xmi:id="_PI4j73FlEeK8x7zQKtpUFg" name="State0"/>
+ <subvertex xmi:type="uml:State" xmi:id="_PI4j8HFlEeK8x7zQKtpUFg" name="State1"/>
+ <subvertex xmi:type="uml:FinalState" xmi:id="_PI4j8XFlEeK8x7zQKtpUFg" name="FinalState0"/>
+ </region>
+ <region xmi:type="uml:Region" xmi:id="_PI4j8nFlEeK8x7zQKtpUFg" name="Region0">
+ <transition xmi:type="uml:Transition" xmi:id="_PI4j83FlEeK8x7zQKtpUFg" name="Transition0" source="_PI4j-3FlEeK8x7zQKtpUFg" target="_PI4j-HFlEeK8x7zQKtpUFg"/>
+ <transition xmi:type="uml:Transition" xmi:id="_PI4j9HFlEeK8x7zQKtpUFg" name="Transition1" source="_PI4j-3FlEeK8x7zQKtpUFg" target="_PI4j-XFlEeK8x7zQKtpUFg"/>
+ <transition xmi:type="uml:Transition" xmi:id="_PI4j9XFlEeK8x7zQKtpUFg" name="Transition2" source="_PI4j-HFlEeK8x7zQKtpUFg" target="_PI4j-nFlEeK8x7zQKtpUFg"/>
+ <transition xmi:type="uml:Transition" xmi:id="_PI4j9nFlEeK8x7zQKtpUFg" name="Transition3" source="_PI4j-XFlEeK8x7zQKtpUFg" target="_PI4j-nFlEeK8x7zQKtpUFg"/>
+ <transition xmi:type="uml:Transition" xmi:id="_PI4j93FlEeK8x7zQKtpUFg" name="Transition4" source="_PI4j-nFlEeK8x7zQKtpUFg" target="_PI4j8XFlEeK8x7zQKtpUFg"/>
+ <subvertex xmi:type="uml:State" xmi:id="_PI4j-HFlEeK8x7zQKtpUFg" name="State0"/>
+ <subvertex xmi:type="uml:State" xmi:id="_PI4j-XFlEeK8x7zQKtpUFg" name="State1"/>
+ <subvertex xmi:type="uml:Pseudostate" xmi:id="_PI4j-nFlEeK8x7zQKtpUFg" name="Join0" kind="join"/>
+ <subvertex xmi:type="uml:Pseudostate" xmi:id="_PI4j-3FlEeK8x7zQKtpUFg" name="Fork0" kind="fork"/>
+ </region>
+ </ownedBehavior>
+ <ownedBehavior xmi:type="uml:Activity" xmi:id="_PI4j_HFlEeK8x7zQKtpUFg" name="Activity2" group="_PI4j_XFlEeK8x7zQKtpUFg" node="_PI4kFnFlEeK8x7zQKtpUFg _PI4kF3FlEeK8x7zQKtpUFg _PI4kGHFlEeK8x7zQKtpUFg _PI4kGXFlEeK8x7zQKtpUFg _PI4kGnFlEeK8x7zQKtpUFg _PI4kG3FlEeK8x7zQKtpUFg _PI4kHHFlEeK8x7zQKtpUFg _PI4kHXFlEeK8x7zQKtpUFg">
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4j_nFlEeK8x7zQKtpUFg" name="ControlFlow1" source="_PI4kFnFlEeK8x7zQKtpUFg" target="_PI4kF3FlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4j_3FlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4kAHFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4kAXFlEeK8x7zQKtpUFg" name="ControlFlow2" source="_PI4kF3FlEeK8x7zQKtpUFg" target="_PI4kHHFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4kAnFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4kA3FlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4kBHFlEeK8x7zQKtpUFg" name="ControlFlow3" source="_PI4kHHFlEeK8x7zQKtpUFg" target="_PI4kGHFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4kBXFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4kBnFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4kB3FlEeK8x7zQKtpUFg" name="ControlFlow4" source="_PI4kHHFlEeK8x7zQKtpUFg" target="_PI4kGXFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4kCHFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4kCXFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4kCnFlEeK8x7zQKtpUFg" name="ControlFlow5" source="_PI4kGHFlEeK8x7zQKtpUFg" target="_PI4kHXFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4kC3FlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4kDHFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4kDXFlEeK8x7zQKtpUFg" name="ControlFlow6" source="_PI4kGXFlEeK8x7zQKtpUFg" target="_PI4kHXFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4kDnFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4kD3FlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4kEHFlEeK8x7zQKtpUFg" name="ControlFlow7" source="_PI4kHXFlEeK8x7zQKtpUFg" target="_PI4kGnFlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4kEXFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4kEnFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <edge xmi:type="uml:ControlFlow" xmi:id="_PI4kE3FlEeK8x7zQKtpUFg" name="ControlFlow8" source="_PI4kGnFlEeK8x7zQKtpUFg" target="_PI4kG3FlEeK8x7zQKtpUFg">
+ <guard xmi:type="uml:LiteralBoolean" xmi:id="_PI4kFHFlEeK8x7zQKtpUFg" value="true"/>
+ <weight xmi:type="uml:LiteralInteger" xmi:id="_PI4kFXFlEeK8x7zQKtpUFg"/>
+ </edge>
+ <group xmi:type="uml:ActivityPartition" xmi:id="_PI4j_XFlEeK8x7zQKtpUFg" name="ActivityPartition1" node="_PI4kGHFlEeK8x7zQKtpUFg _PI4kGXFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:InitialNode" xmi:id="_PI4kFnFlEeK8x7zQKtpUFg" name="InitialNode1" outgoing="_PI4j_nFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_PI4kF3FlEeK8x7zQKtpUFg" name="OpaqueAction1" outgoing="_PI4kAXFlEeK8x7zQKtpUFg" incoming="_PI4j_nFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_PI4kGHFlEeK8x7zQKtpUFg" name="OpaqueAction2" inPartition="_PI4j_XFlEeK8x7zQKtpUFg" outgoing="_PI4kCnFlEeK8x7zQKtpUFg" incoming="_PI4kBHFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_PI4kGXFlEeK8x7zQKtpUFg" name="OpaqueAction3" inPartition="_PI4j_XFlEeK8x7zQKtpUFg" outgoing="_PI4kDXFlEeK8x7zQKtpUFg" incoming="_PI4kB3FlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:OpaqueAction" xmi:id="_PI4kGnFlEeK8x7zQKtpUFg" name="OpaqueAction4" outgoing="_PI4kE3FlEeK8x7zQKtpUFg" incoming="_PI4kEHFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:ActivityFinalNode" xmi:id="_PI4kG3FlEeK8x7zQKtpUFg" name="ActivityFinalNode1" incoming="_PI4kE3FlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:ForkNode" xmi:id="_PI4kHHFlEeK8x7zQKtpUFg" name="ForkNode1" outgoing="_PI4kBHFlEeK8x7zQKtpUFg _PI4kB3FlEeK8x7zQKtpUFg" incoming="_PI4kAXFlEeK8x7zQKtpUFg"/>
+ <node xmi:type="uml:JoinNode" xmi:id="_PI4kHXFlEeK8x7zQKtpUFg" name="JoinNode1" outgoing="_PI4kEHFlEeK8x7zQKtpUFg" incoming="_PI4kCnFlEeK8x7zQKtpUFg _PI4kDXFlEeK8x7zQKtpUFg"/>
+ </ownedBehavior>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_PI4kHnFlEeK8x7zQKtpUFg" name="Bar">
+ <generalization xmi:type="uml:Generalization" xmi:id="_VZyEsIQqEeKq_f8GS5X7FQ">
+ <general xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </generalization>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_PI4kH3FlEeK8x7zQKtpUFg" name="name">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_PI4kIHFlEeK8x7zQKtpUFg" name="foo_bar" memberEnd="_PI4kIXFlEeK8x7zQKtpUFg _PI4jw3FlEeK8x7zQKtpUFg">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_PI4kIXFlEeK8x7zQKtpUFg" name="foo" type="_PI4jwnFlEeK8x7zQKtpUFg" association="_PI4kIHFlEeK8x7zQKtpUFg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PI4kInFlEeK8x7zQKtpUFg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PI4kI3FlEeK8x7zQKtpUFg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/editors/tests/BasicEditorTest.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/editors/tests/BasicEditorTest.java
new file mode 100644
index 00000000000..5acaf5b4c06
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/editors/tests/BasicEditorTest.java
@@ -0,0 +1,131 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.cdo.internal.ui.editors.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.junit.Assert.assertThat;
+
+import org.eclipse.emf.cdo.CDOObject;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CDOUtil;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.gef.EditPart;
+import org.eclipse.papyrus.cdo.internal.core.CDOUtils;
+import org.eclipse.papyrus.cdo.internal.ui.expressions.CDOObjectPropertyTester;
+import org.eclipse.papyrus.cdo.ui.tests.AbstractPapyrusCDOUITest;
+import org.eclipse.uml2.uml.Class;
+import org.junit.Test;
+
+/**
+ * This is the BasicEditorTest type. Enjoy.
+ */
+public class BasicEditorTest extends AbstractPapyrusCDOUITest {
+
+ private static final Object[] NO_OBJECTS = {};
+
+ public BasicEditorTest() {
+ super();
+ }
+
+ @Test
+ public void editorOpens() {
+ openEditor();
+
+ Class foo = expectElement("Foo", Class.class);
+ EditPart editPart = expectEditPart(foo);
+
+ assertThat(editPart.isActive(), is(true));
+ }
+
+ @Test
+ public void canLock() {
+ openEditor();
+
+ Class foo = expectElement("Foo", Class.class);
+ EditPart editPart = expectEditPart(foo);
+
+ CDOObject cdoObject = (CDOObject)editPart.getAdapter(CDOObject.class);
+ boolean canLock = new CDOObjectPropertyTester().test(cdoObject, CDOObjectPropertyTester.CAN_LOCK, NO_OBJECTS, true);
+ assertThat(canLock, is(true));
+ }
+
+ @Test
+ public void isLockedLocally() {
+ openEditor();
+
+ Class foo = expectElement("Foo", Class.class);
+ EditPart editPart = expectEditPart(foo);
+
+ getDawnEditorSupport().lockObject(editPart);
+
+ CDOObject cdoObject = (CDOObject)editPart.getAdapter(CDOObject.class);
+ boolean isLocked = new CDOObjectPropertyTester().test(cdoObject, CDOObjectPropertyTester.IS_LOCKED_LOCALLY, NO_OBJECTS, true);
+ assertThat(isLocked, is(true));
+ }
+
+ @Test
+ public void isLockedRemotely() {
+ openEditor();
+
+ Class foo = expectElement("Foo", Class.class);
+ EditPart editPart = expectEditPart(foo);
+
+ URI uri = EcoreUtil.getURI(foo);
+
+ // open another transaction in which to lock the element
+ CDOTransaction transaction = createTransaction();
+ EObject remote = transaction.getResourceSet().getEObject(uri, true);
+ assertThat(remote, notNullValue());
+ CDOUtils.lock(CDOUtil.getCDOObject(remote));
+
+ // give the lock a chance to propagate
+ sleep(3);
+
+ CDOObject cdoObject = (CDOObject)editPart.getAdapter(CDOObject.class);
+ boolean isLocked = new CDOObjectPropertyTester().test(cdoObject, CDOObjectPropertyTester.IS_LOCKED_REMOTELY, NO_OBJECTS, true);
+ assertThat(isLocked, is(true));
+ }
+
+ @Test
+ public void isConflicting() throws Exception {
+
+ openEditor();
+
+ final Class foo = expectElement("Foo", Class.class);
+ EditPart editPart = expectEditPart(foo);
+ executeEdit(new Runnable() {
+
+ public void run() {
+ foo.setName("Foo1");
+ }
+ });
+
+ URI uri = EcoreUtil.getURI(foo);
+
+ // open another transaction in which to lock the element
+ CDOTransaction transaction = createTransaction();
+ Class remote = (Class)transaction.getResourceSet().getEObject(uri, true);
+ assertThat(remote, notNullValue());
+ remote.setName("Foo2");
+ transaction.commit();
+
+ // give the lock a chance to propagate
+ sleep(3);
+
+ CDOObject cdoObject = (CDOObject)editPart.getAdapter(CDOObject.class);
+ boolean isConflicting = new CDOObjectPropertyTester().test(cdoObject, CDOObjectPropertyTester.IS_CONFLICTED, NO_OBJECTS, true);
+ assertThat(isConflicting, is(true));
+ }
+}
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/editors/tests/DawnEditorAdapterTest.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/editors/tests/DawnEditorAdapterTest.java
new file mode 100644
index 00000000000..fd4d20914f6
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/editors/tests/DawnEditorAdapterTest.java
@@ -0,0 +1,243 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.cdo.internal.ui.editors.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.junit.Assert.assertThat;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.transaction.CDOTransactionFinishedEvent;
+import org.eclipse.emf.cdo.view.CDOView;
+import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramEditDomain;
+import org.eclipse.net4j.util.event.IEvent;
+import org.eclipse.net4j.util.event.IListener;
+import org.eclipse.papyrus.cdo.internal.ui.editors.DawnEditorAdapter;
+import org.eclipse.papyrus.cdo.internal.ui.editors.PapyrusGMFEditorSupport;
+import org.eclipse.papyrus.cdo.ui.tests.AbstractPapyrusCDOUITest;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.IPropertyListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchPartSite;
+import org.eclipse.uml2.uml.Class;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * This is the DawnEditorAdapterTest type. Enjoy.
+ */
+public class DawnEditorAdapterTest extends AbstractPapyrusCDOUITest {
+
+ private IDawnEditor fixture;
+
+ @Test
+ public void testGetDawnEditor() {
+ assertThat(fixture, notNullValue());
+ }
+
+ @Test
+ public void testGetView() {
+ CDOTransaction transaction = getTransaction(getModelSet());
+ assertThat(fixture.getView(), sameInstance((CDOView)transaction));
+ }
+
+ @Test
+ public void testGetContributorID() {
+ assertThat(fixture.getContributorID(), is("org.eclipse.papyrus.uml.diagram.clazz.part.UMLDiagramEditorID"));
+ }
+
+ @Test
+ public void testSetDirty() {
+ getEditor().doSave(new NullProgressMonitor());
+ assertThat(getEditor().isDirty(), is(false));
+
+ TestPropertyListener test = new TestPropertyListener();
+ getDiagramEditor().addPropertyListener(test);
+
+ fixture.setDirty();
+
+ assertThat(test.getAndClearPropertyID(), is(IEditorPart.PROP_DIRTY));
+ }
+
+ @Test
+ public void testGetAdapter() {
+ Object expected = getDiagramEditor().getAdapter(IDiagramEditDomain.class);
+ assertThat(expected, notNullValue());
+
+ Object adapter = fixture.getAdapter(IDiagramEditDomain.class);
+ assertThat(adapter, is(expected));
+ }
+
+ @Test
+ public void testIsDirty() {
+ final Class foo = expectElement("Foo", Class.class);
+ executeEdit(new Runnable() {
+
+ public void run() {
+ foo.setName("Foo1");
+ }
+ });
+
+ assertThat(fixture.isDirty(), is(true));
+
+ getEditor().doSave(new NullProgressMonitor());
+
+ assertThat(fixture.isDirty(), is(false));
+ }
+
+ @Test
+ public void testGetDawnEditorSupport() {
+ assertThat(fixture.getDawnEditorSupport(), is(PapyrusGMFEditorSupport.class));
+ }
+
+ @Test
+ public void testGetEditorInput() {
+ IEditorInput input = fixture.getEditorInput();
+ assertThat(input, notNullValue());
+ assertThat(input, is(getDiagramEditor().getEditorInput()));
+ }
+
+ @Test
+ public void testGetEditorSite() {
+ IEditorSite site = fixture.getEditorSite();
+ assertThat(site, notNullValue());
+ assertThat(site, is(getDiagramEditor().getEditorSite()));
+ }
+
+ @Test
+ public void testAddRemovePropertyListener() {
+ TestPropertyListener test = new TestPropertyListener();
+ fixture.addPropertyListener(test);
+
+ getEditor().doSave(new NullProgressMonitor());
+ fixture.setDirty();
+
+ fixture.removePropertyListener(test);
+
+ assertThat(test.getAndClearPropertyID(), is(IEditorPart.PROP_DIRTY));
+
+ getEditor().doSave(new NullProgressMonitor());
+ fixture.setDirty();
+
+ assertThat(test.getAndClearPropertyID(), is(-1));
+ }
+
+ @Test
+ public void testGetSite() {
+ IWorkbenchPartSite site = fixture.getSite();
+ assertThat(site, notNullValue());
+ assertThat(site, is(getDiagramEditor().getSite()));
+ }
+
+ @Test
+ public void testGetTitle() {
+ String title = fixture.getTitle();
+ assertThat(title, notNullValue());
+ assertThat(title, is(getDiagramEditor().getTitle()));
+ }
+
+ @Test
+ public void testGetTitleImage() {
+ Image image = fixture.getTitleImage();
+ assertThat(image, notNullValue());
+ assertThat(image, is(getDiagramEditor().getTitleImage()));
+ }
+
+ @Test
+ public void testGetTitleToolTip() {
+ String title = fixture.getTitleToolTip();
+ assertThat(title, notNullValue());
+ assertThat(title, is(getDiagramEditor().getTitleToolTip()));
+ }
+
+ @Test
+ public void testSetFocus() {
+ getRepositoryExplorer().setFocus();
+ flushDisplayEvents();
+
+ assertThat(getWorkbenchPage().getActivePart(), not((IWorkbenchPart)getEditor()));
+
+ fixture.setFocus();
+ flushDisplayEvents();
+
+ assertThat(getWorkbenchPage().getActivePart(), is((IWorkbenchPart)getEditor()));
+ }
+
+ @Test
+ public void testDoSave() {
+ final Class foo = expectElement("Foo", Class.class);
+ executeEdit(new Runnable() {
+
+ public void run() {
+ foo.setName("Foo1");
+ }
+ });
+
+ class Test implements IListener {
+
+ private volatile boolean committed;
+
+ public void notifyEvent(IEvent event) {
+ if(event instanceof CDOTransactionFinishedEvent) {
+ committed = true;
+ }
+ }
+
+ boolean getAndClearCommitted() {
+ boolean result = committed;
+ committed = false;
+ return result;
+ }
+ }
+
+ Test test = new Test();
+ getTransaction(getModelSet()).addListener(test);
+
+ fixture.doSave(new NullProgressMonitor());
+ sleep(3); // give the transaction some time to notify
+
+ assertThat(test.getAndClearCommitted(), is(true));
+ }
+
+ //
+ // Test framework
+ //
+
+ @Before
+ public void prepareEditor() {
+ openEditor();
+
+ fixture = DawnEditorAdapter.getDawnEditor(getDiagramEditor());
+ }
+
+ private static class TestPropertyListener implements IPropertyListener {
+
+ private int propertyID = -1;
+
+ public void propertyChanged(Object source, int propId) {
+ propertyID = propId;
+ }
+
+ int getAndClearPropertyID() {
+ int result = propertyID;
+ propertyID = -1;
+ return result;
+ }
+ }
+}
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/markers/tests/ModelValidationMarkersTest.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/markers/tests/ModelValidationMarkersTest.java
new file mode 100644
index 00000000000..514b651599d
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/internal/ui/markers/tests/ModelValidationMarkersTest.java
@@ -0,0 +1,217 @@
+/*****************************************************************************
+ * Copyright (c) 2013 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.cdo.internal.ui.markers.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
+
+import java.lang.ref.Reference;
+import java.lang.ref.ReferenceQueue;
+import java.lang.ref.WeakReference;
+import java.lang.reflect.Field;
+import java.util.List;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.IUndoableOperation;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.papyrus.cdo.ui.tests.AbstractPapyrusCDOUITest;
+import org.eclipse.papyrus.cdo.validation.problems.EProblem;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.utils.ServiceUtils;
+import org.eclipse.papyrus.infra.services.markerlistener.IPapyrusMarker;
+import org.eclipse.papyrus.infra.services.markerlistener.MarkersMonitorService;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateDelMarkersFromModelCommand;
+import org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand;
+import org.eclipse.ui.PartInitException;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+/**
+ * This is the ModelValidationMarkersTest type. Enjoy.
+ */
+public class ModelValidationMarkersTest
+ extends AbstractPapyrusCDOUITest {
+
+ public ModelValidationMarkersTest() {
+ super();
+ }
+
+ @Test
+ public void testCreateMarkers() {
+ openEditor();
+
+ validateModel();
+
+ flushDisplayEvents();
+
+ // get some marker
+ IPapyrusMarker marker = null;
+ try {
+ marker = Iterables.getFirst(
+ getMarkersMonitorService().getMarkers(
+ getUMLModel().eResource(), null, true), null);
+ assertThat("Did not find a marker.", marker, notNullValue());
+ } catch (CoreException e) {
+ e.printStackTrace();
+ fail("Could not get problem markers.");
+ }
+ }
+
+ @Test
+ public void testDeleteMarkers() {
+ openEditor();
+
+ validateModel();
+
+ flushDisplayEvents();
+
+ // get the markers
+ List<IPapyrusMarker> markers = null;
+ try {
+ markers = Lists.newArrayList(getMarkersMonitorService().getMarkers(
+ getUMLModel().eResource(), null, true));
+ assertThat("Did not find any markers.", markers.isEmpty(),
+ is(false));
+ } catch (CoreException e) {
+ e.printStackTrace();
+ fail("Could not get problem markers.");
+ }
+
+ for (IPapyrusMarker next : markers) {
+ try {
+ next.delete();
+ } catch (CoreException e) {
+ e.printStackTrace();
+ fail("Could not delete problem marker.");
+ }
+ }
+
+ try {
+ assertThat(
+ "Found markers.",
+ getMarkersMonitorService().getMarkers(
+ getUMLModel().eResource(), null, true).isEmpty(), is(true));
+ } catch (CoreException e) {
+ e.printStackTrace();
+ fail("Could not get problem markers.");
+ }
+ }
+
+ @Test
+ public void testMemoryLeaksInValidation()
+ throws InterruptedException {
+
+ openEditor();
+
+ validateModel();
+
+ flushDisplayEvents();
+
+ // get some marker
+ IPapyrusMarker marker = null;
+ try {
+ marker = Iterables.getFirst(
+ getMarkersMonitorService().getMarkers(
+ getUMLModel().eResource(), null, true), null);
+ assertThat("Did not find a marker.", marker, notNullValue());
+ } catch (CoreException e) {
+ e.printStackTrace();
+ fail("Could not get problem markers.");
+ }
+
+ ReferenceQueue<Object> queue = new ReferenceQueue<Object>();
+ List<Reference<Object>> references = Lists.newArrayList();
+ references.add(new WeakReference<Object>(marker, queue));
+ references.add(new WeakReference<Object>(getEProblem(marker), queue));
+
+ marker = null;
+
+ // closing the editor should clean up all services, markers, etc.
+ closeEditor();
+
+ // try to force GC
+ for (int i = 0; i < 10; i++) {
+ System.gc();
+ }
+
+ // assert that the marker and its underlying EProblem are unreachable
+ for (int i = 0; i < 2; i++) {
+ Reference<?> ref = queue.remove(1000);
+ assertThat(references.remove(ref), is(true));
+ }
+ }
+
+ //
+ // Test framework
+ //
+
+ @Before
+ public void ensureValidationView()
+ throws PartInitException {
+ getWorkbenchPage().showView(
+ "org.eclipse.papyrus.views.validation.ModelValidationView");
+ }
+
+ void execute(IUndoableOperation operation) {
+ try {
+ getWorkbenchPage().getWorkbenchWindow().getWorkbench()
+ .getOperationSupport().getOperationHistory()
+ .execute(operation, new NullProgressMonitor(), null);
+ } catch (ExecutionException e) {
+ e.printStackTrace();
+ fail("Failed to execute operation: " + operation);
+ }
+ }
+
+ void validateModel() {
+ execute(new ValidateModelCommand(getUMLModel()));
+ }
+
+ void deleteMarkers() {
+ execute(new ValidateDelMarkersFromModelCommand(getUMLModel()));
+ }
+
+ MarkersMonitorService getMarkersMonitorService() {
+ MarkersMonitorService result = null;
+
+ try {
+ result = ServiceUtils.getInstance().getService(
+ MarkersMonitorService.class, getEditor().getServicesRegistry());
+ } catch (ServiceException e) {
+ e.printStackTrace();
+ fail("Failed to get MarkersMonitorService.");
+ }
+
+ return result;
+ }
+
+ EProblem getEProblem(IPapyrusMarker marker) {
+ EProblem result = null;
+
+ try {
+ Field eProblemField = marker.getClass().getDeclaredField("problem");
+ eProblemField.setAccessible(true);
+ result = (EProblem) eProblemField.get(marker);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Failed to get EProblem wrapped by IPapyrusMarker.");
+ }
+
+ return result;
+ }
+}
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/ui/tests/AbstractPapyrusCDOUITest.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/ui/tests/AbstractPapyrusCDOUITest.java
new file mode 100644
index 00000000000..59f1bed5556
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/ui/tests/AbstractPapyrusCDOUITest.java
@@ -0,0 +1,357 @@
+/*****************************************************************************
+ * 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.ui.tests;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditorSupport;
+import org.eclipse.emf.cdo.dawn.gmf.util.DawnDiagramUpdater;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.cdo.core.tests.AbstractPapyrusCDOTest;
+import org.eclipse.papyrus.cdo.internal.ui.editors.PapyrusCDOEditorManager;
+import org.eclipse.papyrus.cdo.internal.ui.views.ModelRepositoriesView;
+import org.eclipse.papyrus.infra.core.editor.IMultiDiagramEditor;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorPart;
+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.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.junit.After;
+import org.junit.Before;
+
+import com.google.common.base.Splitter;
+import com.google.common.collect.Lists;
+
+/**
+ * This is the AbstractPapyrusCDOUITest type. Enjoy.
+ */
+public abstract class AbstractPapyrusCDOUITest
+ extends AbstractPapyrusCDOTest {
+
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.cdo.ui.tests";
+
+ protected static final String TEST_MODEL_NAME = "model.di";
+
+ protected static final String TEST_UML_NAME = "model.uml";
+
+ protected static final String TEST_NOTATION_NAME = "model.notation";
+
+ private IWorkbenchPage page;
+
+ private List<IEditorPart> openedEditors = Lists.newArrayList();
+
+ private IMultiDiagramEditor lastEditor;
+
+ private DiagramDocumentEditor lastDiagramEditor;
+
+ public AbstractPapyrusCDOUITest() {
+ 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
+ IViewPart reposView = page.showView(ModelRepositoriesView.ID);
+ page.activate(reposView);
+
+ page.setEditorAreaVisible(true);
+
+ flushDisplayEvents();
+ }
+
+ @Before
+ public void importTestModel()
+ throws Exception {
+
+ CDOTransaction transaction = createTransaction();
+ ResourceSet rset = transaction.getResourceSet();
+
+ importResource(transaction, TEST_MODEL_NAME, TEST_MODEL_NAME);
+ importResource(transaction, TEST_UML_NAME, TEST_UML_NAME);
+ importResource(transaction, TEST_NOTATION_NAME, TEST_NOTATION_NAME);
+
+ getPapyrusRepository().commit(rset);
+ getPapyrusRepository().close(rset);
+ }
+
+ @After
+ public void closeEditors() {
+ flushDisplayEvents();
+
+ for (IEditorPart next : openedEditors) {
+ try {
+ page.closeEditor(next, false);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ flushDisplayEvents();
+ }
+
+ openedEditors.clear();
+
+ lastEditor = null;
+ lastDiagramEditor = null;
+
+ flushDisplayEvents();
+ }
+
+ 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 IViewPart getRepositoryExplorer() {
+ return page.findView(ModelRepositoriesView.ID);
+ }
+
+ protected IEditorPart openEditor() {
+ URI uri = getTestResourceURI(TEST_MODEL_NAME);
+
+ try {
+ IEditorPart result = PapyrusCDOEditorManager.INSTANCE.openEditor(
+ getWorkbenchPage(), uri, TEST_MODEL_NAME);
+
+ openedEditors.add(result);
+
+ assertThat(result, is(IMultiDiagramEditor.class));
+
+ lastEditor = (IMultiDiagramEditor) result;
+ if (lastEditor.getActiveEditor() instanceof DiagramDocumentEditor) {
+ lastDiagramEditor = (DiagramDocumentEditor) lastEditor
+ .getActiveEditor();
+ }
+
+ flushDisplayEvents();
+
+ return result;
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Failed to open editor on test model.");
+ return null; // make the compiler happy
+ }
+ }
+
+ protected void closeEditor() {
+ closeEditor(lastEditor);
+
+ lastDiagramEditor = null;
+ lastEditor = null;
+ }
+
+ protected void closeEditor(IEditorPart editor) {
+ page.closeEditor(editor, false);
+ openedEditors.remove(editor);
+
+ flushDisplayEvents();
+ }
+
+ 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 IDawnEditor getDawnEditor() {
+ return (IDawnEditor) lastEditor.getAdapter(IDawnEditor.class);
+ }
+
+ protected IDawnEditorSupport getDawnEditorSupport() {
+ return getDawnEditor().getDawnEditorSupport();
+ }
+
+ protected void executeEdit(final Runnable edit) {
+ TransactionalEditingDomain domain = getModelSet()
+ .getTransactionalEditingDomain();
+
+ domain.getCommandStack().execute(new RecordingCommand(domain, "Edit") {
+
+ @Override
+ protected void doExecute() {
+ edit.run();
+ }
+ });
+ }
+
+ protected ModelSet getModelSet() {
+ ModelSet result = null;
+
+ try {
+ result = lastEditor.getServicesRegistry()
+ .getService(ModelSet.class);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Failed to get ModelSet from current editor.");
+ }
+
+ return result;
+ }
+
+ protected Package getUMLModel() {
+ Resource resource = getModelSet().getResource(
+ getTestResourceURI(TEST_UML_NAME), true);
+ assertThat("UML model not found.", resource, notNullValue());
+ return (Package) EcoreUtil.getObjectByType(resource.getContents(),
+ UMLPackage.Literals.PACKAGE);
+ }
+
+ protected <N extends NamedElement> N findElement(String relativeName,
+ Class<N> type) {
+
+ N result = null;
+ Namespace namespace = getUMLModel();
+
+ for (Iterator<String> iter = Splitter.on(NamedElement.SEPARATOR)
+ .split(relativeName).iterator(); iter.hasNext();) {
+
+ NamedElement next = namespace.getMember(iter.next());
+ if (next instanceof Namespace) {
+ namespace = (Namespace) next;
+ }
+
+ if (!iter.hasNext()) {
+ if (type.isInstance(next)) {
+ result = type.cast(next);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ protected <N extends NamedElement> N expectElement(String relativeName,
+ Class<N> type) {
+
+ N result = findElement(relativeName, type);
+ assertThat("UML element not found.", result, notNullValue());
+ return result;
+ }
+
+ protected IMultiDiagramEditor getEditor() {
+ return lastEditor;
+ }
+
+ protected DiagramDocumentEditor getDiagramEditor() {
+ return lastDiagramEditor;
+ }
+
+ protected DiagramEditPart getDiagramEditPart() {
+ return getDiagramEditor().getDiagramEditPart();
+ }
+
+ protected Diagram getDiagram() {
+ return getDiagramEditPart().getDiagramView();
+ }
+
+ protected View findView(EObject element) {
+ return DawnDiagramUpdater.findViewForModel(element, getDiagramEditor());
+ }
+
+ protected View expectView(EObject element) {
+ View result = findView(element);
+ assertThat("Required view not found.", result, notNullValue());
+ return result;
+ }
+
+ protected EditPart findEditPart(EObject element) {
+ View view = findView(element);
+ return (view == null)
+ ? null
+ : DawnDiagramUpdater.findEditPart(view, getDiagramEditor());
+ }
+
+ protected EditPart expectEditPart(EObject element) {
+ EditPart result = findEditPart(element);
+ assertThat("Required edit-part not found.", result, notNullValue());
+ return result;
+ }
+}
diff --git a/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/ui/tests/AllTests.java b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/ui/tests/AllTests.java
new file mode 100644
index 00000000000..d5d2a15b435
--- /dev/null
+++ b/tests/junit/extraplugins/cdo/org.eclipse.papyrus.cdo.ui.tests/src/org/eclipse/papyrus/cdo/ui/tests/AllTests.java
@@ -0,0 +1,33 @@
+/*****************************************************************************
+ * 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.ui.tests;
+
+import org.eclipse.papyrus.cdo.internal.ui.editors.tests.BasicEditorTest;
+import org.eclipse.papyrus.cdo.internal.ui.editors.tests.DawnEditorAdapterTest;
+import org.eclipse.papyrus.cdo.internal.ui.markers.tests.ModelValidationMarkersTest;
+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({BasicEditorTest.class, DawnEditorAdapterTest.class,
+ ModelValidationMarkersTest.class})
+public class AllTests {
+
+ public AllTests() {
+ super();
+ }
+
+}

Back to the top