Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.dawn.tests')
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/.settings/org.eclipse.core.resources.prefs6
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/.settings/org.eclipse.jdt.ui.prefs240
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/CDO AllTests (Dawn Core).launch30
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/about.properties62
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/copyright.txt14
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/plugin.properties22
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnEMFTest.java50
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnGEFTest.java50
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnTest.java182
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnUITest.java266
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawn.java104
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUI.java100
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBot.java168
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBotEMF.java74
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBotGMF.java98
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/DawnTestPlatform.java124
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/TCPConfigStarter.java88
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_321024_Test.java98
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_333187_Test.java1390
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_333291_Test.java284
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_345858_Test.java90
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bundle/OM.java88
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnCodeGenGMFFragmentTest.java334
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnWrapperResourceTest.java96
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/GMFTest.java618
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/TestFrameworkTest.java124
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnCodeGenerationTest.java410
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnPreferencesTest.java100
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnProjectExplorerTest.java96
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnBasicEMFUITest.java202
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnEMFCreationWizardTest.java448
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnEMFHandleEditorTest.java254
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/EMFEditorRollbackTest.java148
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/EMFLockingTest.java226
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/ConflictTest.java400
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnBasicGMFUITest.java182
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardSWTBotTest.java698
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java662
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/GMFLockingTest.java256
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/MultipleResourcesDeletionTest.java622
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/MultipleResourcesTest.java996
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/RollbackTest.java170
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/SimpleDiagramTest.java722
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnAcoreTestUtil.java620
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnCodeGenerationTestUtil.java48
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnEMFEditorBot.java98
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnEcoreTestUtil.java542
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnSWTBotEMFEditor.java520
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnSWTBotUtil.java810
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/testdata/default.classdiagram32
-rw-r--r--plugins/org.eclipse.emf.cdo.dawn.tests/testdata/default.classdiagram_diagram168
51 files changed, 7115 insertions, 7115 deletions
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.cdo.dawn.tests/.settings/org.eclipse.core.resources.prefs
index 1518310b3d..1ef60ecd83 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/.settings/org.eclipse.core.resources.prefs
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/.settings/org.eclipse.core.resources.prefs
@@ -1,3 +1,3 @@
-#Mon Jul 04 13:02:23 CEST 2011
-eclipse.preferences.version=1
-encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
+#Mon Jul 04 13:02:23 CEST 2011
+eclipse.preferences.version=1
+encoding//model/org.eclipse.emf.cdo.defs.ecorediag=UTF-8
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.cdo.dawn.tests/.settings/org.eclipse.jdt.ui.prefs
index 607b85fc16..e770ac8246 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/.settings/org.eclipse.jdt.ui.prefs
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -1,120 +1,120 @@
-#Fri Aug 20 17:54:44 CEST 2010
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=true
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_to_enhanced_for_loop=false
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=false
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=false
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=false
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=true
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_parentheses_in_expressions=true
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=true
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup_profile=_EMFT
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Unmanaged profile 'EMFT' (Dawn)
-formatter_settings_version=11
-org.eclipse.jdt.ui.exception.name=ex
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java;
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><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">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Martin Fluegge - initial API and implementation\r\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">/**\r\n * @author Martin Fluegge\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><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\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><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}\r\n${package_declaration}\r\n\r\n${typecomment}\r\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">\r\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">\r\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">\r\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">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" 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}</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=false
-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=true
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=true
-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=true
-sp_cleanup.remove_unused_imports=true
-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=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=true
-sp_cleanup.use_this_for_non_static_field_access=true
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=true
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+#Fri Aug 20 17:54:44 CEST 2010
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=true
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=false
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup_profile=_EMFT
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Unmanaged profile 'EMFT' (Dawn)
+formatter_settings_version=11
+org.eclipse.jdt.ui.exception.name=ex
+org.eclipse.jdt.ui.gettersetter.use.is=true
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=org.eclipse.emf.cdo;org.eclipse.emf.internal.cdo;org.eclipse.net4j;org.eclipse.internal.net4j;org.eclipse.emf;org.eclipse;com;org;javax;java;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=false
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.overrideannotation=true
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="false" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment"/><template autoinsert\="false" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment"/><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment"/><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">/*\r\n * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n * \r\n * Contributors\:\r\n * Martin Fluegge - initial API and implementation\r\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">/**\r\n * @author Martin Fluegge\r\n */</template><template autoinsert\="false" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment"/><template autoinsert\="false" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment"/><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\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment"/><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}\r\n${package_declaration}\r\n\r\n${typecomment}\r\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">\r\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">\r\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">\r\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">\r\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">${exception_var}.printStackTrace();</template><template autoinsert\="false" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">${body_statement}</template><template autoinsert\="false" 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}</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=false
+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=true
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+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=true
+sp_cleanup.remove_unused_imports=true
+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=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=true
+sp_cleanup.use_this_for_non_static_field_access=true
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=true
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/CDO AllTests (Dawn Core).launch b/plugins/org.eclipse.emf.cdo.dawn.tests/CDO AllTests (Dawn Core).launch
index a82c2489f2..4adfcd682e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/CDO AllTests (Dawn Core).launch
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/CDO AllTests (Dawn Core).launch
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawn.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.cdo.dawn.tests.AllTestsDawn"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.cdo.dawn.tests"/>
-</launchConfiguration>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawn.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.cdo.dawn.tests.AllTestsDawn"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.cdo.dawn.tests"/>
+</launchConfiguration>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/about.properties b/plugins/org.eclipse.emf.cdo.dawn.tests/about.properties
index c17ff01ac8..2e0065c994 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/about.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/about.properties
@@ -1,31 +1,31 @@
-# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Martin Fluegge - initial API and implementation
-
-# NLS_MESSAGEFORMAT_VAR
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-featureName = CDO Dawn Tests
-featureText = CDO Dawn Tests\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. All rights reserved.\n\
-\n\
-Visit http://www.eclipse.org/cdo
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
+# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Martin Fluegge - initial API and implementation
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+featureName = CDO Dawn Tests
+featureText = CDO Dawn Tests\n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. All rights reserved.\n\
+\n\
+Visit http://www.eclipse.org/cdo
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/copyright.txt b/plugins/org.eclipse.emf.cdo.dawn.tests/copyright.txt
index 9cbb3ba084..cea141de92 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/copyright.txt
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/copyright.txt
@@ -1,8 +1,8 @@
-Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-
-Contributors:
+Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+
+Contributors:
Martin Fluegge - initial API and implementation \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/plugin.properties b/plugins/org.eclipse.emf.cdo.dawn.tests/plugin.properties
index 2d37554f8a..4db2e9edd6 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/plugin.properties
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/plugin.properties
@@ -1,11 +1,11 @@
-# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Martin Fluegge - initial API and implementation
-
-pluginName = CDO Dawn Tests
-providerName = Eclipse Modeling Project
+# Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Martin Fluegge - initial API and implementation
+
+pluginName = CDO Dawn Tests
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnEMFTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnEMFTest.java
index 61a55ba4b5..c8de33ee07 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnEMFTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnEMFTest.java
@@ -1,25 +1,25 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnEMFEditorBot;
-
-/**
- * @author Martin Fluegge
- */
-public abstract class AbstractDawnEMFTest extends AbstractDawnUITest<DawnEMFEditorBot>
-{
- @Override
- protected void createBot()
- {
- setBot(new DawnEMFEditorBot());
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnEMFEditorBot;
+
+/**
+ * @author Martin Fluegge
+ */
+public abstract class AbstractDawnEMFTest extends AbstractDawnUITest<DawnEMFEditorBot>
+{
+ @Override
+ protected void createBot()
+ {
+ setBot(new DawnEMFEditorBot());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnGEFTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnGEFTest.java
index 5c91e6b751..592623d509 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnGEFTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnGEFTest.java
@@ -1,25 +1,25 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
-
-/**
- * @author Martin Fluegge
- */
-public abstract class AbstractDawnGEFTest extends AbstractDawnUITest<SWTGefBot>
-{
- @Override
- protected void createBot()
- {
- setBot(new SWTGefBot());
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
+
+/**
+ * @author Martin Fluegge
+ */
+public abstract class AbstractDawnGEFTest extends AbstractDawnUITest<SWTGefBot>
+{
+ @Override
+ protected void createBot()
+ {
+ setBot(new SWTGefBot());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnTest.java
index 12f5c96fae..0231ce8137 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnTest.java
@@ -1,91 +1,91 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.emf.cdo.dawn.resources.impl.DawnResourceFactoryImpl;
-import org.eclipse.emf.cdo.dawn.tests.common.GMFTest;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.AbstractCDOTest;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.util.CommitException;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-
-import java.net.URL;
-
-/**
- * @author Martin Fluegge
- */
-public abstract class AbstractDawnTest extends AbstractCDOTest
-{
- @Override
- public void setUp() throws Exception
- {
- super.setUp();
- }
-
- protected ResourceSet createResourceSet()
- {
- ResourceSet dawnResourceSet = new ResourceSetImpl();
- dawnResourceSet.getResourceFactoryRegistry().getProtocolToFactoryMap().put("dawn", new DawnResourceFactoryImpl());
- return dawnResourceSet;
- }
-
- protected void createCDOResourcesFromXMI(String resourceName, EPackage ePackage, CDOSession session)
- throws CommitException
- {
- NotationPackage.eINSTANCE.getClass();
- String packageName = ePackage.getName();
- ResourceSet resourceSet = new ResourceSetImpl();
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
- .put(packageName + "_diagram", new XMIResourceFactoryImpl());
-
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(packageName, new XMIResourceFactoryImpl());
-
- URL resourceURI = GMFTest.class.getResource("");
- String resourcePath = resourceURI.toString().substring(0, resourceURI.toString().lastIndexOf("/bin"));
-
- Resource emfResource = resourceSet.getResource(
- URI.createURI(resourcePath + "/testdata/" + resourceName + "." + packageName), true);
- Resource gmfResource = resourceSet.getResource(
- URI.createURI(resourcePath + "/testdata/" + resourceName + "." + packageName + "_diagram"), true);
-
- EcoreUtil.resolveAll(emfResource);
- EcoreUtil.resolveAll(gmfResource);
-
- Diagram notationalRoot = (Diagram)gmfResource.getContents().get(0);
-
- ResourceSet dawnResourceSet = new ResourceSetImpl();
- dawnResourceSet.getResourceFactoryRegistry().getProtocolToFactoryMap().put("dawn", new DawnResourceFactoryImpl());
-
- CDOTransaction transaction = session.openTransaction(dawnResourceSet);
-
- CDOResource semanticResource = transaction.createResource("/" + resourceName + "." + packageName);
-
- URI createURI = URI.createURI("dawn://repo1/" + resourceName + "." + packageName + "_diagram");
- Resource notationalResource = dawnResourceSet.createResource(createURI);
-
- notationalResource.getContents().add(notationalRoot);
- semanticResource.getContents().add(emfResource.getContents().get(0));
- transaction.commit();
- transaction.close();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.emf.cdo.dawn.resources.impl.DawnResourceFactoryImpl;
+import org.eclipse.emf.cdo.dawn.tests.common.GMFTest;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.AbstractCDOTest;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CommitException;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+
+import java.net.URL;
+
+/**
+ * @author Martin Fluegge
+ */
+public abstract class AbstractDawnTest extends AbstractCDOTest
+{
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ }
+
+ protected ResourceSet createResourceSet()
+ {
+ ResourceSet dawnResourceSet = new ResourceSetImpl();
+ dawnResourceSet.getResourceFactoryRegistry().getProtocolToFactoryMap().put("dawn", new DawnResourceFactoryImpl());
+ return dawnResourceSet;
+ }
+
+ protected void createCDOResourcesFromXMI(String resourceName, EPackage ePackage, CDOSession session)
+ throws CommitException
+ {
+ NotationPackage.eINSTANCE.getClass();
+ String packageName = ePackage.getName();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put(packageName + "_diagram", new XMIResourceFactoryImpl());
+
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(packageName, new XMIResourceFactoryImpl());
+
+ URL resourceURI = GMFTest.class.getResource("");
+ String resourcePath = resourceURI.toString().substring(0, resourceURI.toString().lastIndexOf("/bin"));
+
+ Resource emfResource = resourceSet.getResource(
+ URI.createURI(resourcePath + "/testdata/" + resourceName + "." + packageName), true);
+ Resource gmfResource = resourceSet.getResource(
+ URI.createURI(resourcePath + "/testdata/" + resourceName + "." + packageName + "_diagram"), true);
+
+ EcoreUtil.resolveAll(emfResource);
+ EcoreUtil.resolveAll(gmfResource);
+
+ Diagram notationalRoot = (Diagram)gmfResource.getContents().get(0);
+
+ ResourceSet dawnResourceSet = new ResourceSetImpl();
+ dawnResourceSet.getResourceFactoryRegistry().getProtocolToFactoryMap().put("dawn", new DawnResourceFactoryImpl());
+
+ CDOTransaction transaction = session.openTransaction(dawnResourceSet);
+
+ CDOResource semanticResource = transaction.createResource("/" + resourceName + "." + packageName);
+
+ URI createURI = URI.createURI("dawn://repo1/" + resourceName + "." + packageName + "_diagram");
+ Resource notationalResource = dawnResourceSet.createResource(createURI);
+
+ notationalResource.getContents().add(notationalRoot);
+ semanticResource.getContents().add(emfResource.getContents().get(0));
+ transaction.commit();
+ transaction.close();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnUITest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnUITest.java
index b92d8b96f2..519b9d3cf8 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnUITest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AbstractDawnUITest.java
@@ -1,133 +1,133 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
-import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
-import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.ui.AbstractCDOUITest;
-import org.eclipse.emf.cdo.view.CDOView;
-
-import org.eclipse.gmf.runtime.notation.Bounds;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-import org.junit.Before;
-
-/**
- * @author Martin Fluegge
- */
-public abstract class AbstractDawnUITest<T extends SWTWorkbenchBot> extends AbstractCDOUITest<T>
-{
- @Override
- @Before
- public void setUp() throws Exception
- {
- super.setUp();
- SWTBotPreferences.SCREENSHOTS_DIR = DawnTestPlatform.instance.getTestFolder();
- resetWorkbench();
- DawnSWTBotUtil.initTest(getBot());
-
- // TODO Remove this line if bug 323788 is solved.
- getBot().viewByTitle("CDO Sessions").close();
- }
-
- /**
- * This method opens a DawnDiagramEditor specified by the given URI. It automatically finds the right editor by
- * matching the "file extension".
- */
- protected void openEditor(final String resourcePath)
- {
- UIThreadRunnable.syncExec(new VoidResult()
- {
- public void run()
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource resource = view.getResource(resourcePath);
-
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window != null)
- {
- IWorkbenchPage page = window.getActivePage();
- String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
-
- try
- {
- DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
-
- page.openEditor(editorInput, editorID);
- }
- catch (PartInitException e)
- {
- e.printStackTrace();
- }
- }
- }
- });
- }
-
- protected boolean resourceExists(String resourcePath)
- {
- try
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource resource = view.getResource(resourcePath);
-
- return resource != null ? true : false;
- }
- catch (Exception ex)
- {
- return false;
- }
- }
-
- protected void createNode(String type, int xPosition, int yPosition, SWTGefBot bot, SWTBotGefEditor editor)
- {
- editor.activateTool(type);
- editor.click(xPosition, yPosition);
- }
-
- protected void createNodeWithLabel(String type, int xPosition, int yPosition, String labelText, SWTGefBot bot,
- SWTBotGefEditor editor)
- {
- createNode(type, xPosition, yPosition, bot, editor);
- typeTextToFocusedWidget(labelText, bot, true);
- }
-
- protected void createEdge(String type, int fromXPosition, int fromYPosition, int toXPosition, int toYPosition,
- SWTBotGefEditor editor)
- {
- editor.activateTool(type);
- editor.drag(fromXPosition, fromYPosition, toXPosition, toYPosition);
- }
-
- protected void createEdge(String type, Node nodeFrom, Node nodeTo, SWTBotGefEditor editor)
- {
- Bounds boundsA = (Bounds)nodeFrom.getLayoutConstraint();
- Bounds boundsB = (Bounds)nodeTo.getLayoutConstraint();
- createEdge(type, boundsA.getX(), boundsA.getY(), boundsB.getX(), boundsB.getY(), editor);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
+import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
+import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.ui.AbstractCDOUITest;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.results.VoidResult;
+import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+
+import org.junit.Before;
+
+/**
+ * @author Martin Fluegge
+ */
+public abstract class AbstractDawnUITest<T extends SWTWorkbenchBot> extends AbstractCDOUITest<T>
+{
+ @Override
+ @Before
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ SWTBotPreferences.SCREENSHOTS_DIR = DawnTestPlatform.instance.getTestFolder();
+ resetWorkbench();
+ DawnSWTBotUtil.initTest(getBot());
+
+ // TODO Remove this line if bug 323788 is solved.
+ getBot().viewByTitle("CDO Sessions").close();
+ }
+
+ /**
+ * This method opens a DawnDiagramEditor specified by the given URI. It automatically finds the right editor by
+ * matching the "file extension".
+ */
+ protected void openEditor(final String resourcePath)
+ {
+ UIThreadRunnable.syncExec(new VoidResult()
+ {
+ public void run()
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource resource = view.getResource(resourcePath);
+
+ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ if (window != null)
+ {
+ IWorkbenchPage page = window.getActivePage();
+ String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
+
+ try
+ {
+ DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
+
+ page.openEditor(editorInput, editorID);
+ }
+ catch (PartInitException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+ });
+ }
+
+ protected boolean resourceExists(String resourcePath)
+ {
+ try
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource resource = view.getResource(resourcePath);
+
+ return resource != null ? true : false;
+ }
+ catch (Exception ex)
+ {
+ return false;
+ }
+ }
+
+ protected void createNode(String type, int xPosition, int yPosition, SWTGefBot bot, SWTBotGefEditor editor)
+ {
+ editor.activateTool(type);
+ editor.click(xPosition, yPosition);
+ }
+
+ protected void createNodeWithLabel(String type, int xPosition, int yPosition, String labelText, SWTGefBot bot,
+ SWTBotGefEditor editor)
+ {
+ createNode(type, xPosition, yPosition, bot, editor);
+ typeTextToFocusedWidget(labelText, bot, true);
+ }
+
+ protected void createEdge(String type, int fromXPosition, int fromYPosition, int toXPosition, int toYPosition,
+ SWTBotGefEditor editor)
+ {
+ editor.activateTool(type);
+ editor.drag(fromXPosition, fromYPosition, toXPosition, toYPosition);
+ }
+
+ protected void createEdge(String type, Node nodeFrom, Node nodeTo, SWTBotGefEditor editor)
+ {
+ Bounds boundsA = (Bounds)nodeFrom.getLayoutConstraint();
+ Bounds boundsB = (Bounds)nodeTo.getLayoutConstraint();
+ createEdge(type, boundsA.getX(), boundsA.getY(), boundsB.getX(), boundsB.getY(), editor);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawn.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawn.java
index 9e351fe86f..191b41733f 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawn.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawn.java
@@ -1,52 +1,52 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.emf.cdo.dawn.tests.common.DawnCodeGenGMFFragmentTest;
-import org.eclipse.emf.cdo.dawn.tests.common.DawnWrapperResourceTest;
-import org.eclipse.emf.cdo.dawn.tests.common.GMFTest;
-import org.eclipse.emf.cdo.dawn.tests.common.TestFrameworkTest;
-import org.eclipse.emf.cdo.tests.AllTests;
-import org.eclipse.emf.cdo.tests.config.IScenario;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest;
-
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * This test suite should be executed as plain JUnit test.
- *
- * @author Martin Fluegge
- */
-public class AllTestsDawn extends AllTests
-{
- public static Test suite()
- {
- return new AllTestsDawn().getTestSuite(AllTests.class.getName());
- }
-
- @Override
- protected void initConfigSuites(TestSuite parent)
- {
- addScenario(parent, COMBINED, MEM, JVM, NATIVE);
- }
-
- @Override
- protected void initTestClasses(List<Class<? extends ConfigTest>> testClasses, IScenario scenario)
- {
- testClasses.add(TestFrameworkTest.class);
- testClasses.add(GMFTest.class);
- testClasses.add(DawnWrapperResourceTest.class);
- testClasses.add(DawnCodeGenGMFFragmentTest.class);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.emf.cdo.dawn.tests.common.DawnCodeGenGMFFragmentTest;
+import org.eclipse.emf.cdo.dawn.tests.common.DawnWrapperResourceTest;
+import org.eclipse.emf.cdo.dawn.tests.common.GMFTest;
+import org.eclipse.emf.cdo.dawn.tests.common.TestFrameworkTest;
+import org.eclipse.emf.cdo.tests.AllTests;
+import org.eclipse.emf.cdo.tests.config.IScenario;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest;
+
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * This test suite should be executed as plain JUnit test.
+ *
+ * @author Martin Fluegge
+ */
+public class AllTestsDawn extends AllTests
+{
+ public static Test suite()
+ {
+ return new AllTestsDawn().getTestSuite(AllTests.class.getName());
+ }
+
+ @Override
+ protected void initConfigSuites(TestSuite parent)
+ {
+ addScenario(parent, COMBINED, MEM, JVM, NATIVE);
+ }
+
+ @Override
+ protected void initTestClasses(List<Class<? extends ConfigTest>> testClasses, IScenario scenario)
+ {
+ testClasses.add(TestFrameworkTest.class);
+ testClasses.add(GMFTest.class);
+ testClasses.add(DawnWrapperResourceTest.class);
+ testClasses.add(DawnCodeGenGMFFragmentTest.class);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUI.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUI.java
index 93065ffb5f..dcc4a92a8f 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUI.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUI.java
@@ -1,50 +1,50 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.emf.cdo.dawn.tests.ui.emf.DawnBasicEMFUITest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.DawnBasicGMFUITest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.DawnCreationWizardTest;
-import org.eclipse.emf.cdo.tests.AllTests;
-import org.eclipse.emf.cdo.tests.config.IScenario;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest;
-
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * This test suite should be executed as JUnit Plug-in test.
- *
- * @author Martin Fluegge
- */
-public class AllTestsDawnUI extends AllTests
-{
- public static Test suite()
- {
- return new AllTestsDawnUI().getTestSuite(AllTests.class.getName());
- }
-
- @Override
- protected void initConfigSuites(TestSuite parent)
- {
- addScenario(parent, COMBINED, MEM, TCP, NATIVE);
- }
-
- @Override
- protected void initTestClasses(List<Class<? extends ConfigTest>> testClasses, IScenario scenario)
- {
- testClasses.add(DawnCreationWizardTest.class);
- testClasses.add(DawnBasicGMFUITest.class);
- testClasses.add(DawnBasicEMFUITest.class);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.emf.cdo.dawn.tests.ui.emf.DawnBasicEMFUITest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.DawnBasicGMFUITest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.DawnCreationWizardTest;
+import org.eclipse.emf.cdo.tests.AllTests;
+import org.eclipse.emf.cdo.tests.config.IScenario;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest;
+
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * This test suite should be executed as JUnit Plug-in test.
+ *
+ * @author Martin Fluegge
+ */
+public class AllTestsDawnUI extends AllTests
+{
+ public static Test suite()
+ {
+ return new AllTestsDawnUI().getTestSuite(AllTests.class.getName());
+ }
+
+ @Override
+ protected void initConfigSuites(TestSuite parent)
+ {
+ addScenario(parent, COMBINED, MEM, TCP, NATIVE);
+ }
+
+ @Override
+ protected void initTestClasses(List<Class<? extends ConfigTest>> testClasses, IScenario scenario)
+ {
+ testClasses.add(DawnCreationWizardTest.class);
+ testClasses.add(DawnBasicGMFUITest.class);
+ testClasses.add(DawnBasicEMFUITest.class);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBot.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBot.java
index f86b9248f2..587e237e45 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBot.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBot.java
@@ -1,84 +1,84 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.emf.cdo.dawn.tests.bugzillas.Bugzilla_321024_Test;
-import org.eclipse.emf.cdo.dawn.tests.bugzillas.Bugzilla_333187_Test;
-import org.eclipse.emf.cdo.dawn.tests.bugzillas.Bugzilla_333291_Test;
-import org.eclipse.emf.cdo.dawn.tests.bugzillas.Bugzilla_345858_Test;
-import org.eclipse.emf.cdo.dawn.tests.ui.DawnPreferencesTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.DawnProjectExplorerTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.emf.DawnEMFCreationWizardTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.emf.DawnEMFHandleEditorTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.emf.EMFEditorRollbackTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.emf.EMFLockingTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.DawnCreationWizardSWTBotTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.GMFLockingTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.MultipleResourcesTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.SimpleDiagramTest;
-import org.eclipse.emf.cdo.tests.AllTests;
-import org.eclipse.emf.cdo.tests.config.IScenario;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTestSuite;
-
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author Martin Fluegge
- */
-public class AllTestsDawnUISWTBot extends ConfigTestSuite
-{
- public static Test suite()
- {
- TestSuite testSuite = (TestSuite)new AllTestsDawnUISWTBot().getTestSuite(AllTests.class.getName());
- // testSuite.addTest(new JUnit4TestAdapter(AllTestsDawnUISWTBotGMF.class));
- return testSuite;
- }
-
- @Override
- protected void initConfigSuites(TestSuite parent)
- {
- addScenario(parent, COMBINED, MEM, TCP, NATIVE);
- addScenario(parent, COMBINED, MEM_BRANCHES, TCP, NATIVE);
- }
-
- @Override
- protected void initTestClasses(List<Class<? extends ConfigTest>> testClasses, IScenario scenario)
- {
- // /******************** General **********************/
- // testClasses.add(DawnCodeGenerationTest.class);
- testClasses.add(DawnProjectExplorerTest.class);
- testClasses.add(DawnPreferencesTest.class);
-
- // /******************** GMF **********************/
- testClasses.add(DawnCreationWizardSWTBotTest.class);
- testClasses.add(SimpleDiagramTest.class);
- testClasses.add(MultipleResourcesTest.class);
- testClasses.add(GMFLockingTest.class);
- // testClasses.add(ConflictTest.class);
- // testClasses.add(RollbackTest.class);
-
- // /******************** EMF **********************/
- testClasses.add(DawnEMFCreationWizardTest.class);
- testClasses.add(EMFEditorRollbackTest.class);
- testClasses.add(DawnEMFHandleEditorTest.class);
- testClasses.add(EMFLockingTest.class);
-
- // /******************** Bugzilla **********************/
- testClasses.add(Bugzilla_321024_Test.class);
- testClasses.add(Bugzilla_333291_Test.class);
- testClasses.add(Bugzilla_333187_Test.class);
- testClasses.add(Bugzilla_345858_Test.class);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.emf.cdo.dawn.tests.bugzillas.Bugzilla_321024_Test;
+import org.eclipse.emf.cdo.dawn.tests.bugzillas.Bugzilla_333187_Test;
+import org.eclipse.emf.cdo.dawn.tests.bugzillas.Bugzilla_333291_Test;
+import org.eclipse.emf.cdo.dawn.tests.bugzillas.Bugzilla_345858_Test;
+import org.eclipse.emf.cdo.dawn.tests.ui.DawnPreferencesTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.DawnProjectExplorerTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.emf.DawnEMFCreationWizardTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.emf.DawnEMFHandleEditorTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.emf.EMFEditorRollbackTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.emf.EMFLockingTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.DawnCreationWizardSWTBotTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.GMFLockingTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.MultipleResourcesTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.SimpleDiagramTest;
+import org.eclipse.emf.cdo.tests.AllTests;
+import org.eclipse.emf.cdo.tests.config.IScenario;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTestSuite;
+
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author Martin Fluegge
+ */
+public class AllTestsDawnUISWTBot extends ConfigTestSuite
+{
+ public static Test suite()
+ {
+ TestSuite testSuite = (TestSuite)new AllTestsDawnUISWTBot().getTestSuite(AllTests.class.getName());
+ // testSuite.addTest(new JUnit4TestAdapter(AllTestsDawnUISWTBotGMF.class));
+ return testSuite;
+ }
+
+ @Override
+ protected void initConfigSuites(TestSuite parent)
+ {
+ addScenario(parent, COMBINED, MEM, TCP, NATIVE);
+ addScenario(parent, COMBINED, MEM_BRANCHES, TCP, NATIVE);
+ }
+
+ @Override
+ protected void initTestClasses(List<Class<? extends ConfigTest>> testClasses, IScenario scenario)
+ {
+ // /******************** General **********************/
+ // testClasses.add(DawnCodeGenerationTest.class);
+ testClasses.add(DawnProjectExplorerTest.class);
+ testClasses.add(DawnPreferencesTest.class);
+
+ // /******************** GMF **********************/
+ testClasses.add(DawnCreationWizardSWTBotTest.class);
+ testClasses.add(SimpleDiagramTest.class);
+ testClasses.add(MultipleResourcesTest.class);
+ testClasses.add(GMFLockingTest.class);
+ // testClasses.add(ConflictTest.class);
+ // testClasses.add(RollbackTest.class);
+
+ // /******************** EMF **********************/
+ testClasses.add(DawnEMFCreationWizardTest.class);
+ testClasses.add(EMFEditorRollbackTest.class);
+ testClasses.add(DawnEMFHandleEditorTest.class);
+ testClasses.add(EMFLockingTest.class);
+
+ // /******************** Bugzilla **********************/
+ testClasses.add(Bugzilla_321024_Test.class);
+ testClasses.add(Bugzilla_333291_Test.class);
+ testClasses.add(Bugzilla_333187_Test.class);
+ testClasses.add(Bugzilla_345858_Test.class);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBotEMF.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBotEMF.java
index ece7e56d61..cffabc7e64 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBotEMF.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBotEMF.java
@@ -1,37 +1,37 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.emf.cdo.dawn.tests.ui.emf.DawnEMFCreationWizardTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.emf.DawnEMFHandleEditorTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.emf.EMFEditorRollbackTest;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-
-/**
- * This test suite should be executed as SWTBot test.
- *
- * @author Martin Fluegge
- * @formatter:off
- */
-@Deprecated
-@RunWith(Suite.class)
-@SuiteClasses({
- DawnEMFCreationWizardTest.class,
- EMFEditorRollbackTest.class,
- DawnEMFHandleEditorTest.class
- })
-
-public class AllTestsDawnUISWTBotEMF
-{
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.emf.cdo.dawn.tests.ui.emf.DawnEMFCreationWizardTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.emf.DawnEMFHandleEditorTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.emf.EMFEditorRollbackTest;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * This test suite should be executed as SWTBot test.
+ *
+ * @author Martin Fluegge
+ * @formatter:off
+ */
+@Deprecated
+@RunWith(Suite.class)
+@SuiteClasses({
+ DawnEMFCreationWizardTest.class,
+ EMFEditorRollbackTest.class,
+ DawnEMFHandleEditorTest.class
+ })
+
+public class AllTestsDawnUISWTBotEMF
+{
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBotGMF.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBotGMF.java
index 36bf9da3fb..3a7ba85a70 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBotGMF.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/AllTestsDawnUISWTBotGMF.java
@@ -1,49 +1,49 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.emf.cdo.dawn.tests.bugzillas.Bugzilla_321024_Test;
-import org.eclipse.emf.cdo.dawn.tests.ui.DawnPreferencesTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.DawnProjectExplorerTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.ConflictTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.DawnCreationWizardSWTBotTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.MultipleResourcesTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.RollbackTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.gmf.SimpleDiagramTest;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-import org.junit.runners.Suite.SuiteClasses;
-
-/**
- * This test suite should be executed as SWTBot test.
- *
- * @author Martin Fluegge
- * @formatter:off
- */
-@Deprecated
-@RunWith(Suite.class)
-@SuiteClasses({
- DawnPreferencesTest.class,
- DawnCreationWizardSWTBotTest.class,
- SimpleDiagramTest.class,
- MultipleResourcesTest.class,
- // MultipleResourcesDeletionTest.class, //excluded because of ui freeze
- DawnProjectExplorerTest.class,
- ConflictTest.class,
- RollbackTest.class,
- Bugzilla_321024_Test.class
- })
-
-
-public class AllTestsDawnUISWTBotGMF
-{
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.emf.cdo.dawn.tests.bugzillas.Bugzilla_321024_Test;
+import org.eclipse.emf.cdo.dawn.tests.ui.DawnPreferencesTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.DawnProjectExplorerTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.ConflictTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.DawnCreationWizardSWTBotTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.MultipleResourcesTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.RollbackTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.gmf.SimpleDiagramTest;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * This test suite should be executed as SWTBot test.
+ *
+ * @author Martin Fluegge
+ * @formatter:off
+ */
+@Deprecated
+@RunWith(Suite.class)
+@SuiteClasses({
+ DawnPreferencesTest.class,
+ DawnCreationWizardSWTBotTest.class,
+ SimpleDiagramTest.class,
+ MultipleResourcesTest.class,
+ // MultipleResourcesDeletionTest.class, //excluded because of ui freeze
+ DawnProjectExplorerTest.class,
+ ConflictTest.class,
+ RollbackTest.class,
+ Bugzilla_321024_Test.class
+ })
+
+
+public class AllTestsDawnUISWTBotGMF
+{
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/DawnTestPlatform.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/DawnTestPlatform.java
index 524b8b1512..bc3ba4e5c9 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/DawnTestPlatform.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/DawnTestPlatform.java
@@ -1,62 +1,62 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.net4j.util.om.OMPlatform;
-
-import java.io.File;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Date;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnTestPlatform
-{
- public static DawnTestPlatform instance = new DawnTestPlatform();
-
- private String tempTestFolder = "";
-
- private String resourcesFolderName = "testdata";
-
- public DawnTestPlatform()
- {
- tempTestFolder = OMPlatform.INSTANCE.getProperty("java.io.tmpdir") + "/dawntests/test_" + new Date().getTime();
- }
-
- public String getTestFolder()
- {
- return tempTestFolder;
- }
-
- public File getTestResource(String path) throws URISyntaxException
- {
- File file = new File(getTestResourceURI(path));
- return file;
- }
-
- public java.net.URI getTestResourceURI(String path) throws URISyntaxException
- {
- String testFolder = getBundlePathForClass(AbstractDawnTest.class);
-
- String separator = path.startsWith("/") ? "" : "/";
-
- java.net.URI uri = new java.net.URI(testFolder + "/" + resourcesFolderName + separator + path);
- return uri;
- }
-
- public String getBundlePathForClass(Class<?> clazz) throws URISyntaxException
- {
- URL resourceURI = clazz.getResource("");
- return resourceURI.toString().substring(0, resourceURI.toString().lastIndexOf("/bin"));
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.net4j.util.om.OMPlatform;
+
+import java.io.File;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.Date;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnTestPlatform
+{
+ public static DawnTestPlatform instance = new DawnTestPlatform();
+
+ private String tempTestFolder = "";
+
+ private String resourcesFolderName = "testdata";
+
+ public DawnTestPlatform()
+ {
+ tempTestFolder = OMPlatform.INSTANCE.getProperty("java.io.tmpdir") + "/dawntests/test_" + new Date().getTime();
+ }
+
+ public String getTestFolder()
+ {
+ return tempTestFolder;
+ }
+
+ public File getTestResource(String path) throws URISyntaxException
+ {
+ File file = new File(getTestResourceURI(path));
+ return file;
+ }
+
+ public java.net.URI getTestResourceURI(String path) throws URISyntaxException
+ {
+ String testFolder = getBundlePathForClass(AbstractDawnTest.class);
+
+ String separator = path.startsWith("/") ? "" : "/";
+
+ java.net.URI uri = new java.net.URI(testFolder + "/" + resourcesFolderName + separator + path);
+ return uri;
+ }
+
+ public String getBundlePathForClass(Class<?> clazz) throws URISyntaxException
+ {
+ URL resourceURI = clazz.getResource("");
+ return resourceURI.toString().substring(0, resourceURI.toString().lastIndexOf("/bin"));
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/TCPConfigStarter.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/TCPConfigStarter.java
index e592d63257..980c0446fd 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/TCPConfigStarter.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/TCPConfigStarter.java
@@ -1,44 +1,44 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests;
-
-import org.eclipse.emf.cdo.tests.AllConfigs;
-import org.eclipse.emf.cdo.tests.InitialTest;
-import org.eclipse.emf.cdo.tests.config.IScenario;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest;
-
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author Martin Fluegge
- */
-public class TCPConfigStarter extends AllConfigs
-{
- public static Test suite()
- {
- return new TCPConfigStarter().getTestSuite(AllConfigs.class.getName());
- }
-
- @Override
- protected void initTestClasses(List<Class<? extends ConfigTest>> testClasses, IScenario scenario)
- {
- testClasses.add(InitialTest.class);
- }
-
- @Override
- protected void initConfigSuites(TestSuite parent)
- {
- addScenario(parent, COMBINED, MEM_BRANCHES, TCP, NATIVE);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests;
+
+import org.eclipse.emf.cdo.tests.AllConfigs;
+import org.eclipse.emf.cdo.tests.InitialTest;
+import org.eclipse.emf.cdo.tests.config.IScenario;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest;
+
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author Martin Fluegge
+ */
+public class TCPConfigStarter extends AllConfigs
+{
+ public static Test suite()
+ {
+ return new TCPConfigStarter().getTestSuite(AllConfigs.class.getName());
+ }
+
+ @Override
+ protected void initTestClasses(List<Class<? extends ConfigTest>> testClasses, IScenario scenario)
+ {
+ testClasses.add(InitialTest.class);
+ }
+
+ @Override
+ protected void initConfigSuites(TestSuite parent)
+ {
+ addScenario(parent, COMBINED, MEM_BRANCHES, TCP, NATIVE);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_321024_Test.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_321024_Test.java
index 2d47e24d8f..6d6d1c44ca 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_321024_Test.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_321024_Test.java
@@ -1,49 +1,49 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.bugzillas;
-
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class Bugzilla_321024_Test extends AbstractDawnGEFTest
-{
- @Test
- public void testCreateNewDawnDiagramEmptySemanticResourceName() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
- getBot().button("Next >").click();
- getBot().button("Finish").click();
-
- SWTBotGefEditor editor = getBot().gefEditor("default.acore_diagram");
- assertNotNull(editor);
- editor.close();
- {
- assertEquals(true, resourceExists("/default.acore"));
- assertEquals(true, resourceExists("/default.acore_diagram"));
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.bugzillas;
+
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class Bugzilla_321024_Test extends AbstractDawnGEFTest
+{
+ @Test
+ public void testCreateNewDawnDiagramEmptySemanticResourceName() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+ getBot().button("Next >").click();
+ getBot().button("Finish").click();
+
+ SWTBotGefEditor editor = getBot().gefEditor("default.acore_diagram");
+ assertNotNull(editor);
+ editor.close();
+ {
+ assertEquals(true, resourceExists("/default.acore"));
+ assertEquals(true, resourceExists("/default.acore_diagram"));
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_333187_Test.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_333187_Test.java
index c6078c9399..51b1cdb9d8 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_333187_Test.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_333187_Test.java
@@ -1,695 +1,695 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.bugzillas;
-
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnEcoreTestUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.view.CDOView;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.impl.EDataTypeImpl;
-import org.eclipse.emf.ecore.impl.EEnumImpl;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class Bugzilla_333187_Test extends AbstractDawnGEFTest
-{
- private static final String DOMAIN_FILE_NAME = "Domain file name: ";
-
- @Test
- public void testCreateNewEcoreToolsDiagram() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
- getBot().button("Next >").click();
- sleep(1000);
- getBot().button("Finish").click();
- SWTBotGefEditor editor = getBot().gefEditor("default");
- assertNotNull(editor);
- editor.close();
- {
- assertEquals(true, resourceExists("/default.ecore"));
- assertEquals(true, resourceExists("/default.ecorediag"));
- }
- }
-
- @Test
- public void testCreateNewEcoreDiagramWrongResourceName() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
- getBot().button("Next >").click();
- sleep(6000);
- shell = getBot().shell("New Ecore Diagram");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(DOMAIN_FILE_NAME);
- fileNameLabel.setText("");
-
- fileNameLabel.setFocus();
- fileNameLabel.typeText("x", 500);
- assertEquals(false, getBot().button("Next >").isEnabled());
- getBot().button("Cancel").click();
- }
-
- @Test
- public void testCreateNewEcoreDiagramChangeResourceName() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
- getBot().button("Next >").click();
- sleep(6000);
- shell = getBot().shell("New Ecore Diagram");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(DOMAIN_FILE_NAME);
- fileNameLabel.setText("");
-
- fileNameLabel.setFocus();
- fileNameLabel.typeText("default2.ecore", 50);
-
- assertEquals(true, getBot().button("Finish").isEnabled());
-
- getBot().button("Finish").click();
- SWTBotGefEditor editor = getBot().gefEditor("default2");
- assertNotNull(editor);
- editor.close();
- {
- assertEquals(true, resourceExists("/default2.ecore"));
- assertEquals(true, resourceExists("/default2.ecorediag"));
- }
- }
-
- @Test
- public void testCreateNewEcoreDiagramSetResourceInDialog() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
- getBot().button("Next >").click();
-
- shell = getBot().shell("New Ecore Diagram");
- shell.activate();
-
- getBot().button("Browse...").click();
-
- // activate the selection window
- // shell = getBot().shells()[3];
- // shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel("Resource name:");
- fileNameLabel.setText("test.ecore");
- getBot().button("OK").click();
-
- SWTBotText fileSemanticNameLabel = getBot().textWithLabel(DOMAIN_FILE_NAME);
- assertEquals("test.ecore", fileSemanticNameLabel.getText());
-
- getBot().button("Finish").click();
-
- SWTBotGefEditor editor = getBot().gefEditor("test");
- assertNotNull(editor);
- editor.close();
-
- {
- assertEquals(true, resourceExists("/test.ecore"));
- assertEquals(true, resourceExists("/test.ecorediag"));
- }
- }
-
- @Test
- public void testCreateNewEcoreDiagramSetResourceInDialogAndSelectFolder() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- final URI uri = URI.createURI("cdo:/folder/dummy");
- resourceSet.createResource(uri);
- transaction.commit();
- }
-
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
- getBot().button("Next >").click();
-
- shell = getBot().shell("New Ecore Diagram");
- shell.activate();
-
- getBot().button("Browse...").click();
-
- SWTBotTree tree = getBot().tree(0);
- selectFolder(tree.getAllItems(), "folder", false);
-
- SWTBotText fileNameLabel = getBot().textWithLabel("Resource name:");
- fileNameLabel.setText("test.ecore");
- getBot().button("OK").click();
-
- SWTBotText resourcePathLabel = getBot().text(0);
- assertEquals("cdo://repo1/folder/", resourcePathLabel.getText());
-
- SWTBotText fileSemanticNameLabel = getBot().textWithLabel(DOMAIN_FILE_NAME);
- assertEquals("test.ecore", fileSemanticNameLabel.getText());
-
- getBot().button("Finish").click();
- SWTBotGefEditor editor = getBot().gefEditor("test");
- assertNotNull(editor);
- editor.close();
-
- {
- assertEquals(true, resourceExists("/folder/test.ecore"));
- assertEquals(true, resourceExists("/folder/test.ecorediag"));
- }
- }
-
- @Test
- public void testCreateNewEcoreToolsDiagramAndAddElements() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 250, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 150, 250, "C", getBot(), editor);
-
- editor.saveAndClose();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.ecorediag");
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- assertEquals(3, diagram.getChildren().size());
- assertEquals(3, epackage.getEClassifiers().size());
-
- Character name = 'A';
-
- for (EClassifier aClass : epackage.getEClassifiers())
- {
- assertEquals(name.toString(), aClass.getName());
- name++;
- }
- }
- }
-
- @Test
- public void testCreateNewDawnDiagramAndAddElementsWithEdges() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 250, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 150, 250, "C", getBot(), editor);
-
- createEdge(DawnEcoreTestUtil.E_REFERENCE, 100, 100, 250, 100, editor);
- createEdge(DawnEcoreTestUtil.E_REFERENCE, 100, 100, 150, 250, editor);
-
- List<SWTBotGefEditPart> connectionEditParts = DawnEcoreTestUtil.getAllTargetConnections(editor);
-
- assertEquals(2, connectionEditParts.size());
-
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.ecorediag");
-
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
-
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- assertEquals(3, diagram.getChildren().size());
- assertEquals(3, epackage.getEClassifiers().size());
-
- Character name = 'A';
-
- for (EClassifier aClass : epackage.getEClassifiers())
- {
- assertEquals(name.toString(), aClass.getName());
- name++;
- }
- view.close();
- }
- }
-
- @Test
- public void testEClassChangeName() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
-
- editor.save();
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- assertEquals(1, epackage.getEClassifiers().size());
-
- EClassifier eClassifier = epackage.getEClassifiers().get(0);
-
- assertEquals("A", eClassifier.getName());
-
- session.close();
- }
-
- typeTextToFocusedWidget("B", getBot(), true);
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- assertEquals(1, epackage.getEClassifiers().size());
-
- EClassifier eClassifier = epackage.getEClassifiers().get(0);
-
- assertEquals("B", eClassifier.getName());
-
- session.close();
- }
- }
-
- @Test
- public void testEClassWithEAttributes() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
-
- editor.save();
-
- editor.activateTool(DawnEcoreTestUtil.E_ATTRIBUTE);
- editor.click(100, 100);
- typeTextToFocusedWidget("name", getBot(), true);
- editor.save();
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.ecorediag");
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
-
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- EClass eClass = (EClass)epackage.getEClassifiers().get(0);
-
- assertEquals("A", eClass.getName());
- EList<EAttribute> eAttributes = eClass.getEAttributes();
- assertEquals(1, eAttributes.size());
- assertEquals("name", eAttributes.get(0).getName());
- }
- }
-
- @Test
- public void testEClassWithEOperation() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
-
- editor.save();
-
- editor.activateTool(DawnEcoreTestUtil.E_OPERATION);
- editor.click(100, 100);
- typeTextToFocusedWidget("operation", getBot(), true);
- editor.save();
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- EClass eClass = (EClass)epackage.getEClassifiers().get(0);
-
- assertEquals("A", eClass.getName());
- EList<EOperation> eOperations = eClass.getEOperations();
- assertEquals(1, eOperations.size());
- assertEquals("operation", eOperations.get(0).getName());
- }
- }
-
- @Test
- public void testDiagramWithInheritance() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 250, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 150, 250, "C", getBot(), editor);
-
- createEdge(DawnEcoreTestUtil.INHERITANCE, 100, 100, 250, 100, editor);
- createEdge(DawnEcoreTestUtil.INHERITANCE, 100, 100, 150, 250, editor);
-
- List<SWTBotGefEditPart> connectionEditParts = DawnEcoreTestUtil.getAllTargetConnections(editor);
-
- assertEquals(2, connectionEditParts.size());
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.ecorediag");
-
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
-
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- assertEquals(3, diagram.getChildren().size());
- assertEquals(3, epackage.getEClassifiers().size());
-
- EClass eClass1 = (EClass)epackage.getEClassifiers().get(0);
- EClass eClass2 = (EClass)epackage.getEClassifiers().get(1);
- EClass eClass3 = (EClass)epackage.getEClassifiers().get(2);
-
- assertEquals(eClass2, eClass1.getEAllSuperTypes().get(0));
- assertEquals(eClass3, eClass1.getEAllSuperTypes().get(1));
-
- view.close();
- }
- }
-
- @Test
- public void testEDataType() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_DATATYPE, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_DATATYPE, 250, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_DATATYPE, 150, 250, "C", getBot(), editor);
- editor.saveAndClose();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.ecorediag");
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
-
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- assertEquals(3, diagram.getChildren().size());
- assertEquals(3, epackage.getEClassifiers().size());
-
- Character name = 'A';
-
- for (EClassifier eType : epackage.getEClassifiers())
- {
- assertEquals(EDataTypeImpl.class, eType.getClass());
- assertEquals(name.toString(), eType.getName());
- name++;
- }
- }
- }
-
- @Test
- public void testEAnnotation() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 250, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 150, 250, "C", getBot(), editor);
- editor.saveAndClose();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.ecorediag");
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
-
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- assertEquals(3, diagram.getChildren().size());
- EList<EAnnotation> eAnnotations = epackage.getEAnnotations();
- assertEquals(3, eAnnotations.size());
-
- Character name = 'A';
-
- for (EAnnotation eAnnotation : eAnnotations)
- {
- assertEquals(name.toString(), eAnnotation.getSource());
- name++;
- }
- }
- }
-
- @Test
- public void testEENum() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_ENUM, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_ENUM, 250, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_ENUM, 150, 250, "C", getBot(), editor);
- editor.saveAndClose();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.ecorediag");
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
-
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- assertEquals(3, diagram.getChildren().size());
- assertEquals(3, epackage.getEClassifiers().size());
-
- Character name = 'A';
-
- for (EClassifier eEnum : epackage.getEClassifiers())
- {
- assertEquals(EEnumImpl.class, eEnum.getClass());
- assertEquals(name.toString(), eEnum.getName());
- name++;
- }
- }
- }
-
- @Test
- public void testEPackage() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_PACKAGE, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_PACKAGE, 250, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_PACKAGE, 150, 250, "C", getBot(), editor);
- editor.saveAndClose();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.ecorediag");
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
-
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
-
- assertEquals(3, diagram.getChildren().size());
- EList<EObject> contents = semanticResource.getContents();
- assertEquals(1, contents.size());
-
- EPackage ePackage = (EPackage)contents.get(0);
- Character name = 'A';
-
- for (EPackage eSubPackage : ePackage.getESubpackages())
- {
- assertEquals(name.toString(), eSubPackage.getName());
- assertEquals(ePackage, eSubPackage.getESuperPackage());
- name++;
- }
- }
- }
-
- @Test
- public void testDiagramWithClassAndEAnnotations() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 250, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 150, 250, "C", getBot(), editor);
-
- createEdge(DawnEcoreTestUtil.E_ANNOTATION_LINK, 250, 100, 100, 100, editor);
- createEdge(DawnEcoreTestUtil.E_ANNOTATION_LINK, 150, 250, 100, 100, editor);
-
- List<SWTBotGefEditPart> connectionEditParts = DawnEcoreTestUtil.getAllTargetConnections(editor);
-
- assertEquals(2, connectionEditParts.size());
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.ecorediag");
-
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
-
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- assertEquals(3, diagram.getChildren().size());
- assertEquals(1, epackage.getEClassifiers().size());
-
- // EClass eClass1 = (EClass)epackage.getEClassifiers().get(0);
- // EList<EAnnotation> eAnnotations = eClass1.getEAnnotations();
- // assertEquals(2, eAnnotations.size());
- //
- // Character name = 'B';
- //
- // for (EAnnotation annotation : eAnnotations)
- // {
- // assertEquals(name.toString(), annotation.getSource());
- // assertEquals(eClass1, annotation.getEModelElement());
- // name++;
- // }
-
- view.close();
- }
- }
-
- @Test
- public void testEAnnotationWithDetailEntry() throws Exception
- {
- SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 100, 100, "A", getBot(), editor);
- editor.activateTool(DawnEcoreTestUtil.DETAILS_ENTRY);
- editor.click(100, 100);
- typeTextToFocusedWidget("name", getBot(), true);
- editor.save();
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.ecorediag");
- CDOResource semanticResource = view.getResource("/default.ecore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
-
- EPackage epackage = (EPackage)semanticResource.getContents().get(0);
-
- EAnnotation eAnnotation = epackage.getEAnnotations().get(0);
-
- assertEquals("A", eAnnotation.getSource());
- assertEquals(1, eAnnotation.getDetails().size());
- view.close();
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.bugzillas;
+
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnEcoreTestUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EDataTypeImpl;
+import org.eclipse.emf.ecore.impl.EEnumImpl;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class Bugzilla_333187_Test extends AbstractDawnGEFTest
+{
+ private static final String DOMAIN_FILE_NAME = "Domain file name: ";
+
+ @Test
+ public void testCreateNewEcoreToolsDiagram() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
+ getBot().button("Next >").click();
+ sleep(1000);
+ getBot().button("Finish").click();
+ SWTBotGefEditor editor = getBot().gefEditor("default");
+ assertNotNull(editor);
+ editor.close();
+ {
+ assertEquals(true, resourceExists("/default.ecore"));
+ assertEquals(true, resourceExists("/default.ecorediag"));
+ }
+ }
+
+ @Test
+ public void testCreateNewEcoreDiagramWrongResourceName() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
+ getBot().button("Next >").click();
+ sleep(6000);
+ shell = getBot().shell("New Ecore Diagram");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(DOMAIN_FILE_NAME);
+ fileNameLabel.setText("");
+
+ fileNameLabel.setFocus();
+ fileNameLabel.typeText("x", 500);
+ assertEquals(false, getBot().button("Next >").isEnabled());
+ getBot().button("Cancel").click();
+ }
+
+ @Test
+ public void testCreateNewEcoreDiagramChangeResourceName() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
+ getBot().button("Next >").click();
+ sleep(6000);
+ shell = getBot().shell("New Ecore Diagram");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(DOMAIN_FILE_NAME);
+ fileNameLabel.setText("");
+
+ fileNameLabel.setFocus();
+ fileNameLabel.typeText("default2.ecore", 50);
+
+ assertEquals(true, getBot().button("Finish").isEnabled());
+
+ getBot().button("Finish").click();
+ SWTBotGefEditor editor = getBot().gefEditor("default2");
+ assertNotNull(editor);
+ editor.close();
+ {
+ assertEquals(true, resourceExists("/default2.ecore"));
+ assertEquals(true, resourceExists("/default2.ecorediag"));
+ }
+ }
+
+ @Test
+ public void testCreateNewEcoreDiagramSetResourceInDialog() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New Ecore Diagram");
+ shell.activate();
+
+ getBot().button("Browse...").click();
+
+ // activate the selection window
+ // shell = getBot().shells()[3];
+ // shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel("Resource name:");
+ fileNameLabel.setText("test.ecore");
+ getBot().button("OK").click();
+
+ SWTBotText fileSemanticNameLabel = getBot().textWithLabel(DOMAIN_FILE_NAME);
+ assertEquals("test.ecore", fileSemanticNameLabel.getText());
+
+ getBot().button("Finish").click();
+
+ SWTBotGefEditor editor = getBot().gefEditor("test");
+ assertNotNull(editor);
+ editor.close();
+
+ {
+ assertEquals(true, resourceExists("/test.ecore"));
+ assertEquals(true, resourceExists("/test.ecorediag"));
+ }
+ }
+
+ @Test
+ public void testCreateNewEcoreDiagramSetResourceInDialogAndSelectFolder() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ final URI uri = URI.createURI("cdo:/folder/dummy");
+ resourceSet.createResource(uri);
+ transaction.commit();
+ }
+
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New Ecore Diagram");
+ shell.activate();
+
+ getBot().button("Browse...").click();
+
+ SWTBotTree tree = getBot().tree(0);
+ selectFolder(tree.getAllItems(), "folder", false);
+
+ SWTBotText fileNameLabel = getBot().textWithLabel("Resource name:");
+ fileNameLabel.setText("test.ecore");
+ getBot().button("OK").click();
+
+ SWTBotText resourcePathLabel = getBot().text(0);
+ assertEquals("cdo://repo1/folder/", resourcePathLabel.getText());
+
+ SWTBotText fileSemanticNameLabel = getBot().textWithLabel(DOMAIN_FILE_NAME);
+ assertEquals("test.ecore", fileSemanticNameLabel.getText());
+
+ getBot().button("Finish").click();
+ SWTBotGefEditor editor = getBot().gefEditor("test");
+ assertNotNull(editor);
+ editor.close();
+
+ {
+ assertEquals(true, resourceExists("/folder/test.ecore"));
+ assertEquals(true, resourceExists("/folder/test.ecorediag"));
+ }
+ }
+
+ @Test
+ public void testCreateNewEcoreToolsDiagramAndAddElements() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 250, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 150, 250, "C", getBot(), editor);
+
+ editor.saveAndClose();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.ecorediag");
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ assertEquals(3, diagram.getChildren().size());
+ assertEquals(3, epackage.getEClassifiers().size());
+
+ Character name = 'A';
+
+ for (EClassifier aClass : epackage.getEClassifiers())
+ {
+ assertEquals(name.toString(), aClass.getName());
+ name++;
+ }
+ }
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramAndAddElementsWithEdges() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 250, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 150, 250, "C", getBot(), editor);
+
+ createEdge(DawnEcoreTestUtil.E_REFERENCE, 100, 100, 250, 100, editor);
+ createEdge(DawnEcoreTestUtil.E_REFERENCE, 100, 100, 150, 250, editor);
+
+ List<SWTBotGefEditPart> connectionEditParts = DawnEcoreTestUtil.getAllTargetConnections(editor);
+
+ assertEquals(2, connectionEditParts.size());
+
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.ecorediag");
+
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ assertEquals(3, diagram.getChildren().size());
+ assertEquals(3, epackage.getEClassifiers().size());
+
+ Character name = 'A';
+
+ for (EClassifier aClass : epackage.getEClassifiers())
+ {
+ assertEquals(name.toString(), aClass.getName());
+ name++;
+ }
+ view.close();
+ }
+ }
+
+ @Test
+ public void testEClassChangeName() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
+
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ assertEquals(1, epackage.getEClassifiers().size());
+
+ EClassifier eClassifier = epackage.getEClassifiers().get(0);
+
+ assertEquals("A", eClassifier.getName());
+
+ session.close();
+ }
+
+ typeTextToFocusedWidget("B", getBot(), true);
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ assertEquals(1, epackage.getEClassifiers().size());
+
+ EClassifier eClassifier = epackage.getEClassifiers().get(0);
+
+ assertEquals("B", eClassifier.getName());
+
+ session.close();
+ }
+ }
+
+ @Test
+ public void testEClassWithEAttributes() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
+
+ editor.save();
+
+ editor.activateTool(DawnEcoreTestUtil.E_ATTRIBUTE);
+ editor.click(100, 100);
+ typeTextToFocusedWidget("name", getBot(), true);
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.ecorediag");
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ EClass eClass = (EClass)epackage.getEClassifiers().get(0);
+
+ assertEquals("A", eClass.getName());
+ EList<EAttribute> eAttributes = eClass.getEAttributes();
+ assertEquals(1, eAttributes.size());
+ assertEquals("name", eAttributes.get(0).getName());
+ }
+ }
+
+ @Test
+ public void testEClassWithEOperation() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
+
+ editor.save();
+
+ editor.activateTool(DawnEcoreTestUtil.E_OPERATION);
+ editor.click(100, 100);
+ typeTextToFocusedWidget("operation", getBot(), true);
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ EClass eClass = (EClass)epackage.getEClassifiers().get(0);
+
+ assertEquals("A", eClass.getName());
+ EList<EOperation> eOperations = eClass.getEOperations();
+ assertEquals(1, eOperations.size());
+ assertEquals("operation", eOperations.get(0).getName());
+ }
+ }
+
+ @Test
+ public void testDiagramWithInheritance() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 250, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 150, 250, "C", getBot(), editor);
+
+ createEdge(DawnEcoreTestUtil.INHERITANCE, 100, 100, 250, 100, editor);
+ createEdge(DawnEcoreTestUtil.INHERITANCE, 100, 100, 150, 250, editor);
+
+ List<SWTBotGefEditPart> connectionEditParts = DawnEcoreTestUtil.getAllTargetConnections(editor);
+
+ assertEquals(2, connectionEditParts.size());
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.ecorediag");
+
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ assertEquals(3, diagram.getChildren().size());
+ assertEquals(3, epackage.getEClassifiers().size());
+
+ EClass eClass1 = (EClass)epackage.getEClassifiers().get(0);
+ EClass eClass2 = (EClass)epackage.getEClassifiers().get(1);
+ EClass eClass3 = (EClass)epackage.getEClassifiers().get(2);
+
+ assertEquals(eClass2, eClass1.getEAllSuperTypes().get(0));
+ assertEquals(eClass3, eClass1.getEAllSuperTypes().get(1));
+
+ view.close();
+ }
+ }
+
+ @Test
+ public void testEDataType() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_DATATYPE, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_DATATYPE, 250, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_DATATYPE, 150, 250, "C", getBot(), editor);
+ editor.saveAndClose();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.ecorediag");
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ assertEquals(3, diagram.getChildren().size());
+ assertEquals(3, epackage.getEClassifiers().size());
+
+ Character name = 'A';
+
+ for (EClassifier eType : epackage.getEClassifiers())
+ {
+ assertEquals(EDataTypeImpl.class, eType.getClass());
+ assertEquals(name.toString(), eType.getName());
+ name++;
+ }
+ }
+ }
+
+ @Test
+ public void testEAnnotation() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 250, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 150, 250, "C", getBot(), editor);
+ editor.saveAndClose();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.ecorediag");
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ assertEquals(3, diagram.getChildren().size());
+ EList<EAnnotation> eAnnotations = epackage.getEAnnotations();
+ assertEquals(3, eAnnotations.size());
+
+ Character name = 'A';
+
+ for (EAnnotation eAnnotation : eAnnotations)
+ {
+ assertEquals(name.toString(), eAnnotation.getSource());
+ name++;
+ }
+ }
+ }
+
+ @Test
+ public void testEENum() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_ENUM, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_ENUM, 250, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_ENUM, 150, 250, "C", getBot(), editor);
+ editor.saveAndClose();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.ecorediag");
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ assertEquals(3, diagram.getChildren().size());
+ assertEquals(3, epackage.getEClassifiers().size());
+
+ Character name = 'A';
+
+ for (EClassifier eEnum : epackage.getEClassifiers())
+ {
+ assertEquals(EEnumImpl.class, eEnum.getClass());
+ assertEquals(name.toString(), eEnum.getName());
+ name++;
+ }
+ }
+ }
+
+ @Test
+ public void testEPackage() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_PACKAGE, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_PACKAGE, 250, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_PACKAGE, 150, 250, "C", getBot(), editor);
+ editor.saveAndClose();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.ecorediag");
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+
+ assertEquals(3, diagram.getChildren().size());
+ EList<EObject> contents = semanticResource.getContents();
+ assertEquals(1, contents.size());
+
+ EPackage ePackage = (EPackage)contents.get(0);
+ Character name = 'A';
+
+ for (EPackage eSubPackage : ePackage.getESubpackages())
+ {
+ assertEquals(name.toString(), eSubPackage.getName());
+ assertEquals(ePackage, eSubPackage.getESuperPackage());
+ name++;
+ }
+ }
+ }
+
+ @Test
+ public void testDiagramWithClassAndEAnnotations() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 250, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 150, 250, "C", getBot(), editor);
+
+ createEdge(DawnEcoreTestUtil.E_ANNOTATION_LINK, 250, 100, 100, 100, editor);
+ createEdge(DawnEcoreTestUtil.E_ANNOTATION_LINK, 150, 250, 100, 100, editor);
+
+ List<SWTBotGefEditPart> connectionEditParts = DawnEcoreTestUtil.getAllTargetConnections(editor);
+
+ assertEquals(2, connectionEditParts.size());
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.ecorediag");
+
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ assertEquals(3, diagram.getChildren().size());
+ assertEquals(1, epackage.getEClassifiers().size());
+
+ // EClass eClass1 = (EClass)epackage.getEClassifiers().get(0);
+ // EList<EAnnotation> eAnnotations = eClass1.getEAnnotations();
+ // assertEquals(2, eAnnotations.size());
+ //
+ // Character name = 'B';
+ //
+ // for (EAnnotation annotation : eAnnotations)
+ // {
+ // assertEquals(name.toString(), annotation.getSource());
+ // assertEquals(eClass1, annotation.getEModelElement());
+ // name++;
+ // }
+
+ view.close();
+ }
+ }
+
+ @Test
+ public void testEAnnotationWithDetailEntry() throws Exception
+ {
+ SWTBotGefEditor editor = DawnEcoreTestUtil.openNewEcoreToolsEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnEcoreTestUtil.E_ANNOTATION, 100, 100, "A", getBot(), editor);
+ editor.activateTool(DawnEcoreTestUtil.DETAILS_ENTRY);
+ editor.click(100, 100);
+ typeTextToFocusedWidget("name", getBot(), true);
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.ecorediag");
+ CDOResource semanticResource = view.getResource("/default.ecore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+
+ EPackage epackage = (EPackage)semanticResource.getContents().get(0);
+
+ EAnnotation eAnnotation = epackage.getEAnnotations().get(0);
+
+ assertEquals("A", eAnnotation.getSource());
+ assertEquals(1, eAnnotation.getDetails().size());
+ view.close();
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_333291_Test.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_333291_Test.java
index 7df8df686e..6c1ffe1836 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_333291_Test.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_333291_Test.java
@@ -1,142 +1,142 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.bugzillas;
-
-import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnEMFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnEMFEditorBot;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnEcoreTestUtil;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotEMFEditor;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
-import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.view.CDOView;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EcoreFactory;
-
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-
-import org.junit.Before;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class Bugzilla_333291_Test extends AbstractDawnEMFTest
-{
- @Override
- @Before
- public void setUp() throws Exception
- {
- setBot(new DawnEMFEditorBot());
- DawnSWTBotUtil.initTest(getBot());
- super.setUp();
- }
-
- public void testCreateNewDawnEcoreEditor() throws Exception
- {
- SWTBotEditor editor = DawnEcoreTestUtil.openNewEcoreEMFEditor("default.ecore", getBot());
- assertNotNull(editor);
- editor.close();
- {
- assertEquals(true, resourceExists("/default.ecore"));
- }
- }
-
- public void testOpenExistingResource() throws Exception
- {
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource = transaction.createResource("/default.ecore");
- EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
- ePackage.setName("myPackage");
- ePackage.setNsPrefix("prefix");
- ePackage.setNsURI("http://testURI/2010");
- resource.getContents().add(ePackage);
-
- EClass aClass = EcoreFactory.eINSTANCE.createEClass();
- aClass.setName("MyClass");
-
- ePackage.getEClassifiers().add(aClass);
-
- transaction.commit();
- transaction.close();
- session.close();
- }
-
- CDOConnectionUtil.instance.init(PreferenceConstants.getRepositoryName(), PreferenceConstants.getProtocol(),
- PreferenceConstants.getServerName());
- CDOConnectionUtil.instance.openSession();
- DawnSWTBotEMFEditor editor = DawnEcoreTestUtil.openEcoreEMFEditor(URI.createURI("cdo://repo1/default.ecore"),
- getBot());
- assertNotNull(editor);
- SWTBotTree tree = editor.getSelectionPageTree();
-
- sleep(1000);
-
- SWTBotTreeItem treeItem = tree.getTreeItem("cdo://repo1/default.ecore");
- treeItem.expand();
-
- SWTBotTreeItem root = treeItem.getItems()[0];
- assertEquals("myPackage", root.getText());
- root.expand();
-
- SWTBotTreeItem swtBotTreeItem1 = root.getItems()[0];
- assertEquals("MyClass", swtBotTreeItem1.getText());
-
- editor.save();
-
- editor.close();
- }
-
- public void testCreateNewPackage() throws Exception
- {
- DawnSWTBotEMFEditor editor = DawnEcoreTestUtil.openNewEcoreEMFEditor("default.ecore", getBot());
- assertNotNull(editor);
-
- SWTBotTree tree = editor.getSelectionPageTree();
-
- selectFolder(tree.getAllItems(), "", true);
-
- editor.clickContextMenu(tree.widget, "EClass");
- editor.clickContextMenu(tree.widget, "EData Type");
- editor.clickContextMenu(tree.widget, "EAnnotation");
- editor.clickContextMenu(tree.widget, "EPackage");
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
- CDOResource resource = view.getResource("/default.ecore");
- EPackage ePackage = (EPackage)resource.getContents().get(0);
-
- assertEquals(2, ePackage.getEClassifiers().size());
- assertEquals(1, ePackage.getESubpackages().size());
- }
-
- editor.close();
- {
- assertEquals(true, resourceExists("/default.ecore"));
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.bugzillas;
+
+import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnEMFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnEMFEditorBot;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnEcoreTestUtil;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotEMFEditor;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
+import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcoreFactory;
+
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+
+import org.junit.Before;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class Bugzilla_333291_Test extends AbstractDawnEMFTest
+{
+ @Override
+ @Before
+ public void setUp() throws Exception
+ {
+ setBot(new DawnEMFEditorBot());
+ DawnSWTBotUtil.initTest(getBot());
+ super.setUp();
+ }
+
+ public void testCreateNewDawnEcoreEditor() throws Exception
+ {
+ SWTBotEditor editor = DawnEcoreTestUtil.openNewEcoreEMFEditor("default.ecore", getBot());
+ assertNotNull(editor);
+ editor.close();
+ {
+ assertEquals(true, resourceExists("/default.ecore"));
+ }
+ }
+
+ public void testOpenExistingResource() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.createResource("/default.ecore");
+ EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
+ ePackage.setName("myPackage");
+ ePackage.setNsPrefix("prefix");
+ ePackage.setNsURI("http://testURI/2010");
+ resource.getContents().add(ePackage);
+
+ EClass aClass = EcoreFactory.eINSTANCE.createEClass();
+ aClass.setName("MyClass");
+
+ ePackage.getEClassifiers().add(aClass);
+
+ transaction.commit();
+ transaction.close();
+ session.close();
+ }
+
+ CDOConnectionUtil.instance.init(PreferenceConstants.getRepositoryName(), PreferenceConstants.getProtocol(),
+ PreferenceConstants.getServerName());
+ CDOConnectionUtil.instance.openSession();
+ DawnSWTBotEMFEditor editor = DawnEcoreTestUtil.openEcoreEMFEditor(URI.createURI("cdo://repo1/default.ecore"),
+ getBot());
+ assertNotNull(editor);
+ SWTBotTree tree = editor.getSelectionPageTree();
+
+ sleep(1000);
+
+ SWTBotTreeItem treeItem = tree.getTreeItem("cdo://repo1/default.ecore");
+ treeItem.expand();
+
+ SWTBotTreeItem root = treeItem.getItems()[0];
+ assertEquals("myPackage", root.getText());
+ root.expand();
+
+ SWTBotTreeItem swtBotTreeItem1 = root.getItems()[0];
+ assertEquals("MyClass", swtBotTreeItem1.getText());
+
+ editor.save();
+
+ editor.close();
+ }
+
+ public void testCreateNewPackage() throws Exception
+ {
+ DawnSWTBotEMFEditor editor = DawnEcoreTestUtil.openNewEcoreEMFEditor("default.ecore", getBot());
+ assertNotNull(editor);
+
+ SWTBotTree tree = editor.getSelectionPageTree();
+
+ selectFolder(tree.getAllItems(), "", true);
+
+ editor.clickContextMenu(tree.widget, "EClass");
+ editor.clickContextMenu(tree.widget, "EData Type");
+ editor.clickContextMenu(tree.widget, "EAnnotation");
+ editor.clickContextMenu(tree.widget, "EPackage");
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+ CDOResource resource = view.getResource("/default.ecore");
+ EPackage ePackage = (EPackage)resource.getContents().get(0);
+
+ assertEquals(2, ePackage.getEClassifiers().size());
+ assertEquals(1, ePackage.getESubpackages().size());
+ }
+
+ editor.close();
+ {
+ assertEquals(true, resourceExists("/default.ecore"));
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_345858_Test.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_345858_Test.java
index f9b2fa748b..8698e06bfa 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_345858_Test.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bugzillas/Bugzilla_345858_Test.java
@@ -1,45 +1,45 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.bugzillas;
-
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class Bugzilla_345858_Test extends AbstractDawnGEFTest
-{
- @Test
- public void testCreateNewDawnDiagramEmptySemanticResourceName() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default0.acore_diagram", getBot());
- editor.close();
- sleep(1000);
-
- editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default1.acore_diagram", getBot());
- editor.close();
- sleep(1000);
-
- editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default2.acore_diagram", getBot());
- editor.close();
- sleep(1000);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.bugzillas;
+
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class Bugzilla_345858_Test extends AbstractDawnGEFTest
+{
+ @Test
+ public void testCreateNewDawnDiagramEmptySemanticResourceName() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default0.acore_diagram", getBot());
+ editor.close();
+ sleep(1000);
+
+ editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default1.acore_diagram", getBot());
+ editor.close();
+ sleep(1000);
+
+ editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default2.acore_diagram", getBot());
+ editor.close();
+ sleep(1000);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bundle/OM.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bundle/OM.java
index 8d8a35d77c..487b4d5d58 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bundle/OM.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/bundle/OM.java
@@ -1,44 +1,44 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.bundle;
-
-import org.eclipse.net4j.util.om.OMBundle;
-import org.eclipse.net4j.util.om.OMPlatform;
-import org.eclipse.net4j.util.om.OSGiActivator;
-import org.eclipse.net4j.util.om.log.OMLogger;
-import org.eclipse.net4j.util.om.trace.OMTracer;
-
-/**
- * The <em>Operations & Maintenance</em> class of this bundle.
- *
- * @author Martin Fluegge
- */
-public abstract class OM
-{
- public static final String BUNDLE_ID = "org.eclipse.emf.cdo.dawn.tests"; //$NON-NLS-1$
-
- public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class);
-
- public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$
-
- public static final OMLogger LOG = BUNDLE.logger();
-
- /**
- * @author Martin Fluegge
- */
- public static final class Activator extends OSGiActivator
- {
- public Activator()
- {
- super(BUNDLE);
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.bundle;
+
+import org.eclipse.net4j.util.om.OMBundle;
+import org.eclipse.net4j.util.om.OMPlatform;
+import org.eclipse.net4j.util.om.OSGiActivator;
+import org.eclipse.net4j.util.om.log.OMLogger;
+import org.eclipse.net4j.util.om.trace.OMTracer;
+
+/**
+ * The <em>Operations & Maintenance</em> class of this bundle.
+ *
+ * @author Martin Fluegge
+ */
+public abstract class OM
+{
+ public static final String BUNDLE_ID = "org.eclipse.emf.cdo.dawn.tests"; //$NON-NLS-1$
+
+ public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class);
+
+ public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$
+
+ public static final OMLogger LOG = BUNDLE.logger();
+
+ /**
+ * @author Martin Fluegge
+ */
+ public static final class Activator extends OSGiActivator
+ {
+ public Activator()
+ {
+ super(BUNDLE);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnCodeGenGMFFragmentTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnCodeGenGMFFragmentTest.java
index e952c45060..95b68ab6a2 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnCodeGenGMFFragmentTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnCodeGenGMFFragmentTest.java
@@ -1,167 +1,167 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.common;
-
-import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui.creators.GMFFragmentCreator;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.DawnAcoreDiagramEditor;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnTest;
-import org.eclipse.emf.cdo.dawn.tests.DawnTestPlatform;
-
-import org.eclipse.emf.mwe.core.WorkflowEngine;
-import org.eclipse.emf.mwe.core.monitor.NullProgressMonitor;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnCodeGenGMFFragmentTest extends AbstractDawnTest
-{
- public void testCodeGeneration() throws Exception
- {
- Map<String, ?> slotMap = new HashMap<String, Object>();
-
- Map<String, String> properties = new HashMap<String, String>();
- File dawnGenFile = DawnTestPlatform.instance.getTestResource("/model/acore.dawngenmodel");
-
- String ouputFolder = DawnTestPlatform.instance.getTestFolder();
-
- properties.put("model", dawnGenFile.toURI().toString());
- properties.put("src-gen", ouputFolder);
-
- String workflowPath = getWorkflowPath("workflow/gmfFragmentGenerator.oaw");// FileLocator.toFileURL(workFlowURL).getFile();
- System.out.println(workflowPath);
-
- new WorkflowEngine().run(workflowPath, new NullProgressMonitor(), properties, slotMap);
-
- String outputFolder = DawnTestPlatform.instance.getTestFolder();
- String diagramFolder = ouputFolder + "/" + "src/org/eclipse/emf/cdo/dawn/examples/acore/diagram";
-
- assertEquals(true, new File(outputFolder + "/META-INF/MANIFEST.MF").exists());
- assertEquals(true, new File(outputFolder + "/fragment.xml").exists());
- assertEquals(true, new File(outputFolder + "/build.properties").exists());
-
- assertEquals(true, new File(diagramFolder + "/edit/").exists());
- assertEquals(true, new File(diagramFolder + "/edit/parts/DawnAcoreEditPartFactory.java").exists());
- assertEquals(true, new File(diagramFolder + "/edit/parts/DawnACoreRootEditPart.java").exists());
- assertEquals(true, new File(diagramFolder + "/edit/policies/DawnACoreRootCanonicalEditPolicy.java").exists());
-
- assertEquals(true, new File(diagramFolder + "/part/").exists());
- assertEquals(true, new File(diagramFolder + "/part/DawnAcoreCreationWizard.java").exists());
- assertEquals(true, new File(diagramFolder + "/part/DawnAcoreDiagramEditor.java").exists());
- assertEquals(true, new File(diagramFolder + "/part/DawnAcoreDiagramEditorUtil.java").exists());
- assertEquals(true, new File(diagramFolder + "/part/DawnAcoreDocumentProvider.java").exists());
-
- assertEquals(true, new File(diagramFolder + "/providers/").exists());
- assertEquals(true, new File(diagramFolder + "/providers/DawnAcoreEditPartProvider.java").exists());
- assertEquals(true, new File(diagramFolder + "/providers/DawnAcoreEditPolicyProvider.java").exists());
-
- basicCompare(new File(new URI(DawnTestPlatform.instance.getBundlePathForClass(DawnAcoreDiagramEditor.class)
- + ".dawn/src/")), new File(outputFolder + "/src"));
- }
-
- /**
- * check whether the generated folder contains the same files as the reference editor
- *
- * @throws IOException
- */
- private void basicCompare(File reference, File expected) throws IOException
- {
- if (reference.getName().endsWith("CVS"))
- {
- return;
- }
- msg(reference + " <---> " + expected);
- assertEquals(true, reference.exists());
- assertEquals(true, expected.exists());
- if (reference.isFile())
- {
- // assertEquals(true, FileCompare.compare(reference, expected));
- if (!FileCompare.compare(reference, expected))
- {
- fail("not equal: " + reference.getName());
- }
- }
- else if (reference.isDirectory())
- {
- for (File child : reference.listFiles())
- {
- basicCompare(child, new File(expected + "/" + child.getName()));
- }
- }
- }
-
- private String getWorkflowPath(String subPath)
- {
- URL resource = GMFFragmentCreator.class.getResource("");
-
- String packagePath = GMFFragmentCreator.class.getPackage().getName().replace(".", "/");
- System.out.println(packagePath);
- String path = resource.toString().replace(packagePath, "");
- return path + subPath;
- }
-
- private static class FileCompare
- {
- public static boolean compare(File reference, File expected) throws IOException
- {
- String referenceContent = FileCompare.getContent(reference);
- String compareContent = FileCompare.getContent(expected);
-
- msg("REF.) " + referenceContent);
- msg("EXP.) " + compareContent);
-
- return referenceContent.equals(compareContent);
- }
-
- private static String getContent(File file) throws java.io.IOException
- {
- StringBuffer buffer = new StringBuffer();
- BufferedReader reader = new BufferedReader(new FileReader(file));
- String line = "";
-
- while ((line = reader.readLine()) != null)
- {
- if (isValid(line.trim()))
- {
- buffer.append(replaceWhiteSpace(line));
- }
- }
-
- reader.close();
- return buffer.toString();
- }
-
- private static Object replaceWhiteSpace(String line)
- {
- return line.replace(" ", "").replace("\t", "");
- }
-
- private static boolean isValid(String line)
- {
- if (line.contains("AcoreDiagramEditorPlugin.getInstance().logInfo") || line.equals("") || line.startsWith("*")
- || line.equals("import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;")
- | line.startsWith("/*") || line.startsWith("//") || line.contains("@"))
- {
- return false;
- }
-
- return true;
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.common;
+
+import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.gmf.ui.creators.GMFFragmentCreator;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.DawnAcoreDiagramEditor;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnTest;
+import org.eclipse.emf.cdo.dawn.tests.DawnTestPlatform;
+
+import org.eclipse.emf.mwe.core.WorkflowEngine;
+import org.eclipse.emf.mwe.core.monitor.NullProgressMonitor;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnCodeGenGMFFragmentTest extends AbstractDawnTest
+{
+ public void testCodeGeneration() throws Exception
+ {
+ Map<String, ?> slotMap = new HashMap<String, Object>();
+
+ Map<String, String> properties = new HashMap<String, String>();
+ File dawnGenFile = DawnTestPlatform.instance.getTestResource("/model/acore.dawngenmodel");
+
+ String ouputFolder = DawnTestPlatform.instance.getTestFolder();
+
+ properties.put("model", dawnGenFile.toURI().toString());
+ properties.put("src-gen", ouputFolder);
+
+ String workflowPath = getWorkflowPath("workflow/gmfFragmentGenerator.oaw");// FileLocator.toFileURL(workFlowURL).getFile();
+ System.out.println(workflowPath);
+
+ new WorkflowEngine().run(workflowPath, new NullProgressMonitor(), properties, slotMap);
+
+ String outputFolder = DawnTestPlatform.instance.getTestFolder();
+ String diagramFolder = ouputFolder + "/" + "src/org/eclipse/emf/cdo/dawn/examples/acore/diagram";
+
+ assertEquals(true, new File(outputFolder + "/META-INF/MANIFEST.MF").exists());
+ assertEquals(true, new File(outputFolder + "/fragment.xml").exists());
+ assertEquals(true, new File(outputFolder + "/build.properties").exists());
+
+ assertEquals(true, new File(diagramFolder + "/edit/").exists());
+ assertEquals(true, new File(diagramFolder + "/edit/parts/DawnAcoreEditPartFactory.java").exists());
+ assertEquals(true, new File(diagramFolder + "/edit/parts/DawnACoreRootEditPart.java").exists());
+ assertEquals(true, new File(diagramFolder + "/edit/policies/DawnACoreRootCanonicalEditPolicy.java").exists());
+
+ assertEquals(true, new File(diagramFolder + "/part/").exists());
+ assertEquals(true, new File(diagramFolder + "/part/DawnAcoreCreationWizard.java").exists());
+ assertEquals(true, new File(diagramFolder + "/part/DawnAcoreDiagramEditor.java").exists());
+ assertEquals(true, new File(diagramFolder + "/part/DawnAcoreDiagramEditorUtil.java").exists());
+ assertEquals(true, new File(diagramFolder + "/part/DawnAcoreDocumentProvider.java").exists());
+
+ assertEquals(true, new File(diagramFolder + "/providers/").exists());
+ assertEquals(true, new File(diagramFolder + "/providers/DawnAcoreEditPartProvider.java").exists());
+ assertEquals(true, new File(diagramFolder + "/providers/DawnAcoreEditPolicyProvider.java").exists());
+
+ basicCompare(new File(new URI(DawnTestPlatform.instance.getBundlePathForClass(DawnAcoreDiagramEditor.class)
+ + ".dawn/src/")), new File(outputFolder + "/src"));
+ }
+
+ /**
+ * check whether the generated folder contains the same files as the reference editor
+ *
+ * @throws IOException
+ */
+ private void basicCompare(File reference, File expected) throws IOException
+ {
+ if (reference.getName().endsWith("CVS"))
+ {
+ return;
+ }
+ msg(reference + " <---> " + expected);
+ assertEquals(true, reference.exists());
+ assertEquals(true, expected.exists());
+ if (reference.isFile())
+ {
+ // assertEquals(true, FileCompare.compare(reference, expected));
+ if (!FileCompare.compare(reference, expected))
+ {
+ fail("not equal: " + reference.getName());
+ }
+ }
+ else if (reference.isDirectory())
+ {
+ for (File child : reference.listFiles())
+ {
+ basicCompare(child, new File(expected + "/" + child.getName()));
+ }
+ }
+ }
+
+ private String getWorkflowPath(String subPath)
+ {
+ URL resource = GMFFragmentCreator.class.getResource("");
+
+ String packagePath = GMFFragmentCreator.class.getPackage().getName().replace(".", "/");
+ System.out.println(packagePath);
+ String path = resource.toString().replace(packagePath, "");
+ return path + subPath;
+ }
+
+ private static class FileCompare
+ {
+ public static boolean compare(File reference, File expected) throws IOException
+ {
+ String referenceContent = FileCompare.getContent(reference);
+ String compareContent = FileCompare.getContent(expected);
+
+ msg("REF.) " + referenceContent);
+ msg("EXP.) " + compareContent);
+
+ return referenceContent.equals(compareContent);
+ }
+
+ private static String getContent(File file) throws java.io.IOException
+ {
+ StringBuffer buffer = new StringBuffer();
+ BufferedReader reader = new BufferedReader(new FileReader(file));
+ String line = "";
+
+ while ((line = reader.readLine()) != null)
+ {
+ if (isValid(line.trim()))
+ {
+ buffer.append(replaceWhiteSpace(line));
+ }
+ }
+
+ reader.close();
+ return buffer.toString();
+ }
+
+ private static Object replaceWhiteSpace(String line)
+ {
+ return line.replace(" ", "").replace("\t", "");
+ }
+
+ private static boolean isValid(String line)
+ {
+ if (line.contains("AcoreDiagramEditorPlugin.getInstance().logInfo") || line.equals("") || line.startsWith("*")
+ || line.equals("import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreDiagramEditorPlugin;")
+ | line.startsWith("/*") || line.startsWith("//") || line.contains("@"))
+ {
+ return false;
+ }
+
+ return true;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnWrapperResourceTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnWrapperResourceTest.java
index f32edd019b..c9d9ef8432 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnWrapperResourceTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/DawnWrapperResourceTest.java
@@ -1,48 +1,48 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.common;
-
-import org.eclipse.emf.cdo.dawn.resources.DawnWrapperResource;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnTest;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
-
-import java.util.Collections;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-public class DawnWrapperResourceTest extends AbstractDawnTest
-{
- public void testPostEventTransactionHandler() throws Exception
- {
- // TransactionalEditingDomain editingDomain = DawnGMFEditingDomainFactory.getInstance().createEditingDomain();
- CDOSession session = openSession();
-
- ResourceSet resourceSet = createResourceSet();
- session.openTransaction(resourceSet);
- resourceSet.getResourceFactoryRegistry().getProtocolToFactoryMap().put("acore_diagram", new XMIResourceImpl());
-
- Resource resource = resourceSet.createResource(URI.createURI("dawn://repo1/default10.acore_diagram"));
-
- assertInstanceOf(DawnWrapperResource.class, resource);
-
- resource.save(Collections.EMPTY_MAP);
-
- session.close();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.common;
+
+import org.eclipse.emf.cdo.dawn.resources.DawnWrapperResource;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnTest;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+
+import java.util.Collections;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+public class DawnWrapperResourceTest extends AbstractDawnTest
+{
+ public void testPostEventTransactionHandler() throws Exception
+ {
+ // TransactionalEditingDomain editingDomain = DawnGMFEditingDomainFactory.getInstance().createEditingDomain();
+ CDOSession session = openSession();
+
+ ResourceSet resourceSet = createResourceSet();
+ session.openTransaction(resourceSet);
+ resourceSet.getResourceFactoryRegistry().getProtocolToFactoryMap().put("acore_diagram", new XMIResourceImpl());
+
+ Resource resource = resourceSet.createResource(URI.createURI("dawn://repo1/default10.acore_diagram"));
+
+ assertInstanceOf(DawnWrapperResource.class, resource);
+
+ resource.save(Collections.EMPTY_MAP);
+
+ session.close();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/GMFTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/GMFTest.java
index 194986bd7e..b3c3dcf4ce 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/GMFTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/GMFTest.java
@@ -1,309 +1,309 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.common;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.AbstractCDOTest;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.tests.mango.MangoValue;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-import org.eclipse.gmf.runtime.notation.Bounds;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.NotationFactory;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-public class GMFTest extends AbstractCDOTest
-{
- public void testDiagram() throws Exception
- {
- CDOSession session = openSession();
- {
- CDOTransaction transaction = session.openTransaction();
-
- CDOResource resource = transaction.createResource("/test1");
- Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
-
- diagram.setName("MyDiagram");
- diagram.setVisible(true);
- diagram.setMutable(false);
-
- resource.getContents().add(diagram);
-
- transaction.commit();
- }
-
- session.close();
- session = openSession();
-
- {
- CDOTransaction transaction = session.openTransaction();
-
- CDOResource resource = transaction.getResource("/test1");
-
- Diagram diagram = (Diagram)resource.getContents().get(0);
-
- assertEquals("MyDiagram", diagram.getName());
- assertEquals(true, diagram.isVisible());
- assertEquals(false, diagram.isMutable());
- }
- }
-
- public void testSimpleNode() throws Exception
- {
- CDOSession session = openSession();
- {
- CDOTransaction transaction = session.openTransaction();
-
- CDOResource resource = transaction.createResource("/test1");
- Node node = createExampleNode();
- MangoValue mangoValue = getMangoFactory().createMangoValue();
- node.setElement(mangoValue);
-
- resource.getContents().add(node);
- resource.getContents().add(mangoValue);
-
- transaction.commit();
- }
-
- session.close();
- session = openSession();
-
- {
- CDOTransaction transaction = session.openTransaction();
-
- CDOResource resource = transaction.getResource("/test1");
-
- Node node = (Node)resource.getContents().get(0);
-
- assertEquals(true, node.isVisible());
- assertEquals(false, node.isMutable());
- assertInstanceOf(Bounds.class, node.getLayoutConstraint());
- Bounds bounds = (Bounds)node.getLayoutConstraint();
- assertEquals(1503, bounds.getHeight());
- assertEquals(1979, bounds.getWidth());
- assertEquals(777, bounds.getX());
- assertEquals(888, bounds.getY());
-
- assertInstanceOf(MangoValue.class, node.getElement());
- }
- }
-
- private Node createExampleNode()
- {
- Node node = NotationFactory.eINSTANCE.createNode();
- Bounds bounds = NotationFactory.eINSTANCE.createBounds();
- bounds.setHeight(1503);
- bounds.setWidth(1979);
- bounds.setX(777);
- bounds.setY(888);
-
- node.setVisible(true);
- node.setMutable(false);
- node.setLayoutConstraint(bounds);
- return node;
- }
-
- public void testSimpleEdge() throws Exception
- {
- CDOSession session = openSession();
- {
- CDOTransaction transaction = session.openTransaction();
-
- CDOResource resource = transaction.createResource("/test1");
- Edge edge = createExampleEdge();
-
- resource.getContents().add(edge);
- transaction.commit();
- }
- session.close();
- session = openSession();
- {
- CDOTransaction transaction = session.openTransaction();
-
- CDOResource resource = transaction.getResource("/test1");
-
- Edge edge = (Edge)resource.getContents().get(0);
-
- assertEquals(true, edge.isVisible());
- assertEquals(false, edge.isMutable());
-
- assertEquals(10, ((RelativeBendpoints)edge.getBendpoints()).getPoints().size());
- for (int i = 0; i < 10; i++)
- {
- assertInstanceOf(RelativeBendpoint.class, ((RelativeBendpoints)edge.getBendpoints()).getPoints().get(i));
- }
- }
- }
-
- private Edge createExampleEdge()
- {
- Edge edge = NotationFactory.eINSTANCE.createEdge();
-
- edge.setVisible(true);
- edge.setMutable(false);
- RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
-
- edge.setBendpoints(bendpoints);
-
- List<RelativeBendpoint> points = new ArrayList<RelativeBendpoint>();
-
- for (int i = 0; i < 10; i++)
- {
- RelativeBendpoint bendPoint = new RelativeBendpoint(1, 2, 3, 4);
- points.add(bendPoint);
- }
-
- bendpoints.setPoints(points);
- edge.setBendpoints(bendpoints);
- return edge;
- }
-
- public void testSimpleDiagramWithViews() throws Exception
- {
- CDOSession session = openSession();
- {
- CDOTransaction transaction = session.openTransaction();
-
- CDOResource resource = transaction.createResource("/test1");
- Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
-
- diagram.setName("MyDiagram");
- int numberOfNodes = 10;
- for (int i = 0; i < numberOfNodes; i++)
- {
- // Node node = createExampleNode();
- // nodes.add(node);
- diagram.createChild(NotationPackage.eINSTANCE.getNode());
- }
-
- for (int i = 0; i < 5; i++)
- {
- Node nodeA = (Node)diagram.getChildren().get(i);
- Node nodeB = (Node)diagram.getChildren().get(numberOfNodes - 1 - i);
-
- Edge edge = diagram.createEdge(NotationPackage.eINSTANCE.getEdge());
-
- edge.setSource(nodeA);
- edge.setTarget(nodeB);
- System.out.println("break");
- }
-
- resource.getContents().add(diagram);
- transaction.commit();
- }
-
- session.close();
- session = openSession();
-
- {
- CDOTransaction transaction = session.openTransaction();
-
- CDOResource resource = transaction.getResource("/test1");
-
- Diagram diagram = (Diagram)resource.getContents().get(0);
-
- assertEquals(true, diagram.isVisible());
- assertEquals(false, diagram.isMutable());
-
- assertEquals(10, diagram.getChildren().size());
- assertEquals(5, diagram.getEdges().size());
- }
- }
-
- public void testDiagramFromXMIResource() throws Exception
- {
- CDOSession session = openSession();
- {
- ResourceSet resourceSet = new ResourceSetImpl();
- AcorePackage.eINSTANCE.eClass();
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
- .put("acore_diagram", new XMIResourceFactoryImpl());
-
- resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("acore", new XMIResourceFactoryImpl());
-
- System.out.println(GMFTest.class.getResource("."));
- System.out.println(GMFTest.class.getResource("/"));
-
- URL resourceURI = GMFTest.class.getResource("");
- String resourcePath = resourceURI.toString().substring(0, resourceURI.toString().lastIndexOf("/bin"));
-
- System.out.println(resourcePath);
-
- // Resource emfResource = resourceSet.getResource(URI.createURI(resourcePath + "/testdata/simple.acore"), true);
- Resource gmfResource = resourceSet.getResource(URI.createURI(resourcePath + "/testdata/simple.acore_diagram"),
- true);
-
- Diagram diagram = (Diagram)gmfResource.getContents().get(0);
- ACoreRoot classDiagram = (ACoreRoot)diagram.getElement();
-
- for (Object o : diagram.getPersistedChildren())
- {
- View view = (View)o;
- System.out.println(view.getElement());
- }
-
- CDOTransaction transaction = session.openTransaction();
-
- CDOResource resource = transaction.createResource("/test1");
- resource.getContents().add(classDiagram);
- resource.getContents().add(diagram);
-
- transaction.commit();
- }
- session.close();
- session = openSession();
- {
- CDOTransaction transaction = session.openTransaction();
-
- CDOResource resource = transaction.getResource("/test1");
-
- Diagram reloadedDiagram = (Diagram)resource.getContents().get(1);
-
- assertInstanceOf(ACoreRoot.class, reloadedDiagram.getElement());
- assertEquals(true, reloadedDiagram.isVisible());
- assertEquals(false, reloadedDiagram.isMutable());
-
- assertEquals(3, reloadedDiagram.getChildren().size());
- assertEquals(2, reloadedDiagram.getEdges().size());
-
- for (Object o : reloadedDiagram.getEdges())
- {
- Edge edge = (Edge)o;
- RelativeBendpoints bendpoints = (RelativeBendpoints)edge.getBendpoints();
- assertNotNull(bendpoints);
- assertEquals(true, bendpoints.getPoints().size() > 0);
- }
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.common;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.AbstractCDOTest;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.tests.mango.MangoValue;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+public class GMFTest extends AbstractCDOTest
+{
+ public void testDiagram() throws Exception
+ {
+ CDOSession session = openSession();
+ {
+ CDOTransaction transaction = session.openTransaction();
+
+ CDOResource resource = transaction.createResource("/test1");
+ Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
+
+ diagram.setName("MyDiagram");
+ diagram.setVisible(true);
+ diagram.setMutable(false);
+
+ resource.getContents().add(diagram);
+
+ transaction.commit();
+ }
+
+ session.close();
+ session = openSession();
+
+ {
+ CDOTransaction transaction = session.openTransaction();
+
+ CDOResource resource = transaction.getResource("/test1");
+
+ Diagram diagram = (Diagram)resource.getContents().get(0);
+
+ assertEquals("MyDiagram", diagram.getName());
+ assertEquals(true, diagram.isVisible());
+ assertEquals(false, diagram.isMutable());
+ }
+ }
+
+ public void testSimpleNode() throws Exception
+ {
+ CDOSession session = openSession();
+ {
+ CDOTransaction transaction = session.openTransaction();
+
+ CDOResource resource = transaction.createResource("/test1");
+ Node node = createExampleNode();
+ MangoValue mangoValue = getMangoFactory().createMangoValue();
+ node.setElement(mangoValue);
+
+ resource.getContents().add(node);
+ resource.getContents().add(mangoValue);
+
+ transaction.commit();
+ }
+
+ session.close();
+ session = openSession();
+
+ {
+ CDOTransaction transaction = session.openTransaction();
+
+ CDOResource resource = transaction.getResource("/test1");
+
+ Node node = (Node)resource.getContents().get(0);
+
+ assertEquals(true, node.isVisible());
+ assertEquals(false, node.isMutable());
+ assertInstanceOf(Bounds.class, node.getLayoutConstraint());
+ Bounds bounds = (Bounds)node.getLayoutConstraint();
+ assertEquals(1503, bounds.getHeight());
+ assertEquals(1979, bounds.getWidth());
+ assertEquals(777, bounds.getX());
+ assertEquals(888, bounds.getY());
+
+ assertInstanceOf(MangoValue.class, node.getElement());
+ }
+ }
+
+ private Node createExampleNode()
+ {
+ Node node = NotationFactory.eINSTANCE.createNode();
+ Bounds bounds = NotationFactory.eINSTANCE.createBounds();
+ bounds.setHeight(1503);
+ bounds.setWidth(1979);
+ bounds.setX(777);
+ bounds.setY(888);
+
+ node.setVisible(true);
+ node.setMutable(false);
+ node.setLayoutConstraint(bounds);
+ return node;
+ }
+
+ public void testSimpleEdge() throws Exception
+ {
+ CDOSession session = openSession();
+ {
+ CDOTransaction transaction = session.openTransaction();
+
+ CDOResource resource = transaction.createResource("/test1");
+ Edge edge = createExampleEdge();
+
+ resource.getContents().add(edge);
+ transaction.commit();
+ }
+ session.close();
+ session = openSession();
+ {
+ CDOTransaction transaction = session.openTransaction();
+
+ CDOResource resource = transaction.getResource("/test1");
+
+ Edge edge = (Edge)resource.getContents().get(0);
+
+ assertEquals(true, edge.isVisible());
+ assertEquals(false, edge.isMutable());
+
+ assertEquals(10, ((RelativeBendpoints)edge.getBendpoints()).getPoints().size());
+ for (int i = 0; i < 10; i++)
+ {
+ assertInstanceOf(RelativeBendpoint.class, ((RelativeBendpoints)edge.getBendpoints()).getPoints().get(i));
+ }
+ }
+ }
+
+ private Edge createExampleEdge()
+ {
+ Edge edge = NotationFactory.eINSTANCE.createEdge();
+
+ edge.setVisible(true);
+ edge.setMutable(false);
+ RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+
+ edge.setBendpoints(bendpoints);
+
+ List<RelativeBendpoint> points = new ArrayList<RelativeBendpoint>();
+
+ for (int i = 0; i < 10; i++)
+ {
+ RelativeBendpoint bendPoint = new RelativeBendpoint(1, 2, 3, 4);
+ points.add(bendPoint);
+ }
+
+ bendpoints.setPoints(points);
+ edge.setBendpoints(bendpoints);
+ return edge;
+ }
+
+ public void testSimpleDiagramWithViews() throws Exception
+ {
+ CDOSession session = openSession();
+ {
+ CDOTransaction transaction = session.openTransaction();
+
+ CDOResource resource = transaction.createResource("/test1");
+ Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
+
+ diagram.setName("MyDiagram");
+ int numberOfNodes = 10;
+ for (int i = 0; i < numberOfNodes; i++)
+ {
+ // Node node = createExampleNode();
+ // nodes.add(node);
+ diagram.createChild(NotationPackage.eINSTANCE.getNode());
+ }
+
+ for (int i = 0; i < 5; i++)
+ {
+ Node nodeA = (Node)diagram.getChildren().get(i);
+ Node nodeB = (Node)diagram.getChildren().get(numberOfNodes - 1 - i);
+
+ Edge edge = diagram.createEdge(NotationPackage.eINSTANCE.getEdge());
+
+ edge.setSource(nodeA);
+ edge.setTarget(nodeB);
+ System.out.println("break");
+ }
+
+ resource.getContents().add(diagram);
+ transaction.commit();
+ }
+
+ session.close();
+ session = openSession();
+
+ {
+ CDOTransaction transaction = session.openTransaction();
+
+ CDOResource resource = transaction.getResource("/test1");
+
+ Diagram diagram = (Diagram)resource.getContents().get(0);
+
+ assertEquals(true, diagram.isVisible());
+ assertEquals(false, diagram.isMutable());
+
+ assertEquals(10, diagram.getChildren().size());
+ assertEquals(5, diagram.getEdges().size());
+ }
+ }
+
+ public void testDiagramFromXMIResource() throws Exception
+ {
+ CDOSession session = openSession();
+ {
+ ResourceSet resourceSet = new ResourceSetImpl();
+ AcorePackage.eINSTANCE.eClass();
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put("acore_diagram", new XMIResourceFactoryImpl());
+
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("acore", new XMIResourceFactoryImpl());
+
+ System.out.println(GMFTest.class.getResource("."));
+ System.out.println(GMFTest.class.getResource("/"));
+
+ URL resourceURI = GMFTest.class.getResource("");
+ String resourcePath = resourceURI.toString().substring(0, resourceURI.toString().lastIndexOf("/bin"));
+
+ System.out.println(resourcePath);
+
+ // Resource emfResource = resourceSet.getResource(URI.createURI(resourcePath + "/testdata/simple.acore"), true);
+ Resource gmfResource = resourceSet.getResource(URI.createURI(resourcePath + "/testdata/simple.acore_diagram"),
+ true);
+
+ Diagram diagram = (Diagram)gmfResource.getContents().get(0);
+ ACoreRoot classDiagram = (ACoreRoot)diagram.getElement();
+
+ for (Object o : diagram.getPersistedChildren())
+ {
+ View view = (View)o;
+ System.out.println(view.getElement());
+ }
+
+ CDOTransaction transaction = session.openTransaction();
+
+ CDOResource resource = transaction.createResource("/test1");
+ resource.getContents().add(classDiagram);
+ resource.getContents().add(diagram);
+
+ transaction.commit();
+ }
+ session.close();
+ session = openSession();
+ {
+ CDOTransaction transaction = session.openTransaction();
+
+ CDOResource resource = transaction.getResource("/test1");
+
+ Diagram reloadedDiagram = (Diagram)resource.getContents().get(1);
+
+ assertInstanceOf(ACoreRoot.class, reloadedDiagram.getElement());
+ assertEquals(true, reloadedDiagram.isVisible());
+ assertEquals(false, reloadedDiagram.isMutable());
+
+ assertEquals(3, reloadedDiagram.getChildren().size());
+ assertEquals(2, reloadedDiagram.getEdges().size());
+
+ for (Object o : reloadedDiagram.getEdges())
+ {
+ Edge edge = (Edge)o;
+ RelativeBendpoints bendpoints = (RelativeBendpoints)edge.getBendpoints();
+ assertNotNull(bendpoints);
+ assertEquals(true, bendpoints.getPoints().size() > 0);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/TestFrameworkTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/TestFrameworkTest.java
index 69b63f4d90..f98fc0d8d5 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/TestFrameworkTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/common/TestFrameworkTest.java
@@ -1,62 +1,62 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.common;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
-import org.eclipse.emf.cdo.dawn.resources.DawnWrapperResource;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnTest;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.util.CommitException;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-
-import org.eclipse.gmf.runtime.notation.Diagram;
-
-/**
- * This test tests the test framework itself.
- *
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-public class TestFrameworkTest extends AbstractDawnTest
-{
- public void testResourceCreation() throws CommitException
- {
- CDOSession session = openSession();
-
- createCDOResourcesFromXMI("simple", AcorePackage.eINSTANCE, session);
-
- ResourceSet resourceSet = createResourceSet();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- CDOResource semanticResource = transaction.getResource("/simple.acore");
-
- assertInstanceOf(CDOResource.class, semanticResource);
- DawnWrapperResource notationalResource = (DawnWrapperResource)resourceSet.getResource(
- URI.createURI("dawn://repo1/simple.acore_diagram"), true);// container.getNotationalResource();
- assertInstanceOf(DawnWrapperResource.class, notationalResource);
- ACoreRoot acoreRoot = (ACoreRoot)semanticResource.getContents().get(0);
-
- assertEquals(3, acoreRoot.getClasses().size());
- assertEquals("A", acoreRoot.getClasses().get(0).getName());
- assertEquals("B", acoreRoot.getClasses().get(1).getName());
- assertEquals("C", acoreRoot.getClasses().get(2).getName());
-
- Diagram diagram = (Diagram)notationalResource.getContents().get(0);
- assertEquals(3, diagram.getChildren().size());
- assertEquals(2, diagram.getEdges().size());
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.common;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcorePackage;
+import org.eclipse.emf.cdo.dawn.resources.DawnWrapperResource;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnTest;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CommitException;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+
+/**
+ * This test tests the test framework itself.
+ *
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+public class TestFrameworkTest extends AbstractDawnTest
+{
+ public void testResourceCreation() throws CommitException
+ {
+ CDOSession session = openSession();
+
+ createCDOResourcesFromXMI("simple", AcorePackage.eINSTANCE, session);
+
+ ResourceSet resourceSet = createResourceSet();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ CDOResource semanticResource = transaction.getResource("/simple.acore");
+
+ assertInstanceOf(CDOResource.class, semanticResource);
+ DawnWrapperResource notationalResource = (DawnWrapperResource)resourceSet.getResource(
+ URI.createURI("dawn://repo1/simple.acore_diagram"), true);// container.getNotationalResource();
+ assertInstanceOf(DawnWrapperResource.class, notationalResource);
+ ACoreRoot acoreRoot = (ACoreRoot)semanticResource.getContents().get(0);
+
+ assertEquals(3, acoreRoot.getClasses().size());
+ assertEquals("A", acoreRoot.getClasses().get(0).getName());
+ assertEquals("B", acoreRoot.getClasses().get(1).getName());
+ assertEquals("C", acoreRoot.getClasses().get(2).getName());
+
+ Diagram diagram = (Diagram)notationalResource.getContents().get(0);
+ assertEquals(3, diagram.getChildren().size());
+ assertEquals(2, diagram.getEdges().size());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnCodeGenerationTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnCodeGenerationTest.java
index 79ee3aa6a8..454e6b403e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnCodeGenerationTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnCodeGenerationTest.java
@@ -1,205 +1,205 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui;
-
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnUITest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnCodeGenerationTestUtil;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class DawnCodeGenerationTest extends AbstractDawnUITest<SWTWorkbenchBot>
-{
- private SWTBotView packageExplorer;
-
- @Override
- @Before
- public void setUp() throws Exception
- {
- super.setUp();
- prepare();
- }
-
- @Override
- @After
- public void tearDown() throws Exception
- {
- cleanup();
- super.tearDown();
- }
-
- private void cleanup()
- {
- deleteProject("org.eclipse.emf.cdo.dawn.examples.acore");
- }
-
- @Test
- public void testCodeGenerationGMF() throws Exception
- {
- SWTBotView packageExplorer = DawnSWTBotUtil.openView(getBot(), "Java", "Package Explorer");
- packageExplorer.setFocus();
-
- SWTBotTreeItem modelFolder = getBot().tree().expandNode("org.eclipse.emf.cdo.dawn.examples.acore", "model");
-
- SWTBotTreeItem gmfgen = modelFolder.expandNode("acore.gmfgen");
- gmfgen.contextMenu("Generate Dawn GenModel").click();
-
- sleep(5000);
-
- assertNotNull(modelFolder.getNode("acore.dawngenmodel"));
- SWTBotTreeItem dawngenmodel_gmf = modelFolder.getNode("acore.dawngenmodel_gmf");
- assertNotNull(dawngenmodel_gmf);
-
- dawngenmodel_gmf.contextMenu("Generate Dawn GMF Fragment").click();
-
- sleep(10000);
-
- IProject fragment = ResourcesPlugin.getWorkspace().getRoot()
- .getProject("org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn");
-
- assertNotNull(fragment);
- String diagramFolder = "src/org/eclipse/emf/cdo/dawn/examples/acore/diagram";
- assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "META-INF/MANIFEST.MF"));
- assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "/fragment.xml"));
- assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "/build.properties"));
-
- assertEquals(true,
- DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/edit/parts/DawnAcoreEditPartFactory.java"));
- assertEquals(true,
- DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/edit/parts/DawnACoreRootEditPart.java"));
- assertEquals(
- true,
- DawnCodeGenerationTestUtil.exists(fragment, diagramFolder
- + "/edit/policies/DawnACoreRootCanonicalEditPolicy.java"));
-
- assertEquals(true,
- DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/part/DawnAcoreCreationWizard.java"));
- assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/part/DawnAcoreDiagramEditor.java"));
- assertEquals(true,
- DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/part/DawnAcoreDiagramEditorUtil.java"));
- assertEquals(true,
- DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/part/DawnAcoreDocumentProvider.java"));
-
- assertEquals(true,
- DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/providers/DawnAcoreEditPartProvider.java"));
- assertEquals(true,
- DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/providers/DawnAcoreEditPolicyProvider.java"));
- deleteProject("org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn");
- sleep(2000);
- }
-
- @Test
- public void testCodeGenerationEMF() throws Exception
- {
- packageExplorer = DawnSWTBotUtil.openView(getBot(), "Java", "Package Explorer");
- packageExplorer.setFocus();
-
- SWTBotTreeItem modelFolder = getBot().tree().expandNode("org.eclipse.emf.cdo.dawn.examples.acore", "model");
-
- SWTBotTreeItem gmfgen = modelFolder.expandNode("acore.genmodel");
- gmfgen.contextMenu("Generate Dawn GenModel").click();
-
- IProject rootProject = ResourcesPlugin.getWorkspace().getRoot()
- .getProject("org.eclipse.emf.cdo.dawn.examples.acore");
-
- waitUntilExists(rootProject, "model/acore.dawngenmodel", 10000);
-
- assertEquals(true, DawnCodeGenerationTestUtil.exists(rootProject, "model/acore.dawngenmodel_emf"));
-
- modelFolder.setFocus();
- SWTBotTreeItem dawngenmodel_emf = modelFolder.getNode("acore.dawngenmodel_emf");
-
- assertNotNull(dawngenmodel_emf);
-
- dawngenmodel_emf.contextMenu("Generate Dawn EMF Fragment").click();
-
- sleep(10000);
-
- assertNotNull(modelFolder.getNode("acore.dawngenmodel"));
- assertNotNull(modelFolder.getNode("acore.dawngenmodel_emf"));
-
- IProject fragment = ResourcesPlugin.getWorkspace().getRoot()
- .getProject("org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn");
-
- assertNotNull(fragment);
-
- assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "META-INF/MANIFEST.MF"));
- assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "/fragment.xml"));
- assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "/build.properties"));
-
- String folder = "src/org/eclipse/emf/cdo/dawn/examples/acore/presentation/";
-
- assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, folder + "DawnAcoreEditor.java"));
- assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, folder + "DawnAcoreModelWizard.java"));
- deleteProject("org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn");
- sleep(2000);
- }
-
- private void waitUntilExists(IProject project, String path, int timeout)
- {
- while (timeout > 0)
- {
- if (DawnCodeGenerationTestUtil.exists(project, "model/acore.dawngenmodel"))
- {
- return;
- }
- sleep(1000);
- timeout -= 1000;
- }
- throw new RuntimeException("Could not find " + path + " within " + timeout + " ms.");
- }
-
- private SWTWorkbenchBot prepare()
- {
- SWTWorkbenchBot bot = getBot();
-
- SWTBotView pluginsView = DawnSWTBotUtil.openView(bot, "Plug-in Development", "Plug-ins");
-
- pluginsView.setFocus();
-
- final SWTBotTree tree = bot.tree();
- final SWTBotTree plugin = tree.select("org.eclipse.emf.cdo.dawn.examples.acore (1.0.0.qualifier)");
-
- DawnSWTBotUtil.findContextMenu(plugin, "Import As", "Source Project").click();
-
- // wait here until the import has finished
- sleep(10000);
- return bot;
- }
-
- private void deleteProject(String projectName)
- {
- SWTWorkbenchBot bot = getBot();
- SWTBotTreeItem project = bot.tree().expandNode(projectName);
- project.contextMenu("Delete").click();
- bot.shell("Delete Resources").activate();
- bot.checkBox().select();
- bot.button("OK").click();
- sleep(2000);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui;
+
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnUITest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnCodeGenerationTestUtil;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class DawnCodeGenerationTest extends AbstractDawnUITest<SWTWorkbenchBot>
+{
+ private SWTBotView packageExplorer;
+
+ @Override
+ @Before
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ prepare();
+ }
+
+ @Override
+ @After
+ public void tearDown() throws Exception
+ {
+ cleanup();
+ super.tearDown();
+ }
+
+ private void cleanup()
+ {
+ deleteProject("org.eclipse.emf.cdo.dawn.examples.acore");
+ }
+
+ @Test
+ public void testCodeGenerationGMF() throws Exception
+ {
+ SWTBotView packageExplorer = DawnSWTBotUtil.openView(getBot(), "Java", "Package Explorer");
+ packageExplorer.setFocus();
+
+ SWTBotTreeItem modelFolder = getBot().tree().expandNode("org.eclipse.emf.cdo.dawn.examples.acore", "model");
+
+ SWTBotTreeItem gmfgen = modelFolder.expandNode("acore.gmfgen");
+ gmfgen.contextMenu("Generate Dawn GenModel").click();
+
+ sleep(5000);
+
+ assertNotNull(modelFolder.getNode("acore.dawngenmodel"));
+ SWTBotTreeItem dawngenmodel_gmf = modelFolder.getNode("acore.dawngenmodel_gmf");
+ assertNotNull(dawngenmodel_gmf);
+
+ dawngenmodel_gmf.contextMenu("Generate Dawn GMF Fragment").click();
+
+ sleep(10000);
+
+ IProject fragment = ResourcesPlugin.getWorkspace().getRoot()
+ .getProject("org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn");
+
+ assertNotNull(fragment);
+ String diagramFolder = "src/org/eclipse/emf/cdo/dawn/examples/acore/diagram";
+ assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "META-INF/MANIFEST.MF"));
+ assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "/fragment.xml"));
+ assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "/build.properties"));
+
+ assertEquals(true,
+ DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/edit/parts/DawnAcoreEditPartFactory.java"));
+ assertEquals(true,
+ DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/edit/parts/DawnACoreRootEditPart.java"));
+ assertEquals(
+ true,
+ DawnCodeGenerationTestUtil.exists(fragment, diagramFolder
+ + "/edit/policies/DawnACoreRootCanonicalEditPolicy.java"));
+
+ assertEquals(true,
+ DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/part/DawnAcoreCreationWizard.java"));
+ assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/part/DawnAcoreDiagramEditor.java"));
+ assertEquals(true,
+ DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/part/DawnAcoreDiagramEditorUtil.java"));
+ assertEquals(true,
+ DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/part/DawnAcoreDocumentProvider.java"));
+
+ assertEquals(true,
+ DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/providers/DawnAcoreEditPartProvider.java"));
+ assertEquals(true,
+ DawnCodeGenerationTestUtil.exists(fragment, diagramFolder + "/providers/DawnAcoreEditPolicyProvider.java"));
+ deleteProject("org.eclipse.emf.cdo.dawn.examples.acore.diagram.dawn");
+ sleep(2000);
+ }
+
+ @Test
+ public void testCodeGenerationEMF() throws Exception
+ {
+ packageExplorer = DawnSWTBotUtil.openView(getBot(), "Java", "Package Explorer");
+ packageExplorer.setFocus();
+
+ SWTBotTreeItem modelFolder = getBot().tree().expandNode("org.eclipse.emf.cdo.dawn.examples.acore", "model");
+
+ SWTBotTreeItem gmfgen = modelFolder.expandNode("acore.genmodel");
+ gmfgen.contextMenu("Generate Dawn GenModel").click();
+
+ IProject rootProject = ResourcesPlugin.getWorkspace().getRoot()
+ .getProject("org.eclipse.emf.cdo.dawn.examples.acore");
+
+ waitUntilExists(rootProject, "model/acore.dawngenmodel", 10000);
+
+ assertEquals(true, DawnCodeGenerationTestUtil.exists(rootProject, "model/acore.dawngenmodel_emf"));
+
+ modelFolder.setFocus();
+ SWTBotTreeItem dawngenmodel_emf = modelFolder.getNode("acore.dawngenmodel_emf");
+
+ assertNotNull(dawngenmodel_emf);
+
+ dawngenmodel_emf.contextMenu("Generate Dawn EMF Fragment").click();
+
+ sleep(10000);
+
+ assertNotNull(modelFolder.getNode("acore.dawngenmodel"));
+ assertNotNull(modelFolder.getNode("acore.dawngenmodel_emf"));
+
+ IProject fragment = ResourcesPlugin.getWorkspace().getRoot()
+ .getProject("org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn");
+
+ assertNotNull(fragment);
+
+ assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "META-INF/MANIFEST.MF"));
+ assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "/fragment.xml"));
+ assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, "/build.properties"));
+
+ String folder = "src/org/eclipse/emf/cdo/dawn/examples/acore/presentation/";
+
+ assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, folder + "DawnAcoreEditor.java"));
+ assertEquals(true, DawnCodeGenerationTestUtil.exists(fragment, folder + "DawnAcoreModelWizard.java"));
+ deleteProject("org.eclipse.emf.cdo.dawn.examples.acore.editor.dawn");
+ sleep(2000);
+ }
+
+ private void waitUntilExists(IProject project, String path, int timeout)
+ {
+ while (timeout > 0)
+ {
+ if (DawnCodeGenerationTestUtil.exists(project, "model/acore.dawngenmodel"))
+ {
+ return;
+ }
+ sleep(1000);
+ timeout -= 1000;
+ }
+ throw new RuntimeException("Could not find " + path + " within " + timeout + " ms.");
+ }
+
+ private SWTWorkbenchBot prepare()
+ {
+ SWTWorkbenchBot bot = getBot();
+
+ SWTBotView pluginsView = DawnSWTBotUtil.openView(bot, "Plug-in Development", "Plug-ins");
+
+ pluginsView.setFocus();
+
+ final SWTBotTree tree = bot.tree();
+ final SWTBotTree plugin = tree.select("org.eclipse.emf.cdo.dawn.examples.acore (1.0.0.qualifier)");
+
+ DawnSWTBotUtil.findContextMenu(plugin, "Import As", "Source Project").click();
+
+ // wait here until the import has finished
+ sleep(10000);
+ return bot;
+ }
+
+ private void deleteProject(String projectName)
+ {
+ SWTWorkbenchBot bot = getBot();
+ SWTBotTreeItem project = bot.tree().expandNode(projectName);
+ project.contextMenu("Delete").click();
+ bot.shell("Delete Resources").activate();
+ bot.checkBox().select();
+ bot.button("OK").click();
+ sleep(2000);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnPreferencesTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnPreferencesTest.java
index ef83a7e3b2..dbec11ceee 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnPreferencesTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnPreferencesTest.java
@@ -1,50 +1,50 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui;
-
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnUITest;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class DawnPreferencesTest extends AbstractDawnUITest<SWTWorkbenchBot>
-{
- @Test
- public void testOpenPreferencePage() throws Exception
- {
- getBot().menu("Window").menu("Preferences").click();
- SWTBotShell shell = getBot().shell("Preferences");
- shell.activate();
-
- getBot().tree().select("Dawn Remote Preferences");
-
- SWTBotText serverNameLabel = getBot().textWithLabel("server name:");
- SWTBotText serverPortLabel = getBot().textWithLabel("server port:");
- SWTBotText repositoryLabel = getBot().textWithLabel("repository:");
- SWTBotText fileNameLabel = getBot().textWithLabel("protocol:");
-
- assertEquals("localhost", serverNameLabel.getText());
- assertEquals("2036", serverPortLabel.getText());
- assertEquals("repo1", repositoryLabel.getText());
- assertEquals("tcp", fileNameLabel.getText());
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui;
+
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnUITest;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class DawnPreferencesTest extends AbstractDawnUITest<SWTWorkbenchBot>
+{
+ @Test
+ public void testOpenPreferencePage() throws Exception
+ {
+ getBot().menu("Window").menu("Preferences").click();
+ SWTBotShell shell = getBot().shell("Preferences");
+ shell.activate();
+
+ getBot().tree().select("Dawn Remote Preferences");
+
+ SWTBotText serverNameLabel = getBot().textWithLabel("server name:");
+ SWTBotText serverPortLabel = getBot().textWithLabel("server port:");
+ SWTBotText repositoryLabel = getBot().textWithLabel("repository:");
+ SWTBotText fileNameLabel = getBot().textWithLabel("protocol:");
+
+ assertEquals("localhost", serverNameLabel.getText());
+ assertEquals("2036", serverPortLabel.getText());
+ assertEquals("repo1", repositoryLabel.getText());
+ assertEquals("tcp", fileNameLabel.getText());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnProjectExplorerTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnProjectExplorerTest.java
index 520259dd5c..bf6b71871a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnProjectExplorerTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/DawnProjectExplorerTest.java
@@ -1,48 +1,48 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui;
-
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnUITest;
-import org.eclipse.emf.cdo.dawn.ui.views.DawnExplorer;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.ui.IViewPart;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class DawnProjectExplorerTest extends AbstractDawnUITest<SWTWorkbenchBot>
-{
- @Test
- public void testOpenDawnExplorer() throws Exception
- {
- getBot().menu("Window").menu("Show View").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("Show View");
- shell.activate();
- getBot().tree().expandNode("Dawn").select("Dawn Explorer");
- getBot().button("OK").click();
-
- SWTBotView activeView = getBot().activeView();
- assertEquals("Dawn Explorer", activeView.getViewReference().getTitle());
- IViewPart view = activeView.getViewReference().getView(false);
- assertInstanceOf(DawnExplorer.class, view);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui;
+
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnUITest;
+import org.eclipse.emf.cdo.dawn.ui.views.DawnExplorer;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.ui.IViewPart;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class DawnProjectExplorerTest extends AbstractDawnUITest<SWTWorkbenchBot>
+{
+ @Test
+ public void testOpenDawnExplorer() throws Exception
+ {
+ getBot().menu("Window").menu("Show View").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("Show View");
+ shell.activate();
+ getBot().tree().expandNode("Dawn").select("Dawn Explorer");
+ getBot().button("OK").click();
+
+ SWTBotView activeView = getBot().activeView();
+ assertEquals("Dawn Explorer", activeView.getViewReference().getTitle());
+ IViewPart view = activeView.getViewReference().getView(false);
+ assertInstanceOf(DawnExplorer.class, view);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnBasicEMFUITest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnBasicEMFUITest.java
index 788dece81d..dfc8030c81 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnBasicEMFUITest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnBasicEMFUITest.java
@@ -1,101 +1,101 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.emf;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
-import org.eclipse.emf.cdo.dawn.examples.acore.presentation.DawnAcoreEditor;
-import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
-import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.AbstractCDOTest;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.util.CommitException;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnBasicEMFUITest extends AbstractCDOTest
-{
- @Override
- public void doSetUp() throws Exception
- {
- super.doSetUp();
- getRepositoryConfig().getRepositoryProperties().put("overrideUUID", "");
- }
-
- public void testGetEditorIdForDawnEditor()
- {
- final CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource = transaction.createResource("/test.acore");
-
- String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
- assertEquals(DawnAcoreEditor.ID, editorID);
- }
-
- public void testEditorInput() throws PartInitException
- {
- final CDOSession session = openSession();
-
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource = transaction.createResource("/sample/test.acore");
-
- String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
- assertEquals(DawnAcoreEditor.ID, editorID);
- DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
- editorInput.setResource(resource);
-
- assertEquals(resource, editorInput.getResource());
- assertEquals(resource.getPath(), editorInput.getResourcePath());
- assertEquals(transaction, editorInput.getView());
- assertEquals(resource.getURI(), editorInput.getURI());
- assertEquals(false, editorInput.isViewOwned());
- }
-
- public void testOpenEditor() throws PartInitException
- {
- final CDOSession session = openSession();
-
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource = transaction.createResource("/test.acore");
-
- ACoreRoot aCoreRoot = AcoreFactory.eINSTANCE.createACoreRoot();
-
- resource.getContents().add(aCoreRoot);
- try
- {
- transaction.commit();
- }
- catch (CommitException ex)
- {
- throw new RuntimeException(ex);
- }
-
- String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
- assertEquals(DawnAcoreEditor.ID, editorID);
-
- DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
-
- // TODO Test case fails because the ConnectionUtil is not initialized. Fake it here or use the DawnExplorer to open
- // the editor.
- IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite()
- .getPage().openEditor(editorInput, editorID);
-
- sleep(5000);
- assertInstanceOf(DawnAcoreEditor.class, editor);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.emf;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
+import org.eclipse.emf.cdo.dawn.examples.acore.presentation.DawnAcoreEditor;
+import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
+import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.AbstractCDOTest;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CommitException;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnBasicEMFUITest extends AbstractCDOTest
+{
+ @Override
+ public void doSetUp() throws Exception
+ {
+ super.doSetUp();
+ getRepositoryConfig().getRepositoryProperties().put("overrideUUID", "");
+ }
+
+ public void testGetEditorIdForDawnEditor()
+ {
+ final CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.createResource("/test.acore");
+
+ String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
+ assertEquals(DawnAcoreEditor.ID, editorID);
+ }
+
+ public void testEditorInput() throws PartInitException
+ {
+ final CDOSession session = openSession();
+
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.createResource("/sample/test.acore");
+
+ String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
+ assertEquals(DawnAcoreEditor.ID, editorID);
+ DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
+ editorInput.setResource(resource);
+
+ assertEquals(resource, editorInput.getResource());
+ assertEquals(resource.getPath(), editorInput.getResourcePath());
+ assertEquals(transaction, editorInput.getView());
+ assertEquals(resource.getURI(), editorInput.getURI());
+ assertEquals(false, editorInput.isViewOwned());
+ }
+
+ public void testOpenEditor() throws PartInitException
+ {
+ final CDOSession session = openSession();
+
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.createResource("/test.acore");
+
+ ACoreRoot aCoreRoot = AcoreFactory.eINSTANCE.createACoreRoot();
+
+ resource.getContents().add(aCoreRoot);
+ try
+ {
+ transaction.commit();
+ }
+ catch (CommitException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
+ assertEquals(DawnAcoreEditor.ID, editorID);
+
+ DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
+
+ // TODO Test case fails because the ConnectionUtil is not initialized. Fake it here or use the DawnExplorer to open
+ // the editor.
+ IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite()
+ .getPage().openEditor(editorInput, editorID);
+
+ sleep(5000);
+ assertInstanceOf(DawnAcoreEditor.class, editor);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnEMFCreationWizardTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnEMFCreationWizardTest.java
index e132686f27..8b2b2c26e8 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnEMFCreationWizardTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnEMFCreationWizardTest.java
@@ -1,224 +1,224 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.emf;
-
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnEMFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.keyboard.Keyboard;
-import org.eclipse.swtbot.swt.finder.keyboard.KeyboardFactory;
-import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
-import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotCombo;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class DawnEMFCreationWizardTest extends AbstractDawnEMFTest
-{
- private String resourceFieldLabel = org.eclipse.emf.cdo.dawn.ui.messages.Messages.DawnCreateNewResourceWizardPage_6;
-
- @Test
- public void testCreateNewDawnAcoreEditor() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
- getBot().button("Next >").click();
- getBot().button("Next >").click();
-
- shell = getBot().shell("New");
- shell.activate();
-
- SWTBotCombo comboBox = getBot().comboBox(0);// bot.ccomboBox(0);
- comboBox.setFocus();
- comboBox.setSelection("ACore Root");
-
- getBot().button("Finish").click();
-
- sleep(500);
-
- SWTBotEditor editor = getBot().editorByTitle("default.acore");
- assertNotNull(editor);
- editor.close();
- {
- assertEquals(true, resourceExists("/default.acore"));
- }
- }
-
- @Test
- public void testCreateNewDawnEditorSetName() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
- getBot().button("Next >").click();
-
- shell = getBot().shell("New");
- shell.activate();
-
- SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileSemanticNameLabel.setText("test.acore");
- assertEquals("test.acore", fileSemanticNameLabel.getText());
-
- getBot().button("Next >").click();
-
- SWTBotCombo comboBox = getBot().comboBox(0);// bot.ccomboBox(0);
- comboBox.setFocus();
- comboBox.setSelection("ACore Root");
-
- getBot().button("Finish").click();
-
- SWTBotEditor editor = getBot().editorByTitle("test.acore");
- assertNotNull(editor);
- editor.close();
- }
-
- @Test
- public void testCreateNewDawnEditorWrongResourceName() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
- getBot().button("Next >").click();
-
- shell = getBot().shell("New");
- shell.activate();
-
- SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
- SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
- Keyboard keyboard = KeyboardFactory.getDefaultKeyboard(fileSemanticNameLabel.widget, null);
- fileSemanticNameLabel.setFocus();
- fileSemanticNameLabel.setText("x");
- // fileSemanticNameLabel.typeText("x", 500);
- keyboard.pressShortcut(Keystrokes.BS);
-
- assertEquals(false, getBot().button("Next >").isEnabled());
- getBot().button("Cancel").click();
- }
-
- @Test
- public void testCreateNewDawnEditorSelectFolder() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- final URI uri = URI.createURI("cdo:/folder/dummy");
- resourceSet.createResource(uri);
- transaction.commit();
- }
-
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
- getBot().button("Next >").click();
-
- shell = getBot().shell("New");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileNameLabel.setText("test.acore");
-
- SWTBotTree tree = getBot().tree(0);
-
- selectFolder(tree.getAllItems(), "folder", false);
-
- getBot().button("Next >").click();
-
- SWTBotCombo comboBox = getBot().comboBox(0);// bot.ccomboBox(0);
- comboBox.setFocus();
- comboBox.setSelection("ACore Root");
-
- getBot().button("Finish").click();
-
- SWTBotEditor editor = getBot().editorByTitle("test.acore");
- assertNotNull(editor);
- editor.close();
-
- {
- assertEquals(true, resourceExists("/folder/test.acore"));
- }
- }
-
- @Test
- public void testCreateNewDawnDiagramTypeFolder() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- final URI uri = URI.createURI("cdo:/folder/dummy");
- resourceSet.createResource(uri);
- transaction.commit();
- }
-
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
- getBot().button("Next >").click();
-
- shell = getBot().shell("New");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileNameLabel.setText("test.acore");
-
- SWTBotText folder = getBot().textWithLabel("Enter or select the parent folder: ");
- folder.setText("/folder");
- SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
-
- getBot().button("Next >").click();
-
- SWTBotCombo comboBox = getBot().comboBox(0);// bot.ccomboBox(0);
- comboBox.setFocus();
- comboBox.setSelection("ACore Root");
-
- getBot().button("Finish").click();
-
- SWTBotEditor editor = getBot().editorByTitle("test.acore");
- assertNotNull(editor);
- editor.close();
-
- {
- assertEquals(true, resourceExists("/folder/test.acore"));
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.emf;
+
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnEMFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.keyboard.Keyboard;
+import org.eclipse.swtbot.swt.finder.keyboard.KeyboardFactory;
+import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
+import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotCombo;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class DawnEMFCreationWizardTest extends AbstractDawnEMFTest
+{
+ private String resourceFieldLabel = org.eclipse.emf.cdo.dawn.ui.messages.Messages.DawnCreateNewResourceWizardPage_6;
+
+ @Test
+ public void testCreateNewDawnAcoreEditor() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
+ getBot().button("Next >").click();
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New");
+ shell.activate();
+
+ SWTBotCombo comboBox = getBot().comboBox(0);// bot.ccomboBox(0);
+ comboBox.setFocus();
+ comboBox.setSelection("ACore Root");
+
+ getBot().button("Finish").click();
+
+ sleep(500);
+
+ SWTBotEditor editor = getBot().editorByTitle("default.acore");
+ assertNotNull(editor);
+ editor.close();
+ {
+ assertEquals(true, resourceExists("/default.acore"));
+ }
+ }
+
+ @Test
+ public void testCreateNewDawnEditorSetName() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New");
+ shell.activate();
+
+ SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileSemanticNameLabel.setText("test.acore");
+ assertEquals("test.acore", fileSemanticNameLabel.getText());
+
+ getBot().button("Next >").click();
+
+ SWTBotCombo comboBox = getBot().comboBox(0);// bot.ccomboBox(0);
+ comboBox.setFocus();
+ comboBox.setSelection("ACore Root");
+
+ getBot().button("Finish").click();
+
+ SWTBotEditor editor = getBot().editorByTitle("test.acore");
+ assertNotNull(editor);
+ editor.close();
+ }
+
+ @Test
+ public void testCreateNewDawnEditorWrongResourceName() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New");
+ shell.activate();
+
+ SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
+ Keyboard keyboard = KeyboardFactory.getDefaultKeyboard(fileSemanticNameLabel.widget, null);
+ fileSemanticNameLabel.setFocus();
+ fileSemanticNameLabel.setText("x");
+ // fileSemanticNameLabel.typeText("x", 500);
+ keyboard.pressShortcut(Keystrokes.BS);
+
+ assertEquals(false, getBot().button("Next >").isEnabled());
+ getBot().button("Cancel").click();
+ }
+
+ @Test
+ public void testCreateNewDawnEditorSelectFolder() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ final URI uri = URI.createURI("cdo:/folder/dummy");
+ resourceSet.createResource(uri);
+ transaction.commit();
+ }
+
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileNameLabel.setText("test.acore");
+
+ SWTBotTree tree = getBot().tree(0);
+
+ selectFolder(tree.getAllItems(), "folder", false);
+
+ getBot().button("Next >").click();
+
+ SWTBotCombo comboBox = getBot().comboBox(0);// bot.ccomboBox(0);
+ comboBox.setFocus();
+ comboBox.setSelection("ACore Root");
+
+ getBot().button("Finish").click();
+
+ SWTBotEditor editor = getBot().editorByTitle("test.acore");
+ assertNotNull(editor);
+ editor.close();
+
+ {
+ assertEquals(true, resourceExists("/folder/test.acore"));
+ }
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramTypeFolder() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ final URI uri = URI.createURI("cdo:/folder/dummy");
+ resourceSet.createResource(uri);
+ transaction.commit();
+ }
+
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileNameLabel.setText("test.acore");
+
+ SWTBotText folder = getBot().textWithLabel("Enter or select the parent folder: ");
+ folder.setText("/folder");
+ SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
+
+ getBot().button("Next >").click();
+
+ SWTBotCombo comboBox = getBot().comboBox(0);// bot.ccomboBox(0);
+ comboBox.setFocus();
+ comboBox.setSelection("ACore Root");
+
+ getBot().button("Finish").click();
+
+ SWTBotEditor editor = getBot().editorByTitle("test.acore");
+ assertNotNull(editor);
+ editor.close();
+
+ {
+ assertEquals(true, resourceExists("/folder/test.acore"));
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnEMFHandleEditorTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnEMFHandleEditorTest.java
index 0cc9bc5092..af572786b7 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnEMFHandleEditorTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/DawnEMFHandleEditorTest.java
@@ -1,127 +1,127 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.emf;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
-import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnEMFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnEMFEditorBot;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotEMFEditor;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
-import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.view.CDOView;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class DawnEMFHandleEditorTest extends AbstractDawnEMFTest
-{
- @Override
- @Before
- public void setUp() throws Exception
- {
- setBot(new DawnEMFEditorBot());
- DawnSWTBotUtil.initTest(getBot());
- super.setUp();
- }
-
- @Test
- public void testOpenExistingResource() throws Exception
- {
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource = transaction.createResource("/default.acore");
- ACoreRoot aCoreRoot = AcoreFactory.eINSTANCE.createACoreRoot();
- aCoreRoot.setTitle("root");
- resource.getContents().add(aCoreRoot);
- AClass aClass = AcoreFactory.eINSTANCE.createAClass();
- aClass.setName("MyClass");
-
- AInterface aInterface = AcoreFactory.eINSTANCE.createAInterface();
- aInterface.setName("MyInterface");
-
- aCoreRoot.getClasses().add(aClass);
- aCoreRoot.getInterfaces().add(aInterface);
- transaction.commit();
- transaction.close();
- session.close();
- }
- CDOConnectionUtil.instance.init(PreferenceConstants.getRepositoryName(), PreferenceConstants.getProtocol(),
- PreferenceConstants.getServerName());
- CDOConnectionUtil.instance.openSession();
- DawnSWTBotEMFEditor editor = DawnAcoreTestUtil.openAcoreEMFEditor(URI.createURI("cdo://repo1/default.acore"),
- getBot());
- assertNotNull(editor);
- SWTBotTree tree = editor.getSelectionPageTree();
-
- sleep(1000);
-
- SWTBotTreeItem treeItem = tree.getTreeItem("cdo://repo1/default.acore");
- treeItem.expand();
-
- SWTBotTreeItem root = treeItem.getItems()[0];
- root.expand();
-
- SWTBotTreeItem swtBotTreeItem1 = root.getItems()[0];
- assertEquals("AClass MyClass", swtBotTreeItem1.getText());
- SWTBotTreeItem swtBotTreeItem2 = root.getItems()[1];
- assertEquals("AInterface MyInterface", swtBotTreeItem2.getText());
-
- editor.save();
-
- editor.close();
- }
-
- @Test
- public void testCreateNewElement() throws Exception
- {
- DawnSWTBotEMFEditor editor = DawnAcoreTestUtil.openNewAcoreEMFEditor("default.acore", getBot());
- assertNotNull(editor);
- SWTBotTree tree = editor.getSelectionPageTree();
-
- selectFolder(tree.getAllItems(), "ACore Root", false);
-
- editor.clickContextMenu(tree.widget, "AClass");
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
- CDOResource resource = view.getResource("/default.acore");
- ACoreRoot aCoreRoot = (ACoreRoot)resource.getContents().get(0);
-
- assertEquals(1, aCoreRoot.getClasses().size());
- assertEquals(null, aCoreRoot.getClasses().get(0).getName());
- }
- editor.close();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.emf;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
+import org.eclipse.emf.cdo.dawn.preferences.PreferenceConstants;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnEMFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnEMFEditorBot;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotEMFEditor;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
+import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class DawnEMFHandleEditorTest extends AbstractDawnEMFTest
+{
+ @Override
+ @Before
+ public void setUp() throws Exception
+ {
+ setBot(new DawnEMFEditorBot());
+ DawnSWTBotUtil.initTest(getBot());
+ super.setUp();
+ }
+
+ @Test
+ public void testOpenExistingResource() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.createResource("/default.acore");
+ ACoreRoot aCoreRoot = AcoreFactory.eINSTANCE.createACoreRoot();
+ aCoreRoot.setTitle("root");
+ resource.getContents().add(aCoreRoot);
+ AClass aClass = AcoreFactory.eINSTANCE.createAClass();
+ aClass.setName("MyClass");
+
+ AInterface aInterface = AcoreFactory.eINSTANCE.createAInterface();
+ aInterface.setName("MyInterface");
+
+ aCoreRoot.getClasses().add(aClass);
+ aCoreRoot.getInterfaces().add(aInterface);
+ transaction.commit();
+ transaction.close();
+ session.close();
+ }
+ CDOConnectionUtil.instance.init(PreferenceConstants.getRepositoryName(), PreferenceConstants.getProtocol(),
+ PreferenceConstants.getServerName());
+ CDOConnectionUtil.instance.openSession();
+ DawnSWTBotEMFEditor editor = DawnAcoreTestUtil.openAcoreEMFEditor(URI.createURI("cdo://repo1/default.acore"),
+ getBot());
+ assertNotNull(editor);
+ SWTBotTree tree = editor.getSelectionPageTree();
+
+ sleep(1000);
+
+ SWTBotTreeItem treeItem = tree.getTreeItem("cdo://repo1/default.acore");
+ treeItem.expand();
+
+ SWTBotTreeItem root = treeItem.getItems()[0];
+ root.expand();
+
+ SWTBotTreeItem swtBotTreeItem1 = root.getItems()[0];
+ assertEquals("AClass MyClass", swtBotTreeItem1.getText());
+ SWTBotTreeItem swtBotTreeItem2 = root.getItems()[1];
+ assertEquals("AInterface MyInterface", swtBotTreeItem2.getText());
+
+ editor.save();
+
+ editor.close();
+ }
+
+ @Test
+ public void testCreateNewElement() throws Exception
+ {
+ DawnSWTBotEMFEditor editor = DawnAcoreTestUtil.openNewAcoreEMFEditor("default.acore", getBot());
+ assertNotNull(editor);
+ SWTBotTree tree = editor.getSelectionPageTree();
+
+ selectFolder(tree.getAllItems(), "ACore Root", false);
+
+ editor.clickContextMenu(tree.widget, "AClass");
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+ CDOResource resource = view.getResource("/default.acore");
+ ACoreRoot aCoreRoot = (ACoreRoot)resource.getContents().get(0);
+
+ assertEquals(1, aCoreRoot.getClasses().size());
+ assertEquals(null, aCoreRoot.getClasses().get(0).getName());
+ }
+ editor.close();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/EMFEditorRollbackTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/EMFEditorRollbackTest.java
index 4865eeb932..a7a9927e9e 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/EMFEditorRollbackTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/EMFEditorRollbackTest.java
@@ -1,74 +1,74 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.emf;
-
-import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnEMFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotEMFEditor;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class EMFEditorRollbackTest extends AbstractDawnEMFTest
-{
- @Test
- public void testGMFAClassConflictMove() throws Exception
- {
- DawnSWTBotEMFEditor editor = DawnAcoreTestUtil.openNewAcoreEMFEditor("default.acore", getBot());
- assertNotNull(editor);
- SWTBotTree tree = editor.getSelectionPageTree();
-
- selectFolder(tree.getAllItems(), "ACore Root", false);
-
- editor.clickContextMenu(tree.widget, "AClass");
- editor.save();
- // selectFolder(tree.getAllItems(), "AClass", false);
-
- IDawnEditor dawnEditor = (IDawnEditor)editor.getReference().getEditor(false);
-
- CDOResource resource = dawnEditor.getDawnEditorSupport().getView().getResource("/default.acore");
- AClass aClass = ((ACoreRoot)resource.getContents().get(0)).getClasses().get(0);
- aClass.setName("BClass");
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore");
- AClass aClass2 = ((ACoreRoot)resource2.getContents().get(0)).getClasses().get(0);
- aClass2.setName("CClass");
- transaction.commit();
- }
- sleep(500);
- assertEquals(true, aClass.cdoConflict());
- editor.clickContextMenu(tree.widget, "Solve Conflict");
-
- getBot().button("yes").click();
- assertEquals(false, aClass.cdoConflict());
- assertEquals("CClass", aClass.getName());
- editor.close();
-
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.emf;
+
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnEMFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotEMFEditor;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class EMFEditorRollbackTest extends AbstractDawnEMFTest
+{
+ @Test
+ public void testGMFAClassConflictMove() throws Exception
+ {
+ DawnSWTBotEMFEditor editor = DawnAcoreTestUtil.openNewAcoreEMFEditor("default.acore", getBot());
+ assertNotNull(editor);
+ SWTBotTree tree = editor.getSelectionPageTree();
+
+ selectFolder(tree.getAllItems(), "ACore Root", false);
+
+ editor.clickContextMenu(tree.widget, "AClass");
+ editor.save();
+ // selectFolder(tree.getAllItems(), "AClass", false);
+
+ IDawnEditor dawnEditor = (IDawnEditor)editor.getReference().getEditor(false);
+
+ CDOResource resource = dawnEditor.getDawnEditorSupport().getView().getResource("/default.acore");
+ AClass aClass = ((ACoreRoot)resource.getContents().get(0)).getClasses().get(0);
+ aClass.setName("BClass");
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore");
+ AClass aClass2 = ((ACoreRoot)resource2.getContents().get(0)).getClasses().get(0);
+ aClass2.setName("CClass");
+ transaction.commit();
+ }
+ sleep(500);
+ assertEquals(true, aClass.cdoConflict());
+ editor.clickContextMenu(tree.widget, "Solve Conflict");
+
+ getBot().button("yes").click();
+ assertEquals(false, aClass.cdoConflict());
+ assertEquals("CClass", aClass.getName());
+ editor.close();
+
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/EMFLockingTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/EMFLockingTest.java
index 285386a399..1316eae518 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/EMFLockingTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/emf/EMFLockingTest.java
@@ -1,113 +1,113 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.emf;
-
-import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnEMFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotEMFEditor;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class EMFLockingTest extends AbstractDawnEMFTest
-{
- @Test
- public void testAClassLockRemotely() throws Exception
- {
- DawnSWTBotEMFEditor editor = DawnAcoreTestUtil.openNewAcoreEMFEditor("default.acore", getBot());
- assertNotNull(editor);
- SWTBotTree tree = editor.getSelectionPageTree();
-
- selectFolder(tree.getAllItems(), "ACore Root", false);
-
- editor.clickContextMenu(tree.widget, "AClass");
- editor.save();
-
- IDawnEditor dawnEditor = (IDawnEditor)editor.getReference().getEditor(false);
- CDOResource resource = dawnEditor.getDawnEditorSupport().getView().getResource("/default.acore");
- AClass aClass = ((ACoreRoot)resource.getContents().get(0)).getClasses().get(0);
- aClass.setName("BClass");
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore");
- AClass aClass2 = ((ACoreRoot)resource2.getContents().get(0)).getClasses().get(0);
- aClass2.cdoWriteLock().lock();
- }
-
- sleep(500);
-
- assertEquals(true, aClass.cdoWriteLock().isLockedByOthers());
-
- // SWTBotTreeItem treeItem = selectFolder(tree.getAllItems(), "BClass", false);
- // assertEquals(DawnColorConstants.COLOR_LOCKED_REMOTELY, treeItem.foregroundColor());
-
- editor.close();
- }
-
- @Test
- public void testAClassLockLocally() throws Exception
- {
- DawnSWTBotEMFEditor editor = DawnAcoreTestUtil.openNewAcoreEMFEditor("default.acore", getBot());
- assertNotNull(editor);
- SWTBotTree tree = editor.getSelectionPageTree();
-
- selectFolder(tree.getAllItems(), "ACore Root", false);
-
- editor.clickContextMenu(tree.widget, "AClass");
- editor.save();
-
- selectFolder(tree.getAllItems(), "AClass", false);
-
- editor.clickContextMenu(tree.widget, "Lock");
- sleep(500);
-
- IDawnEditor dawnEditor = (IDawnEditor)editor.getReference().getEditor(false);
- CDOResource resource = dawnEditor.getDawnEditorSupport().getView().getResource("/default.acore");
- AClass aClass = ((ACoreRoot)resource.getContents().get(0)).getClasses().get(0);
- assertEquals(true, aClass.cdoWriteLock().isLocked());
-
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore");
- AClass aClass2 = ((ACoreRoot)resource2.getContents().get(0)).getClasses().get(0);
- assertEquals(true, aClass2.cdoWriteLock().isLockedByOthers());
-
- sleep(500);
-
- editor.clickContextMenu(tree.widget, "Unlock");
- sleep(500);
-
- assertEquals(false, aClass.cdoWriteLock().isLocked());
- assertEquals(false, aClass2.cdoWriteLock().isLockedByOthers());
-
- // SWTBotTreeItem treeItem = selectFolder(tree.getAllItems(), "AClass", false);
- // assertEquals(DawnColorConstants.COLOR_LOCKED_LOCALLY, treeItem.foregroundColor());
-
- editor.close();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.emf;
+
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnEMFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotEMFEditor;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class EMFLockingTest extends AbstractDawnEMFTest
+{
+ @Test
+ public void testAClassLockRemotely() throws Exception
+ {
+ DawnSWTBotEMFEditor editor = DawnAcoreTestUtil.openNewAcoreEMFEditor("default.acore", getBot());
+ assertNotNull(editor);
+ SWTBotTree tree = editor.getSelectionPageTree();
+
+ selectFolder(tree.getAllItems(), "ACore Root", false);
+
+ editor.clickContextMenu(tree.widget, "AClass");
+ editor.save();
+
+ IDawnEditor dawnEditor = (IDawnEditor)editor.getReference().getEditor(false);
+ CDOResource resource = dawnEditor.getDawnEditorSupport().getView().getResource("/default.acore");
+ AClass aClass = ((ACoreRoot)resource.getContents().get(0)).getClasses().get(0);
+ aClass.setName("BClass");
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore");
+ AClass aClass2 = ((ACoreRoot)resource2.getContents().get(0)).getClasses().get(0);
+ aClass2.cdoWriteLock().lock();
+ }
+
+ sleep(500);
+
+ assertEquals(true, aClass.cdoWriteLock().isLockedByOthers());
+
+ // SWTBotTreeItem treeItem = selectFolder(tree.getAllItems(), "BClass", false);
+ // assertEquals(DawnColorConstants.COLOR_LOCKED_REMOTELY, treeItem.foregroundColor());
+
+ editor.close();
+ }
+
+ @Test
+ public void testAClassLockLocally() throws Exception
+ {
+ DawnSWTBotEMFEditor editor = DawnAcoreTestUtil.openNewAcoreEMFEditor("default.acore", getBot());
+ assertNotNull(editor);
+ SWTBotTree tree = editor.getSelectionPageTree();
+
+ selectFolder(tree.getAllItems(), "ACore Root", false);
+
+ editor.clickContextMenu(tree.widget, "AClass");
+ editor.save();
+
+ selectFolder(tree.getAllItems(), "AClass", false);
+
+ editor.clickContextMenu(tree.widget, "Lock");
+ sleep(500);
+
+ IDawnEditor dawnEditor = (IDawnEditor)editor.getReference().getEditor(false);
+ CDOResource resource = dawnEditor.getDawnEditorSupport().getView().getResource("/default.acore");
+ AClass aClass = ((ACoreRoot)resource.getContents().get(0)).getClasses().get(0);
+ assertEquals(true, aClass.cdoWriteLock().isLocked());
+
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore");
+ AClass aClass2 = ((ACoreRoot)resource2.getContents().get(0)).getClasses().get(0);
+ assertEquals(true, aClass2.cdoWriteLock().isLockedByOthers());
+
+ sleep(500);
+
+ editor.clickContextMenu(tree.widget, "Unlock");
+ sleep(500);
+
+ assertEquals(false, aClass.cdoWriteLock().isLocked());
+ assertEquals(false, aClass2.cdoWriteLock().isLockedByOthers());
+
+ // SWTBotTreeItem treeItem = selectFolder(tree.getAllItems(), "AClass", false);
+ // assertEquals(DawnColorConstants.COLOR_LOCKED_LOCALLY, treeItem.foregroundColor());
+
+ editor.close();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/ConflictTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/ConflictTest.java
index 10fff544f9..490ad3a77a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/ConflictTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/ConflictTest.java
@@ -1,200 +1,200 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class ConflictTest extends AbstractDawnGEFTest
-{
- @Test
- public void testAClassConflictMove() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- editor.save();
-
- editor.drag(100, 100, 200, 200);
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- assertEquals(1, diagram.getChildren().size());
-
- Node nodeA = (Node)diagram.getChildren().get(0);
-
- DawnSWTBotUtil.moveNodeRemotely(nodeA, 200, 300);
-
- transaction.commit();
- }
- sleep(500);
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
-
- assertEquals(true, DawnAcoreTestUtil.showsConflict(classBEditpart.part()));
- }
-
- @Test
- public void testAClassConflictbyRemoteNameChange() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- editor.save();
-
- SWTBotGefEditPart swtBotGefEditPart = DawnAcoreTestUtil.getAClassEditParts(editor).get(0);
- final Node node = (Node)swtBotGefEditPart.part().getModel();
-
- EditingDomain editingDomain = ((IEditingDomainProvider)node.eResource().getResourceSet()).getEditingDomain();
-
- editingDomain.getCommandStack().execute(new RecordingCommand((TransactionalEditingDomain)editingDomain)
- {
- @Override
- protected void doExecute()
- {
- ((AClass)node.getElement()).setName("myName");
- }
- });
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- assertEquals(1, diagram.getChildren().size());
-
- Node nodeA = (Node)diagram.getChildren().get(0);
- AClass aClass = (AClass)nodeA.getElement();
- aClass.setName("newName");
-
- transaction.commit();
- }
- sleep(500);
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
-
- assertEquals(true, DawnAcoreTestUtil.showsConflict(classBEditpart.part()));
- }
-
- @Test
- public void testAInterfaceConflictMove() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 100, 100, "A", getBot(), editor);
- editor.save();
-
- editor.drag(100, 100, 200, 200);
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- assertEquals(1, diagram.getChildren().size());
-
- Node nodeA = (Node)diagram.getChildren().get(0);
-
- DawnSWTBotUtil.moveNodeRemotely(nodeA, 200, 300);
-
- transaction.commit();
- }
- sleep(500);
- List<SWTBotGefEditPart> interfaceEditParts = DawnAcoreTestUtil.getAInterfaceEditParts(editor);
- SWTBotGefEditPart interfaceEditpart = interfaceEditParts.get(0);
-
- assertEquals(true, DawnAcoreTestUtil.showsConflict(interfaceEditpart.part()));
- }
-
- @Test
- public void testAAssociationConflict() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
-
- Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
- Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
-
- createEdge(DawnAcoreTestUtil.CONNECTION_ASSOCIATION, nodeA, nodeB, editor);
- editor.save();
-
- List<SWTBotGefEditPart> aClassAssociationsEditParts = DawnAcoreTestUtil.getAClassAssociationsEditParts(editor);
-
- DawnSWTBotUtil.addBendPoint((Edge)aClassAssociationsEditParts.get(0).part().getModel(), 0, 100, -100, 0);
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- try
- {
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- Edge edge = (Edge)diagram.getEdges().get(0);
- DawnSWTBotUtil.addBendPoint(edge, 0, 100, -100, 0);
-
- transaction.commit();
- }
- catch (Exception ex)
- {
- throw new RuntimeException(ex);
- }
- finally
- {
- transaction.close();
- }
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class ConflictTest extends AbstractDawnGEFTest
+{
+ @Test
+ public void testAClassConflictMove() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ editor.save();
+
+ editor.drag(100, 100, 200, 200);
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ assertEquals(1, diagram.getChildren().size());
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+
+ DawnSWTBotUtil.moveNodeRemotely(nodeA, 200, 300);
+
+ transaction.commit();
+ }
+ sleep(500);
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
+
+ assertEquals(true, DawnAcoreTestUtil.showsConflict(classBEditpart.part()));
+ }
+
+ @Test
+ public void testAClassConflictbyRemoteNameChange() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ editor.save();
+
+ SWTBotGefEditPart swtBotGefEditPart = DawnAcoreTestUtil.getAClassEditParts(editor).get(0);
+ final Node node = (Node)swtBotGefEditPart.part().getModel();
+
+ EditingDomain editingDomain = ((IEditingDomainProvider)node.eResource().getResourceSet()).getEditingDomain();
+
+ editingDomain.getCommandStack().execute(new RecordingCommand((TransactionalEditingDomain)editingDomain)
+ {
+ @Override
+ protected void doExecute()
+ {
+ ((AClass)node.getElement()).setName("myName");
+ }
+ });
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ assertEquals(1, diagram.getChildren().size());
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+ AClass aClass = (AClass)nodeA.getElement();
+ aClass.setName("newName");
+
+ transaction.commit();
+ }
+ sleep(500);
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
+
+ assertEquals(true, DawnAcoreTestUtil.showsConflict(classBEditpart.part()));
+ }
+
+ @Test
+ public void testAInterfaceConflictMove() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 100, 100, "A", getBot(), editor);
+ editor.save();
+
+ editor.drag(100, 100, 200, 200);
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ assertEquals(1, diagram.getChildren().size());
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+
+ DawnSWTBotUtil.moveNodeRemotely(nodeA, 200, 300);
+
+ transaction.commit();
+ }
+ sleep(500);
+ List<SWTBotGefEditPart> interfaceEditParts = DawnAcoreTestUtil.getAInterfaceEditParts(editor);
+ SWTBotGefEditPart interfaceEditpart = interfaceEditParts.get(0);
+
+ assertEquals(true, DawnAcoreTestUtil.showsConflict(interfaceEditpart.part()));
+ }
+
+ @Test
+ public void testAAssociationConflict() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+
+ Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
+ Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
+
+ createEdge(DawnAcoreTestUtil.CONNECTION_ASSOCIATION, nodeA, nodeB, editor);
+ editor.save();
+
+ List<SWTBotGefEditPart> aClassAssociationsEditParts = DawnAcoreTestUtil.getAClassAssociationsEditParts(editor);
+
+ DawnSWTBotUtil.addBendPoint((Edge)aClassAssociationsEditParts.get(0).part().getModel(), 0, 100, -100, 0);
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ try
+ {
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ Edge edge = (Edge)diagram.getEdges().get(0);
+ DawnSWTBotUtil.addBendPoint(edge, 0, 100, -100, 0);
+
+ transaction.commit();
+ }
+ catch (Exception ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ finally
+ {
+ transaction.close();
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnBasicGMFUITest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnBasicGMFUITest.java
index 241e373b8a..549e14f322 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnBasicGMFUITest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnBasicGMFUITest.java
@@ -1,91 +1,91 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.DawnAcoreDiagramEditor;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.DawnAcoreDiagramEditorUtil;
-import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
-import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.AbstractCDOTest;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-public class DawnBasicGMFUITest extends AbstractCDOTest
-{
- @Override
- public void doSetUp() throws Exception
- {
- super.doSetUp();
- getRepositoryConfig().getRepositoryProperties().put("overrideUUID", "");
- }
-
- public void testGetEditorIdForDawnEditor()
- {
- final CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource = transaction.createResource("/test.acore_diagram"); //$NON-NLS-1$
-
- String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
- assertEquals(DawnAcoreDiagramEditor.ID, editorID);
- }
-
- public void testEditorInput() throws PartInitException
- {
- final CDOSession session = openSession();
-
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource = transaction.createResource("/sample/test.acore_diagram"); //$NON-NLS-1$
-
- String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
- assertEquals(DawnAcoreDiagramEditor.ID, editorID);
- DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
- editorInput.setResource(resource);
-
- assertEquals(resource, editorInput.getResource());
- assertEquals(resource.getPath(), editorInput.getResourcePath());
- assertEquals(transaction, editorInput.getView());
- assertEquals(resource.getURI(), editorInput.getURI());
- assertEquals(false, editorInput.isViewOwned());
- }
-
- public void testOpenEditor() throws PartInitException
- {
- final CDOSession session = openSession();
- DawnAcoreDiagramEditorUtil.createDiagram(URI.createURI("dawn://repo1//test.acore_diagram"),
- URI.createURI("cdo://repo1/test.acore"), new NullProgressMonitor());
-
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource = transaction.createResource("/test.acore_diagram");
-
- String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
- assertEquals(DawnAcoreDiagramEditor.ID, editorID);
-
- DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
-
- IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite()
- .getPage().openEditor(editorInput, editorID);
-
- assertInstanceOf(DawnAcoreDiagramEditor.class, editor);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.DawnAcoreDiagramEditor;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.DawnAcoreDiagramEditorUtil;
+import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
+import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.AbstractCDOTest;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+public class DawnBasicGMFUITest extends AbstractCDOTest
+{
+ @Override
+ public void doSetUp() throws Exception
+ {
+ super.doSetUp();
+ getRepositoryConfig().getRepositoryProperties().put("overrideUUID", "");
+ }
+
+ public void testGetEditorIdForDawnEditor()
+ {
+ final CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.createResource("/test.acore_diagram"); //$NON-NLS-1$
+
+ String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
+ assertEquals(DawnAcoreDiagramEditor.ID, editorID);
+ }
+
+ public void testEditorInput() throws PartInitException
+ {
+ final CDOSession session = openSession();
+
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.createResource("/sample/test.acore_diagram"); //$NON-NLS-1$
+
+ String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
+ assertEquals(DawnAcoreDiagramEditor.ID, editorID);
+ DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
+ editorInput.setResource(resource);
+
+ assertEquals(resource, editorInput.getResource());
+ assertEquals(resource.getPath(), editorInput.getResourcePath());
+ assertEquals(transaction, editorInput.getView());
+ assertEquals(resource.getURI(), editorInput.getURI());
+ assertEquals(false, editorInput.isViewOwned());
+ }
+
+ public void testOpenEditor() throws PartInitException
+ {
+ final CDOSession session = openSession();
+ DawnAcoreDiagramEditorUtil.createDiagram(URI.createURI("dawn://repo1//test.acore_diagram"),
+ URI.createURI("cdo://repo1/test.acore"), new NullProgressMonitor());
+
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource = transaction.createResource("/test.acore_diagram");
+
+ String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resource.getName());
+ assertEquals(DawnAcoreDiagramEditor.ID, editorID);
+
+ DawnEditorInput editorInput = new DawnEditorInput(resource.getURI());
+
+ IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite()
+ .getPage().openEditor(editorInput, editorID);
+
+ assertInstanceOf(DawnAcoreDiagramEditor.class, editor);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardSWTBotTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardSWTBotTest.java
index 8441be690b..6a5a07fadf 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardSWTBotTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardSWTBotTest.java
@@ -1,349 +1,349 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
-
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.keyboard.Keyboard;
-import org.eclipse.swtbot.swt.finder.keyboard.KeyboardFactory;
-import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
-import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class DawnCreationWizardSWTBotTest extends AbstractDawnGEFTest
-{
- private String resourceFieldLabel = org.eclipse.emf.cdo.dawn.ui.messages.Messages.DawnCreateNewResourceWizardPage_6;
-
- @Test
- public void testCreateNewDawnDiagram() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
- getBot().button("Next >").click();
- getBot().button("Finish").click();
-
- SWTBotGefEditor editor = getBot().gefEditor("default.acore_diagram");
- assertNotNull(editor);
- editor.close();
- {
- assertEquals(true, resourceExists("/default.acore"));
- assertEquals(true, resourceExists("/default.acore_diagram"));
- }
- }
-
- @Test
- public void testCreateNewDawnDiagramBothPages() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
-
- getBot().button("Next >").click();
- getBot().button("Next >").click();
- getBot().button("Finish").click();
-
- SWTBotGefEditor editor = getBot().gefEditor("default.acore_diagram");
- assertNotNull(editor);
- editor.close();
-
- {
- assertEquals(true, resourceExists("/default.acore"));
- assertEquals(true, resourceExists("/default.acore_diagram"));
- }
- }
-
- @Test
- public void testCreateNewDawnDiagramBothPagesSetName() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
- getBot().button("Next >").click();
-
- shell = getBot().shell("New Acore Diagram");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileNameLabel.setText("test.acore_diagram");
-
- getBot().button("Next >").click();
-
- SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
- assertEquals("test.acore", fileSemanticNameLabel.getText());
-
- getBot().button("Finish").click();
-
- SWTBotGefEditor editor = getBot().gefEditor("test.acore_diagram");
- assertNotNull(editor);
- editor.close();
- }
-
- @Test
- public void testCreateNewDawnDiagramBothPagesSetDifferenNames() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
- getBot().button("Next >").click();
-
- shell = getBot().shell("New Acore Diagram");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileNameLabel.setText("notational.acore_diagram");
-
- getBot().button("Next >").click();
-
- SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
- assertEquals("notational.acore", fileSemanticNameLabel.getText());
-
- fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileSemanticNameLabel.setText("semantic.acore");
-
- fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
- assertEquals("semantic.acore", fileSemanticNameLabel.getText());
-
- getBot().button("Finish").click();
-
- SWTBotGefEditor editor = getBot().gefEditor("notational.acore_diagram");
- assertNotNull(editor);
- editor.close();
-
- {
- assertEquals(true, resourceExists("/semantic.acore"));
- assertEquals(true, resourceExists("/notational.acore_diagram"));
- }
- }
-
- @Test
- public void testCreateNewDawnDiagramEmptyNotationalResourceName() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
- getBot().button("Next >").click();
-
- shell = getBot().shell("New Acore Diagram");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileNameLabel.setText("");
-
- Keyboard keyboard = KeyboardFactory.getDefaultKeyboard(fileNameLabel.widget, null);
- fileNameLabel.setFocus();
- fileNameLabel.typeText("x", 500);
- keyboard.pressShortcut(Keystrokes.BS);
- assertEquals(false, getBot().button("Next >").isEnabled());
- getBot().button("Cancel").click();
- }
-
- @Test
- public void testCreateNewDawnDiagramEmptySemanticResourceName() throws Exception
- {
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
- getBot().button("Next >").click();
-
- shell = getBot().shell("New Acore Diagram");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileNameLabel.setText("notational.acore_diagram");
-
- getBot().button("Next >").click();
-
- SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
- SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
- Keyboard keyboard = KeyboardFactory.getDefaultKeyboard(fileSemanticNameLabel.widget, null);
- fileSemanticNameLabel.setFocus();
- fileSemanticNameLabel.typeText("x", 500);
-
- keyboard.pressShortcut(Keystrokes.BS);
- assertEquals(false, getBot().button("Next >").isEnabled());
- getBot().button("Cancel").click();
- }
-
- @Test
- public void testCreateNewDawnDiagramSelectFolder() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- final URI uri = URI.createURI("cdo:/folder/dummy");
- resourceSet.createResource(uri);
- transaction.commit();
- }
-
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
- getBot().button("Next >").click();
-
- shell = getBot().shell("New Acore Diagram");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileNameLabel.setText("test.acore_diagram");
-
- SWTBotTree tree = getBot().tree(0);
-
- selectFolder(tree.getAllItems(), "folder", false);
- getBot().button("Next >").click();
-
- SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
- assertEquals("test.acore", fileSemanticNameLabel.getText());
-
- getBot().button("Finish").click();
-
- SWTBotGefEditor editor = getBot().gefEditor("test.acore_diagram");
- assertNotNull(editor);
- editor.close();
-
- {
- assertEquals(true, resourceExists("/folder/test.acore"));
- assertEquals(true, resourceExists("/folder/test.acore_diagram"));
- }
- }
-
- @Test
- public void testCreateNewDawnDiagramTypeFolder() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- final URI uri = URI.createURI("cdo:/folder/dummy");
- resourceSet.createResource(uri);
- transaction.commit();
- }
-
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
- getBot().button("Next >").click();
-
- shell = getBot().shell("New Acore Diagram");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileNameLabel.setText("test.acore_diagram");
-
- SWTBotText folder = getBot().textWithLabel("Enter or select the parent folder: ");
- folder.setText("/folder");
- SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
-
- getBot().button("Next >").click();
-
- SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
- assertEquals("test.acore", fileSemanticNameLabel.getText());
-
- getBot().button("Finish").click();
-
- SWTBotGefEditor editor = getBot().gefEditor("test.acore_diagram");
- assertNotNull(editor);
- editor.close();
-
- {
- assertEquals(true, resourceExists("/folder/test.acore"));
- assertEquals(true, resourceExists("/folder/test.acore_diagram"));
- }
- }
-
- @Test
- public void testCreateNewDawnDiagramSelectDifferentFolders() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- resourceSet.createResource(URI.createURI("cdo:/folder1/dummy"));
- resourceSet.createResource(URI.createURI("cdo:/folder2/dummy"));
-
- transaction.commit();
- }
-
- getBot().menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = getBot().shell("New");
- shell.activate();
- getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
- getBot().button("Next >").click();
-
- shell = getBot().shell("New Acore Diagram");
- shell.activate();
-
- SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
- fileNameLabel.setText("test.acore_diagram");
-
- SWTBotTree tree = getBot().tree(0);
-
- selectFolder(tree.getAllItems(), "folder1", false);
- getBot().button("Next >").click();
-
- SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
- assertEquals("test.acore", fileSemanticNameLabel.getText());
-
- tree = getBot().tree(0);
- selectFolder(tree.getAllItems(), "folder2", false);
-
- getBot().button("Finish").click();
-
- SWTBotGefEditor editor = getBot().gefEditor("test.acore_diagram");
- assertNotNull(editor);
- editor.close();
-
- {
- assertEquals(true, resourceExists("/folder1/test.acore_diagram"));
- assertEquals(true, resourceExists("/folder2/test.acore"));
- }
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
+
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.keyboard.Keyboard;
+import org.eclipse.swtbot.swt.finder.keyboard.KeyboardFactory;
+import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
+import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class DawnCreationWizardSWTBotTest extends AbstractDawnGEFTest
+{
+ private String resourceFieldLabel = org.eclipse.emf.cdo.dawn.ui.messages.Messages.DawnCreateNewResourceWizardPage_6;
+
+ @Test
+ public void testCreateNewDawnDiagram() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+ getBot().button("Next >").click();
+ getBot().button("Finish").click();
+
+ SWTBotGefEditor editor = getBot().gefEditor("default.acore_diagram");
+ assertNotNull(editor);
+ editor.close();
+ {
+ assertEquals(true, resourceExists("/default.acore"));
+ assertEquals(true, resourceExists("/default.acore_diagram"));
+ }
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramBothPages() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+
+ getBot().button("Next >").click();
+ getBot().button("Next >").click();
+ getBot().button("Finish").click();
+
+ SWTBotGefEditor editor = getBot().gefEditor("default.acore_diagram");
+ assertNotNull(editor);
+ editor.close();
+
+ {
+ assertEquals(true, resourceExists("/default.acore"));
+ assertEquals(true, resourceExists("/default.acore_diagram"));
+ }
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramBothPagesSetName() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New Acore Diagram");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileNameLabel.setText("test.acore_diagram");
+
+ getBot().button("Next >").click();
+
+ SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ assertEquals("test.acore", fileSemanticNameLabel.getText());
+
+ getBot().button("Finish").click();
+
+ SWTBotGefEditor editor = getBot().gefEditor("test.acore_diagram");
+ assertNotNull(editor);
+ editor.close();
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramBothPagesSetDifferenNames() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New Acore Diagram");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileNameLabel.setText("notational.acore_diagram");
+
+ getBot().button("Next >").click();
+
+ SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ assertEquals("notational.acore", fileSemanticNameLabel.getText());
+
+ fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileSemanticNameLabel.setText("semantic.acore");
+
+ fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ assertEquals("semantic.acore", fileSemanticNameLabel.getText());
+
+ getBot().button("Finish").click();
+
+ SWTBotGefEditor editor = getBot().gefEditor("notational.acore_diagram");
+ assertNotNull(editor);
+ editor.close();
+
+ {
+ assertEquals(true, resourceExists("/semantic.acore"));
+ assertEquals(true, resourceExists("/notational.acore_diagram"));
+ }
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramEmptyNotationalResourceName() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New Acore Diagram");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileNameLabel.setText("");
+
+ Keyboard keyboard = KeyboardFactory.getDefaultKeyboard(fileNameLabel.widget, null);
+ fileNameLabel.setFocus();
+ fileNameLabel.typeText("x", 500);
+ keyboard.pressShortcut(Keystrokes.BS);
+ assertEquals(false, getBot().button("Next >").isEnabled());
+ getBot().button("Cancel").click();
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramEmptySemanticResourceName() throws Exception
+ {
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New Acore Diagram");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileNameLabel.setText("notational.acore_diagram");
+
+ getBot().button("Next >").click();
+
+ SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
+ Keyboard keyboard = KeyboardFactory.getDefaultKeyboard(fileSemanticNameLabel.widget, null);
+ fileSemanticNameLabel.setFocus();
+ fileSemanticNameLabel.typeText("x", 500);
+
+ keyboard.pressShortcut(Keystrokes.BS);
+ assertEquals(false, getBot().button("Next >").isEnabled());
+ getBot().button("Cancel").click();
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramSelectFolder() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ final URI uri = URI.createURI("cdo:/folder/dummy");
+ resourceSet.createResource(uri);
+ transaction.commit();
+ }
+
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New Acore Diagram");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileNameLabel.setText("test.acore_diagram");
+
+ SWTBotTree tree = getBot().tree(0);
+
+ selectFolder(tree.getAllItems(), "folder", false);
+ getBot().button("Next >").click();
+
+ SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ assertEquals("test.acore", fileSemanticNameLabel.getText());
+
+ getBot().button("Finish").click();
+
+ SWTBotGefEditor editor = getBot().gefEditor("test.acore_diagram");
+ assertNotNull(editor);
+ editor.close();
+
+ {
+ assertEquals(true, resourceExists("/folder/test.acore"));
+ assertEquals(true, resourceExists("/folder/test.acore_diagram"));
+ }
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramTypeFolder() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ final URI uri = URI.createURI("cdo:/folder/dummy");
+ resourceSet.createResource(uri);
+ transaction.commit();
+ }
+
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New Acore Diagram");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileNameLabel.setText("test.acore_diagram");
+
+ SWTBotText folder = getBot().textWithLabel("Enter or select the parent folder: ");
+ folder.setText("/folder");
+ SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
+
+ getBot().button("Next >").click();
+
+ SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ assertEquals("test.acore", fileSemanticNameLabel.getText());
+
+ getBot().button("Finish").click();
+
+ SWTBotGefEditor editor = getBot().gefEditor("test.acore_diagram");
+ assertNotNull(editor);
+ editor.close();
+
+ {
+ assertEquals(true, resourceExists("/folder/test.acore"));
+ assertEquals(true, resourceExists("/folder/test.acore_diagram"));
+ }
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramSelectDifferentFolders() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ resourceSet.createResource(URI.createURI("cdo:/folder1/dummy"));
+ resourceSet.createResource(URI.createURI("cdo:/folder2/dummy"));
+
+ transaction.commit();
+ }
+
+ getBot().menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = getBot().shell("New");
+ shell.activate();
+ getBot().tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+ getBot().button("Next >").click();
+
+ shell = getBot().shell("New Acore Diagram");
+ shell.activate();
+
+ SWTBotText fileNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ fileNameLabel.setText("test.acore_diagram");
+
+ SWTBotTree tree = getBot().tree(0);
+
+ selectFolder(tree.getAllItems(), "folder1", false);
+ getBot().button("Next >").click();
+
+ SWTBotText fileSemanticNameLabel = getBot().textWithLabel(resourceFieldLabel);
+ assertEquals("test.acore", fileSemanticNameLabel.getText());
+
+ tree = getBot().tree(0);
+ selectFolder(tree.getAllItems(), "folder2", false);
+
+ getBot().button("Finish").click();
+
+ SWTBotGefEditor editor = getBot().gefEditor("test.acore_diagram");
+ assertNotNull(editor);
+ editor.close();
+
+ {
+ assertEquals(true, resourceExists("/folder1/test.acore_diagram"));
+ assertEquals(true, resourceExists("/folder2/test.acore"));
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java
index 1892918c4f..6e85ff316c 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/DawnCreationWizardTest.java
@@ -1,331 +1,331 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.DawnAcoreCreationWizard;
-import org.eclipse.emf.cdo.dawn.helper.DawnEditorHelper;
-import org.eclipse.emf.cdo.dawn.ui.composites.CDOResourceNodeChooserComposite.ResourceChooserValidator;
-import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewDiagramResourceWizardPage;
-import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewResourceWizardPage;
-import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.AbstractCDOTest;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Text;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnCreationWizardTest extends AbstractCDOTest
-{
- public void testCreationWizardSetWrongDiagramName() throws Exception
- {
- CDOSession session = openSession();
- CDOConnectionUtil.instance.openView(session);
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
-
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setVisible(true);
- assertNotNull(dawnDiagramModelFilePage);
- assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
- assertEquals("", dawnDiagramModelFilePage.getResourcePath());
- assertEquals("default", dawnDiagramModelFilePage.getResourceNamePrefix());
- assertEquals("dawn://repo1//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
-
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
-
- dawnDiagramModelFilePage.setResourceNamePrefix("");
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(false, dawnDiagramModelFilePage.isPageComplete());
-
- dawnDiagramModelFilePage.setResourceNamePrefix("myDiagram");
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
- }
-
- public void testCreationWizardSetWrongSemanticNameWarn_Default() throws Exception
- {
- CDOSession session = openSession();
- CDOConnectionUtil.instance.openView(session);
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
- .getNextPage();
-
- dawnDomainModelFilePage.setVisible(true);
-
- callValidatePage(dawnDomainModelFilePage);
- assertEquals(true, dawnDomainModelFilePage.isPageComplete());
-
- dawnDomainModelFilePage.setResourceNamePrefix("");
- callValidatePage(dawnDomainModelFilePage);
- assertEquals("", getResourceText(dawnDomainModelFilePage).getText());
- assertEquals(true, dawnDomainModelFilePage.isPageComplete());
-
- dawnDomainModelFilePage.setResourceNamePrefix("something.acore");
- callValidatePage(dawnDomainModelFilePage);
- assertEquals(true, dawnDomainModelFilePage.isPageComplete());
-
- assertEquals("something.acore", dawnDomainModelFilePage.getDefaultName());
- }
-
- public void testCreationWizardSetWrongSemanticNameError() throws Exception
- {
- CDOSession session = openSession();
- CDOConnectionUtil.instance.openView(session);
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
- .getNextPage();
-
- dawnDomainModelFilePage.setVisible(true);
- dawnDomainModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_ERROR);
-
- assertEquals(ResourceChooserValidator.VALIDATION_ERROR, dawnDiagramModelFilePage.getResourceValidationType());
-
- dawnDomainModelFilePage.setResourceNamePrefix("");
- callValidatePage(dawnDomainModelFilePage);
-
- assertEquals("", getResourceText(dawnDomainModelFilePage).getText());
- assertEquals(false, dawnDomainModelFilePage.isPageComplete());
- }
-
- public void testCreationWizardCreateAutomaticName() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- transaction.createResource("/default.acore_diagram");
- transaction.commit();
- transaction.close();
- }
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setCreateAutomaticResourceName(true);
- dawnDiagramModelFilePage.setVisible(true);
-
- assertEquals("default2.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
- }
-
- public void testCreationWizardSetExistingResourceError() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- transaction.createResource("/default5.acore_diagram");
- transaction.commit();
- transaction.close();
- }
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setVisible(true);
- dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_ERROR);
- assertEquals(ResourceChooserValidator.VALIDATION_ERROR, dawnDiagramModelFilePage.getResourceValidationType());
-
- dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
- assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(false, dawnDiagramModelFilePage.isPageComplete());
- assertEquals("A resource with the same name already exists!", dawnDiagramModelFilePage.getErrorMessage());
- }
-
- public void testCreationWizardSetExistingResourceWarn() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- transaction.createResource("/default5.acore_diagram");
- transaction.commit();
- transaction.close();
- }
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setVisible(true);
- dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_WARN);
- assertEquals(ResourceChooserValidator.VALIDATION_WARN, dawnDiagramModelFilePage.getResourceValidationType());
-
- dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
- assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
- assertEquals("A resource with the same name already exists!", dawnDiagramModelFilePage.getMessage());
- }
-
- public void testCreationWizardSetExistingResourceNone() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- CDOTransaction transaction = session.openTransaction(resourceSet);
-
- transaction.createResource("/default5.acore_diagram");
- transaction.commit();
- transaction.close();
- }
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setVisible(true);
- dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_NONE);
- assertEquals(ResourceChooserValidator.VALIDATION_NONE, dawnDiagramModelFilePage.getResourceValidationType());
-
- dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
- assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
- assertEquals(null, dawnDiagramModelFilePage.getErrorMessage());
- }
-
- public void testCreationWizardCreateResources() throws Exception
- {
- {
- CDOSession session = openSession();
- ResourceSet resourceSet = new ResourceSetImpl();
- session.openTransaction(resourceSet);
-
- final URI uri = URI.createURI("cdo:/folder/dummy");
- resourceSet.createResource(uri);
- }
-
- DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
-
- WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
- dialog.create();
-
- IWizardPage[] pages = creationWizard.getPages();
-
- DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
- dawnDiagramModelFilePage.setVisible(true);
- assertNotNull(dawnDiagramModelFilePage);
- assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
- assertEquals("", dawnDiagramModelFilePage.getResourcePath());
- assertEquals("default", dawnDiagramModelFilePage.getResourceNamePrefix());
- assertEquals("dawn://repo1//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
-
- // TODO create a folder here first
- // set the resource path as a user would do
- dawnDiagramModelFilePage.setResourcePath("/folder");
- assertEquals("/folder/", dawnDiagramModelFilePage.getResourcePath());
- assertEquals("dawn://repo1//folder//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
-
- callValidatePage(dawnDiagramModelFilePage);
- assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
-
- DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
- .getNextPage();
- dawnDiagramModelFilePage.setVisible(false);
- dawnDomainModelFilePage.setVisible(true);
-
- callValidatePage(dawnDomainModelFilePage);
- assertEquals(true, dawnDomainModelFilePage.isPageComplete());
- assertNotNull(dawnDomainModelFilePage);
- assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDomainModelFilePage);
- assertEquals("default.acore", dawnDomainModelFilePage.getDefaultName());
- assertEquals("cdo://repo1/folder/default.acore", dawnDomainModelFilePage.getURI().toString());
-
- boolean performFinish = creationWizard.performFinish();
- assertEquals(true, performFinish);
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource semanticResource = transaction.getResource("/folder/default.acore");
-
- CDOResource diagramResource = transaction.getResource("/folder/default.acore_diagram");
- assertNotNull(diagramResource);
- Diagram diagramRoot = (Diagram)diagramResource.getContents().get(0);
- assertEquals(semanticResource.getContents().get(0), diagramRoot.getElement());
- transaction.close();
- }
- // cleanup
- DawnEditorHelper.getActiveEditor().getSite().getPage().closeAllEditors(false);
- }
-
- private void callValidatePage(DawnCreateNewResourceWizardPage page) throws Exception
- {
- Class<DawnCreateNewResourceWizardPage> clazz = DawnCreateNewResourceWizardPage.class;
- java.lang.Class<Object>[] parameterType = null;
- Method method = clazz.getDeclaredMethod("validatePage", parameterType);
- method.setAccessible(true);
- Object[] args = null;
- method.invoke(page, args);
- }
-
- private Text getResourceText(DawnCreateNewResourceWizardPage dawnDomainModelFilePage) throws Exception
- {
- Class<DawnCreateNewResourceWizardPage> clazz = DawnCreateNewResourceWizardPage.class;
- Field field = clazz.getDeclaredField("resourceText");
- field.setAccessible(true);
- return (Text)field.get(dawnDomainModelFilePage);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.DawnAcoreCreationWizard;
+import org.eclipse.emf.cdo.dawn.helper.DawnEditorHelper;
+import org.eclipse.emf.cdo.dawn.ui.composites.CDOResourceNodeChooserComposite.ResourceChooserValidator;
+import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewDiagramResourceWizardPage;
+import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewResourceWizardPage;
+import org.eclipse.emf.cdo.dawn.util.connection.CDOConnectionUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.AbstractCDOTest;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Text;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnCreationWizardTest extends AbstractCDOTest
+{
+ public void testCreationWizardSetWrongDiagramName() throws Exception
+ {
+ CDOSession session = openSession();
+ CDOConnectionUtil.instance.openView(session);
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setVisible(true);
+ assertNotNull(dawnDiagramModelFilePage);
+ assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+ assertEquals("", dawnDiagramModelFilePage.getResourcePath());
+ assertEquals("default", dawnDiagramModelFilePage.getResourceNamePrefix());
+ assertEquals("dawn://repo1//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
+
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+
+ dawnDiagramModelFilePage.setResourceNamePrefix("");
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(false, dawnDiagramModelFilePage.isPageComplete());
+
+ dawnDiagramModelFilePage.setResourceNamePrefix("myDiagram");
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+ }
+
+ public void testCreationWizardSetWrongSemanticNameWarn_Default() throws Exception
+ {
+ CDOSession session = openSession();
+ CDOConnectionUtil.instance.openView(session);
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
+ .getNextPage();
+
+ dawnDomainModelFilePage.setVisible(true);
+
+ callValidatePage(dawnDomainModelFilePage);
+ assertEquals(true, dawnDomainModelFilePage.isPageComplete());
+
+ dawnDomainModelFilePage.setResourceNamePrefix("");
+ callValidatePage(dawnDomainModelFilePage);
+ assertEquals("", getResourceText(dawnDomainModelFilePage).getText());
+ assertEquals(true, dawnDomainModelFilePage.isPageComplete());
+
+ dawnDomainModelFilePage.setResourceNamePrefix("something.acore");
+ callValidatePage(dawnDomainModelFilePage);
+ assertEquals(true, dawnDomainModelFilePage.isPageComplete());
+
+ assertEquals("something.acore", dawnDomainModelFilePage.getDefaultName());
+ }
+
+ public void testCreationWizardSetWrongSemanticNameError() throws Exception
+ {
+ CDOSession session = openSession();
+ CDOConnectionUtil.instance.openView(session);
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
+ .getNextPage();
+
+ dawnDomainModelFilePage.setVisible(true);
+ dawnDomainModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_ERROR);
+
+ assertEquals(ResourceChooserValidator.VALIDATION_ERROR, dawnDiagramModelFilePage.getResourceValidationType());
+
+ dawnDomainModelFilePage.setResourceNamePrefix("");
+ callValidatePage(dawnDomainModelFilePage);
+
+ assertEquals("", getResourceText(dawnDomainModelFilePage).getText());
+ assertEquals(false, dawnDomainModelFilePage.isPageComplete());
+ }
+
+ public void testCreationWizardCreateAutomaticName() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ transaction.createResource("/default.acore_diagram");
+ transaction.commit();
+ transaction.close();
+ }
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setCreateAutomaticResourceName(true);
+ dawnDiagramModelFilePage.setVisible(true);
+
+ assertEquals("default2.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
+ }
+
+ public void testCreationWizardSetExistingResourceError() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ transaction.createResource("/default5.acore_diagram");
+ transaction.commit();
+ transaction.close();
+ }
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setVisible(true);
+ dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_ERROR);
+ assertEquals(ResourceChooserValidator.VALIDATION_ERROR, dawnDiagramModelFilePage.getResourceValidationType());
+
+ dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
+ assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(false, dawnDiagramModelFilePage.isPageComplete());
+ assertEquals("A resource with the same name already exists!", dawnDiagramModelFilePage.getErrorMessage());
+ }
+
+ public void testCreationWizardSetExistingResourceWarn() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ transaction.createResource("/default5.acore_diagram");
+ transaction.commit();
+ transaction.close();
+ }
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setVisible(true);
+ dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_WARN);
+ assertEquals(ResourceChooserValidator.VALIDATION_WARN, dawnDiagramModelFilePage.getResourceValidationType());
+
+ dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
+ assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+ assertEquals("A resource with the same name already exists!", dawnDiagramModelFilePage.getMessage());
+ }
+
+ public void testCreationWizardSetExistingResourceNone() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ CDOTransaction transaction = session.openTransaction(resourceSet);
+
+ transaction.createResource("/default5.acore_diagram");
+ transaction.commit();
+ transaction.close();
+ }
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setVisible(true);
+ dawnDiagramModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_NONE);
+ assertEquals(ResourceChooserValidator.VALIDATION_NONE, dawnDiagramModelFilePage.getResourceValidationType());
+
+ dawnDiagramModelFilePage.setResourceNamePrefix("default5.acore_diagram");
+ assertEquals("default5.acore_diagram", getResourceText(dawnDiagramModelFilePage).getText());
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+ assertEquals(null, dawnDiagramModelFilePage.getErrorMessage());
+ }
+
+ public void testCreationWizardCreateResources() throws Exception
+ {
+ {
+ CDOSession session = openSession();
+ ResourceSet resourceSet = new ResourceSetImpl();
+ session.openTransaction(resourceSet);
+
+ final URI uri = URI.createURI("cdo:/folder/dummy");
+ resourceSet.createResource(uri);
+ }
+
+ DawnAcoreCreationWizard creationWizard = new DawnAcoreCreationWizard();
+
+ WizardDialog dialog = new WizardDialog(DawnEditorHelper.getActiveShell(), creationWizard);
+ dialog.create();
+
+ IWizardPage[] pages = creationWizard.getPages();
+
+ DawnCreateNewDiagramResourceWizardPage dawnDiagramModelFilePage = (DawnCreateNewDiagramResourceWizardPage)pages[0];
+ dawnDiagramModelFilePage.setVisible(true);
+ assertNotNull(dawnDiagramModelFilePage);
+ assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+ assertEquals("", dawnDiagramModelFilePage.getResourcePath());
+ assertEquals("default", dawnDiagramModelFilePage.getResourceNamePrefix());
+ assertEquals("dawn://repo1//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
+
+ // TODO create a folder here first
+ // set the resource path as a user would do
+ dawnDiagramModelFilePage.setResourcePath("/folder");
+ assertEquals("/folder/", dawnDiagramModelFilePage.getResourcePath());
+ assertEquals("dawn://repo1//folder//default.acore_diagram", dawnDiagramModelFilePage.getURI().toString());
+
+ callValidatePage(dawnDiagramModelFilePage);
+ assertEquals(true, dawnDiagramModelFilePage.isPageComplete());
+
+ DawnCreateNewResourceWizardPage dawnDomainModelFilePage = (DawnCreateNewResourceWizardPage)dawnDiagramModelFilePage
+ .getNextPage();
+ dawnDiagramModelFilePage.setVisible(false);
+ dawnDomainModelFilePage.setVisible(true);
+
+ callValidatePage(dawnDomainModelFilePage);
+ assertEquals(true, dawnDomainModelFilePage.isPageComplete());
+ assertNotNull(dawnDomainModelFilePage);
+ assertInstanceOf(DawnCreateNewResourceWizardPage.class, dawnDomainModelFilePage);
+ assertEquals("default.acore", dawnDomainModelFilePage.getDefaultName());
+ assertEquals("cdo://repo1/folder/default.acore", dawnDomainModelFilePage.getURI().toString());
+
+ boolean performFinish = creationWizard.performFinish();
+ assertEquals(true, performFinish);
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource semanticResource = transaction.getResource("/folder/default.acore");
+
+ CDOResource diagramResource = transaction.getResource("/folder/default.acore_diagram");
+ assertNotNull(diagramResource);
+ Diagram diagramRoot = (Diagram)diagramResource.getContents().get(0);
+ assertEquals(semanticResource.getContents().get(0), diagramRoot.getElement());
+ transaction.close();
+ }
+ // cleanup
+ DawnEditorHelper.getActiveEditor().getSite().getPage().closeAllEditors(false);
+ }
+
+ private void callValidatePage(DawnCreateNewResourceWizardPage page) throws Exception
+ {
+ Class<DawnCreateNewResourceWizardPage> clazz = DawnCreateNewResourceWizardPage.class;
+ java.lang.Class<Object>[] parameterType = null;
+ Method method = clazz.getDeclaredMethod("validatePage", parameterType);
+ method.setAccessible(true);
+ Object[] args = null;
+ method.invoke(page, args);
+ }
+
+ private Text getResourceText(DawnCreateNewResourceWizardPage dawnDomainModelFilePage) throws Exception
+ {
+ Class<DawnCreateNewResourceWizardPage> clazz = DawnCreateNewResourceWizardPage.class;
+ Field field = clazz.getDeclaredField("resourceText");
+ field.setAccessible(true);
+ return (Text)field.get(dawnDomainModelFilePage);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/GMFLockingTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/GMFLockingTest.java
index 153ec2e21e..330d766cc3 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/GMFLockingTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/GMFLockingTest.java
@@ -1,128 +1,128 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
-
-import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.dawn.ui.DawnColorConstants;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.util.CDOUtil;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.ui.IEditorPart;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class GMFLockingTest extends AbstractDawnGEFTest
-{
- @Test
- public void testAClassLockRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- assertEquals(1, diagram.getChildren().size());
-
- Node nodeA = (Node)diagram.getChildren().get(0);
-
- CDOUtil.getCDOObject(nodeA).cdoWriteLock().lock();
- }
- sleep(500);
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
-
- assertEquals(true, DawnAcoreTestUtil.showsLock(classBEditpart.part(), DawnColorConstants.COLOR_LOCKED_REMOTELY));
- }
-
- @Test
- public void testAClassLockLocally() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- editor.save();
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
- EditPart part = classBEditpart.part();
-
- List<Object> toBeLocked = new ArrayList<Object>();
- toBeLocked.add(part);
-
- IEditorPart editorPart = editor.getReference().getEditor(false);
- ((IDawnEditor)editorPart).getDawnEditorSupport().lockObjects(toBeLocked);
-
- assertEquals(true, DawnAcoreTestUtil.showsLock(part, DawnColorConstants.COLOR_LOCKED_LOCALLY));
- }
-
- @Test
- public void testAClassUnlockRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- editor.save();
-
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- assertEquals(1, diagram.getChildren().size());
-
- Node nodeA = (Node)diagram.getChildren().get(0);
-
- CDOUtil.getCDOObject(nodeA).cdoWriteLock().lock();
-
- sleep(500);
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
-
- assertEquals(true, DawnAcoreTestUtil.showsLock(classBEditpart.part(), DawnColorConstants.COLOR_LOCKED_REMOTELY));
-
- CDOUtil.getCDOObject(nodeA).cdoWriteLock().unlock();
-
- assertEquals(true, DawnAcoreTestUtil.showsNoLock(classBEditpart.part()));
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
+
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.dawn.ui.DawnColorConstants;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CDOUtil;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.ui.IEditorPart;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class GMFLockingTest extends AbstractDawnGEFTest
+{
+ @Test
+ public void testAClassLockRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ assertEquals(1, diagram.getChildren().size());
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+
+ CDOUtil.getCDOObject(nodeA).cdoWriteLock().lock();
+ }
+ sleep(500);
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
+
+ assertEquals(true, DawnAcoreTestUtil.showsLock(classBEditpart.part(), DawnColorConstants.COLOR_LOCKED_REMOTELY));
+ }
+
+ @Test
+ public void testAClassLockLocally() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ editor.save();
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
+ EditPart part = classBEditpart.part();
+
+ List<Object> toBeLocked = new ArrayList<Object>();
+ toBeLocked.add(part);
+
+ IEditorPart editorPart = editor.getReference().getEditor(false);
+ ((IDawnEditor)editorPart).getDawnEditorSupport().lockObjects(toBeLocked);
+
+ assertEquals(true, DawnAcoreTestUtil.showsLock(part, DawnColorConstants.COLOR_LOCKED_LOCALLY));
+ }
+
+ @Test
+ public void testAClassUnlockRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ editor.save();
+
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ assertEquals(1, diagram.getChildren().size());
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+
+ CDOUtil.getCDOObject(nodeA).cdoWriteLock().lock();
+
+ sleep(500);
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
+
+ assertEquals(true, DawnAcoreTestUtil.showsLock(classBEditpart.part(), DawnColorConstants.COLOR_LOCKED_REMOTELY));
+
+ CDOUtil.getCDOObject(nodeA).cdoWriteLock().unlock();
+
+ assertEquals(true, DawnAcoreTestUtil.showsNoLock(classBEditpart.part()));
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/MultipleResourcesDeletionTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/MultipleResourcesDeletionTest.java
index 7a8a9c7af2..edf26b2508 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/MultipleResourcesDeletionTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/MultipleResourcesDeletionTest.java
@@ -1,311 +1,311 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.util.CommitException;
-
-import org.eclipse.emf.ecore.EObject;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class MultipleResourcesDeletionTest extends AbstractDawnGEFTest
-{
- private static SWTGefBot bot;
-
- @BeforeClass
- public static void beforeClass() throws Exception
- {
- bot = new SWTGefBot();
- DawnSWTBotUtil.initTest(bot);
- }
-
- @Override
- @Before
- public void setUp() throws Exception
- {
- super.setUp();
- bot.viewByTitle("CDO Sessions").close();
- }
-
- @Override
- @After
- public void tearDown() throws Exception
- {
- // closeAllEditors();
- super.tearDown();
- }
-
- // @Test
- public void testDeleteAClassRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- Node nodeA = (Node)diagram.getChildren().get(0);
- EObject aClass = nodeA.getElement();
-
- diagram.removeChild(nodeA);
- ((ACoreRoot)diagram.getElement()).getClasses().remove(aClass);
-
- transaction.commit();
- DawnAcoreTestUtil.sleep(1000);
- }
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- assertEquals(0, aClassEditParts.size());
- Diagram diagram = (Diagram)editor.mainEditPart().part().getModel();
- ACoreRoot aCoreRoot = (ACoreRoot)diagram.getElement();
-
- assertEquals(0, aCoreRoot.getClasses().size());
- editor.close();
- }
-
- // @Test
- public void testDeleteAInterfaceRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 100, 100, "A", bot, editor);
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- Node nodeA = (Node)diagram.getChildren().get(0);
- EObject element = nodeA.getElement();
-
- diagram.removeChild(nodeA);
- ((ACoreRoot)diagram.getElement()).getInterfaces().remove(element);
-
- transaction.commit();
- sleep(1000);
- }
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- assertEquals(0, aClassEditParts.size());
- Diagram diagram = (Diagram)editor.mainEditPart().part().getModel();
- ACoreRoot aCoreRoot = (ACoreRoot)diagram.getElement();
-
- assertEquals(0, aCoreRoot.getInterfaces().size());
- editor.close();
- }
-
- @Test
- public void testDeleteAssociationConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", bot, editor);
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
-
- Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
- Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
-
- createEdge(DawnAcoreTestUtil.CONNECTION_ASSOCIATION, nodeA, nodeB, editor);
- editor.save();
-
- deleteEdge();
-
- List<Edge> connectionEditParts = getAllConnections(editor.mainEditPart().part());
- assertEquals(0, connectionEditParts.size());
- sleep(1000);
- }
-
- @SuppressWarnings("unchecked")
- private List<Edge> getAllConnections(EditPart part)
- {
- Diagram diagram = (Diagram)part.getModel();
- return diagram.getEdges();
- }
-
- @Test
- public void testDeleteCompositionConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", bot, editor);
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
-
- Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
- Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
-
- createEdge(DawnAcoreTestUtil.CONNECTION_COMPOSITION, nodeA, nodeB, editor);
- editor.save();
-
- deleteEdge();
-
- List<Edge> connectionEditParts = getAllConnections(editor.mainEditPart().part());
- assertEquals(0, connectionEditParts.size());
- }
-
- @Test
- public void testDeleteInheritanceConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", bot, editor);
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
-
- Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
- Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
-
- createEdge(DawnAcoreTestUtil.CONNECTION_IHERITS, nodeA, nodeB, editor);
- editor.save();
-
- deleteEdge();
-
- List<Edge> connectionEditParts = getAllConnections(editor.mainEditPart().part());
- assertEquals(0, connectionEditParts.size());
- }
-
- @Test
- public void testDeleteImplementsConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 200, 200, "B", bot, editor);
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- List<SWTBotGefEditPart> aInterfaceEditParts = DawnAcoreTestUtil.getAInterfaceEditParts(editor);
-
- Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
- Node nodeB = (Node)aInterfaceEditParts.get(0).part().getModel();
-
- createEdge(DawnAcoreTestUtil.CONNECTION_IMPLEMENTS, nodeA, nodeB, editor);
- editor.save();
-
- deleteEdge();
-
- List<Edge> connectionEditParts = getAllConnections(editor.mainEditPart().part());
- assertEquals(0, connectionEditParts.size());
- }
-
- @Test
- public void testDeleteAggregationConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", bot, editor);
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
-
- Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
- Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
-
- createEdge(DawnAcoreTestUtil.CONNECTION_AGGREGATION, nodeA, nodeB, editor);
- editor.save();
-
- deleteEdge();
-
- List<Edge> connectionEditParts = getAllConnections(editor.mainEditPart().part());
- assertEquals(0, connectionEditParts.size());
- }
-
- private void deleteEdge() throws CommitException
- {
- {
- CDOSession session = openSession("repo1");
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- Edge edge = (Edge)diagram.getEdges().get(0);
- edge.setSource(null);
- edge.setTarget(null);
- diagram.removeEdge(edge);
- transaction.commit();
-
- sleep(1000);
- }
- }
- /**
- * left for future reference
- */
- // private class EdgeDeletionThread extends Thread
- // {
- // private final CountDownLatch cdl;
- //
- // public EdgeDeletionThread(CountDownLatch cdl)
- // {
- // this.cdl = cdl;
- // setDaemon(true);
- // }
- //
- // @Override
- // public void run()
- // {
- // CDOSession session = openSession();
- // CDOTransaction transaction = session.openTransaction();
- // CDOResource resource2 = transaction.getResource("/default.acore_diagram");
- //
- // Diagram diagram = (Diagram)resource2.getContents().get(0);
- //
- // Edge edge = (Edge)diagram.getEdges().get(0);
- // diagram.removeEdge(edge);
- // try
- // {
- // transaction.commit();
- // }
- // catch (CommitException ex)
- // {
- // throw new RuntimeException(ex);
- // }
- // finally
- // {
- // transaction.close();
- // cdl.countDown();
- // }
- // }
- // }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+import org.eclipse.emf.cdo.util.CommitException;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class MultipleResourcesDeletionTest extends AbstractDawnGEFTest
+{
+ private static SWTGefBot bot;
+
+ @BeforeClass
+ public static void beforeClass() throws Exception
+ {
+ bot = new SWTGefBot();
+ DawnSWTBotUtil.initTest(bot);
+ }
+
+ @Override
+ @Before
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ bot.viewByTitle("CDO Sessions").close();
+ }
+
+ @Override
+ @After
+ public void tearDown() throws Exception
+ {
+ // closeAllEditors();
+ super.tearDown();
+ }
+
+ // @Test
+ public void testDeleteAClassRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+ EObject aClass = nodeA.getElement();
+
+ diagram.removeChild(nodeA);
+ ((ACoreRoot)diagram.getElement()).getClasses().remove(aClass);
+
+ transaction.commit();
+ DawnAcoreTestUtil.sleep(1000);
+ }
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ assertEquals(0, aClassEditParts.size());
+ Diagram diagram = (Diagram)editor.mainEditPart().part().getModel();
+ ACoreRoot aCoreRoot = (ACoreRoot)diagram.getElement();
+
+ assertEquals(0, aCoreRoot.getClasses().size());
+ editor.close();
+ }
+
+ // @Test
+ public void testDeleteAInterfaceRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 100, 100, "A", bot, editor);
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+ EObject element = nodeA.getElement();
+
+ diagram.removeChild(nodeA);
+ ((ACoreRoot)diagram.getElement()).getInterfaces().remove(element);
+
+ transaction.commit();
+ sleep(1000);
+ }
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ assertEquals(0, aClassEditParts.size());
+ Diagram diagram = (Diagram)editor.mainEditPart().part().getModel();
+ ACoreRoot aCoreRoot = (ACoreRoot)diagram.getElement();
+
+ assertEquals(0, aCoreRoot.getInterfaces().size());
+ editor.close();
+ }
+
+ @Test
+ public void testDeleteAssociationConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", bot, editor);
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+
+ Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
+ Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
+
+ createEdge(DawnAcoreTestUtil.CONNECTION_ASSOCIATION, nodeA, nodeB, editor);
+ editor.save();
+
+ deleteEdge();
+
+ List<Edge> connectionEditParts = getAllConnections(editor.mainEditPart().part());
+ assertEquals(0, connectionEditParts.size());
+ sleep(1000);
+ }
+
+ @SuppressWarnings("unchecked")
+ private List<Edge> getAllConnections(EditPart part)
+ {
+ Diagram diagram = (Diagram)part.getModel();
+ return diagram.getEdges();
+ }
+
+ @Test
+ public void testDeleteCompositionConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", bot, editor);
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+
+ Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
+ Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
+
+ createEdge(DawnAcoreTestUtil.CONNECTION_COMPOSITION, nodeA, nodeB, editor);
+ editor.save();
+
+ deleteEdge();
+
+ List<Edge> connectionEditParts = getAllConnections(editor.mainEditPart().part());
+ assertEquals(0, connectionEditParts.size());
+ }
+
+ @Test
+ public void testDeleteInheritanceConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", bot, editor);
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+
+ Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
+ Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
+
+ createEdge(DawnAcoreTestUtil.CONNECTION_IHERITS, nodeA, nodeB, editor);
+ editor.save();
+
+ deleteEdge();
+
+ List<Edge> connectionEditParts = getAllConnections(editor.mainEditPart().part());
+ assertEquals(0, connectionEditParts.size());
+ }
+
+ @Test
+ public void testDeleteImplementsConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 200, 200, "B", bot, editor);
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ List<SWTBotGefEditPart> aInterfaceEditParts = DawnAcoreTestUtil.getAInterfaceEditParts(editor);
+
+ Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
+ Node nodeB = (Node)aInterfaceEditParts.get(0).part().getModel();
+
+ createEdge(DawnAcoreTestUtil.CONNECTION_IMPLEMENTS, nodeA, nodeB, editor);
+ editor.save();
+
+ deleteEdge();
+
+ List<Edge> connectionEditParts = getAllConnections(editor.mainEditPart().part());
+ assertEquals(0, connectionEditParts.size());
+ }
+
+ @Test
+ public void testDeleteAggregationConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", bot);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", bot, editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", bot, editor);
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+
+ Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
+ Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
+
+ createEdge(DawnAcoreTestUtil.CONNECTION_AGGREGATION, nodeA, nodeB, editor);
+ editor.save();
+
+ deleteEdge();
+
+ List<Edge> connectionEditParts = getAllConnections(editor.mainEditPart().part());
+ assertEquals(0, connectionEditParts.size());
+ }
+
+ private void deleteEdge() throws CommitException
+ {
+ {
+ CDOSession session = openSession("repo1");
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ Edge edge = (Edge)diagram.getEdges().get(0);
+ edge.setSource(null);
+ edge.setTarget(null);
+ diagram.removeEdge(edge);
+ transaction.commit();
+
+ sleep(1000);
+ }
+ }
+ /**
+ * left for future reference
+ */
+ // private class EdgeDeletionThread extends Thread
+ // {
+ // private final CountDownLatch cdl;
+ //
+ // public EdgeDeletionThread(CountDownLatch cdl)
+ // {
+ // this.cdl = cdl;
+ // setDaemon(true);
+ // }
+ //
+ // @Override
+ // public void run()
+ // {
+ // CDOSession session = openSession();
+ // CDOTransaction transaction = session.openTransaction();
+ // CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+ //
+ // Diagram diagram = (Diagram)resource2.getContents().get(0);
+ //
+ // Edge edge = (Edge)diagram.getEdges().get(0);
+ // diagram.removeEdge(edge);
+ // try
+ // {
+ // transaction.commit();
+ // }
+ // catch (CommitException ex)
+ // {
+ // throw new RuntimeException(ex);
+ // }
+ // finally
+ // {
+ // transaction.close();
+ // cdl.countDown();
+ // }
+ // }
+ // }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/MultipleResourcesTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/MultipleResourcesTest.java
index e1e1caca79..9b098bb2b6 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/MultipleResourcesTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/MultipleResourcesTest.java
@@ -1,498 +1,498 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.notation.Bounds;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.NotationFactory;
-import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class MultipleResourcesTest extends AbstractDawnGEFTest
-{
- @Test
- public void testRemotelyRenameAClass() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
-
- editor.save();
-
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 250, 100, "B", getBot(), editor);
-
- editor.save();
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- assertEquals(2, diagram.getChildren().size());
-
- View nodeB = (View)diagram.getChildren().get(1);
-
- AClass classB = (AClass)nodeB.getElement();
-
- assertEquals("B", classB.getName());
-
- classB.setName("C");
- transaction.commit();
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- SWTBotGefEditPart classBEditpart = aClassEditParts.get(1);
- AClass editorClassB = (AClass)((View)classBEditpart.part().getModel()).getElement();
- assertEquals("C", editorClassB.getName());
- }
-
- @Test
- public void testRemotelyMoveNode() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
-
- editor.save();
-
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- assertEquals(1, diagram.getChildren().size());
-
- Node nodeA = (Node)diagram.getChildren().get(0);
-
- Bounds bounds = (Bounds)nodeA.getLayoutConstraint();
- bounds.setHeight(40);
- bounds.setWidth(30);
- bounds.setX(200);
- bounds.setY(250);
-
- transaction.commit();
-
- sleep(500);
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
- Node editorNodeA = (Node)classBEditpart.part().getModel();
- Bounds editorBounds = (Bounds)editorNodeA.getLayoutConstraint();
-
- assertEquals(bounds.getX(), editorBounds.getX());
- assertEquals(bounds.getY(), editorBounds.getY());
- assertEquals(bounds.getWidth(), editorBounds.getWidth());
- assertEquals(bounds.getHeight(), editorBounds.getHeight());
- }
-
- @Test
- public void testCreateNodeRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
- editor.save();
-
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- ACoreRoot aCoreRoot = (ACoreRoot)diagram.getElement();
-
- AClass newAClass = AcoreFactory.eINSTANCE.createAClass();
- newAClass.setName("A-Team");
-
- aCoreRoot.getClasses().add(newAClass);
-
- Node newNode = DawnAcoreTestUtil.createNewAClassRemote(diagram, newAClass);
-
- newNode.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
- Bounds bounds = (Bounds)newNode.getLayoutConstraint();
- bounds.setHeight(40);
- bounds.setWidth(30);
- bounds.setX(200);
- bounds.setY(250);
-
- newNode.setElement(newAClass);
-
- assertEquals(1, diagram.getChildren().size());
- assertEquals(1, aCoreRoot.getClasses().size());
-
- transaction.commit();
-
- sleep(1000);
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
-
- assertEquals(1, aClassEditParts.size());
-
- SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
- Node editorNewNode = (Node)classBEditpart.part().getModel();
- AClass editorNewAclass = (AClass)editorNewNode.getElement();
-
- assertEquals("A-Team", editorNewAclass.getName());
- Bounds editorBounds = (Bounds)editorNewNode.getLayoutConstraint();
-
- assertEquals(bounds.getX(), editorBounds.getX());
- assertEquals(bounds.getY(), editorBounds.getY());
- assertEquals(bounds.getWidth(), editorBounds.getWidth());
- assertEquals(bounds.getHeight(), editorBounds.getHeight());
-
- }
-
- @Test
- public void testAddNodeRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
-
- editor.save();
-
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- Node newNode = EcoreUtil.copy((Node)diagram.getChildren().get(0));// diagram.createChild(NotationPackage.eINSTANCE.getNode());
-
- newNode.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
- Bounds bounds = (Bounds)newNode.getLayoutConstraint();
- bounds.setHeight(40);
- bounds.setWidth(30);
- bounds.setX(200);
- bounds.setY(250);
-
- AClass newAClass = AcoreFactory.eINSTANCE.createAClass();
- newAClass.setName("A-Team");
- newNode.setElement(newAClass);
-
- ACoreRoot aCoreRoot = (ACoreRoot)diagram.getElement();
- aCoreRoot.getClasses().add(newAClass);
-
- diagram.insertChild(newNode);
- assertEquals(2, diagram.getChildren().size());
- assertEquals(2, aCoreRoot.getClasses().size());
-
- transaction.commit();
-
- sleep(1000);
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
-
- assertEquals(2, aClassEditParts.size());
-
- SWTBotGefEditPart classBEditpart = aClassEditParts.get(1);
- Node editorNewNode = (Node)classBEditpart.part().getModel();
- AClass editorNewAclass = (AClass)editorNewNode.getElement();
-
- assertEquals("A-Team", editorNewAclass.getName());
- Bounds editorBounds = (Bounds)editorNewNode.getLayoutConstraint();
-
- assertEquals(bounds.getX(), editorBounds.getX());
- assertEquals(bounds.getY(), editorBounds.getY());
- assertEquals(bounds.getWidth(), editorBounds.getWidth());
- assertEquals(bounds.getHeight(), editorBounds.getHeight());
- }
-
- @Test
- public void testModifyConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
-
- Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
- Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
-
- createEdge(DawnAcoreTestUtil.CONNECTION_ASSOCIATION, nodeA, nodeB, editor);
- editor.save();
-
- {
- List<SWTBotGefEditPart> aaClassAssociationsEditParts = DawnAcoreTestUtil.getAClassAssociationsEditParts(editor);
- assertEquals(1, aaClassAssociationsEditParts.size());
- EditPart part = aaClassAssociationsEditParts.get(0).part();
- Edge editorEdge = (Edge)part.getModel();
- assertEquals(2, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
- }
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
- List<?> edges = diagram.getEdges();
- assertEquals(1, edges.size());
-
- Edge edge = (Edge)edges.get(0);
-
- RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
-
- RelativeBendpoints relativeBendpoints = (RelativeBendpoints)edge.getBendpoints();
-
- @SuppressWarnings("unchecked")
- List<RelativeBendpoint> points = relativeBendpoints.getPoints();
- List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>(points);
- newBendPoints.add(1, relativeBendpoint);
- relativeBendpoints.setPoints(newBendPoints);
-
- transaction.commit();
- sleep(1000);
- }
-
- List<SWTBotGefEditPart> aaClassAssociationsEditParts = DawnAcoreTestUtil.getAClassAssociationsEditParts(editor);
- assertEquals(1, aaClassAssociationsEditParts.size());
- EditPart part = aaClassAssociationsEditParts.get(0).part();
- Edge editorEdge = (Edge)part.getModel();
- assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
- }
-
- @Test
- public void testCreateAssociationConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
-
- editor.save();
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- Node nodeA = (Node)diagram.getChildren().get(0);
- Node nodeB = (Node)diagram.getChildren().get(1);
-
- List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
-
- RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
- newBendPoints.add(relativeBendpoint);
-
- Edge edge = DawnAcoreTestUtil.createNewAssociationRemote(nodeA, nodeB, newBendPoints);
-
- assertNotNull(edge);
- transaction.commit();
- sleep(1000);
- }
- List<SWTBotGefEditPart> connectionEditParts = DawnSWTBotUtil.getAllConnections(editor);
- assertEquals(1, connectionEditParts.size());
- EditPart part = connectionEditParts.get(0).part();
- assertInstanceOf(AClassAssociationsEditPart.class, part);
- assertInstanceOf(Edge.class, part.getModel());
- Edge editorEdge = (Edge)part.getModel();
- assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
- }
-
- @Test
- public void testCreateAggregationConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
- editor.save();
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- Node nodeA = (Node)diagram.getChildren().get(0);
- Node nodeB = (Node)diagram.getChildren().get(1);
-
- List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
-
- RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
- newBendPoints.add(relativeBendpoint);
-
- Edge edge = DawnAcoreTestUtil.createNewAggregationRemote(nodeA, nodeB, newBendPoints);
-
- assertNotNull(edge);
- transaction.commit();
- sleep(1000);
- }
- List<SWTBotGefEditPart> connectionEditParts = DawnSWTBotUtil.getAllConnections(editor);
- assertEquals(1, connectionEditParts.size());
- EditPart part = connectionEditParts.get(0).part();
- assertInstanceOf(AClassAggregationsEditPart.class, part);
- assertInstanceOf(Edge.class, part.getModel());
- Edge editorEdge = (Edge)part.getModel();
- assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
- }
-
- @Test
- public void testCreateCompositionConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
-
- editor.save();
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- Node nodeA = (Node)diagram.getChildren().get(0);
- Node nodeB = (Node)diagram.getChildren().get(1);
-
- List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
-
- RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
- newBendPoints.add(relativeBendpoint);
-
- Edge edge = DawnAcoreTestUtil.createNewCompositionRemote(nodeA, nodeB, newBendPoints);
-
- assertNotNull(edge);
- transaction.commit();
- sleep(1000);
- }
- List<SWTBotGefEditPart> connectionEditParts = DawnSWTBotUtil.getAllConnections(editor);
- assertEquals(1, connectionEditParts.size());
- EditPart part = connectionEditParts.get(0).part();
- assertInstanceOf(AClassCompositionsEditPart.class, part);
- assertInstanceOf(Edge.class, part.getModel());
- Edge editorEdge = (Edge)part.getModel();
- assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
- }
-
- @Test
- public void testCreateInheritanceConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
-
- editor.save();
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- Node nodeA = (Node)diagram.getChildren().get(0);
- Node nodeB = (Node)diagram.getChildren().get(1);
-
- List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
-
- RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
- newBendPoints.add(relativeBendpoint);
-
- Edge edge = DawnAcoreTestUtil.createNewInheritanceRelationRemote(nodeA, nodeB, newBendPoints);
-
- assertNotNull(edge);
- transaction.commit();
- sleep(1000);
- }
- List<SWTBotGefEditPart> connectionEditParts = DawnSWTBotUtil.getAllConnections(editor);
- assertEquals(1, connectionEditParts.size());
- EditPart part = connectionEditParts.get(0).part();
- assertInstanceOf(AClassSubClassesEditPart.class, part);
- assertInstanceOf(Edge.class, part.getModel());
- Edge editorEdge = (Edge)part.getModel();
- assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
- }
-
- @Test
- public void testCreateImplementsConnectionRemotely() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
-
- createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
-
- editor.save();
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- Node nodeA = (Node)diagram.getChildren().get(0);
- Node nodeB = (Node)diagram.getChildren().get(1);
-
- List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
-
- RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
- newBendPoints.add(relativeBendpoint);
-
- Edge edge = DawnAcoreTestUtil.createNewImplementsRelationRemote(nodeA, nodeB, newBendPoints);
-
- assertNotNull(edge);
- transaction.commit();
- sleep(1000);
- }
- List<SWTBotGefEditPart> connectionEditParts = DawnSWTBotUtil.getAllConnections(editor);
- assertEquals(1, connectionEditParts.size());
- EditPart part = connectionEditParts.get(0).part();
- assertInstanceOf(AClassImplementedInterfacesEditPart.class, part);
- assertInstanceOf(Edge.class, part.getModel());
- Edge editorEdge = (Edge)part.getModel();
- assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AcoreFactory;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class MultipleResourcesTest extends AbstractDawnGEFTest
+{
+ @Test
+ public void testRemotelyRenameAClass() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+
+ editor.save();
+
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 250, 100, "B", getBot(), editor);
+
+ editor.save();
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ assertEquals(2, diagram.getChildren().size());
+
+ View nodeB = (View)diagram.getChildren().get(1);
+
+ AClass classB = (AClass)nodeB.getElement();
+
+ assertEquals("B", classB.getName());
+
+ classB.setName("C");
+ transaction.commit();
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ SWTBotGefEditPart classBEditpart = aClassEditParts.get(1);
+ AClass editorClassB = (AClass)((View)classBEditpart.part().getModel()).getElement();
+ assertEquals("C", editorClassB.getName());
+ }
+
+ @Test
+ public void testRemotelyMoveNode() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+
+ editor.save();
+
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ assertEquals(1, diagram.getChildren().size());
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+
+ Bounds bounds = (Bounds)nodeA.getLayoutConstraint();
+ bounds.setHeight(40);
+ bounds.setWidth(30);
+ bounds.setX(200);
+ bounds.setY(250);
+
+ transaction.commit();
+
+ sleep(500);
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
+ Node editorNodeA = (Node)classBEditpart.part().getModel();
+ Bounds editorBounds = (Bounds)editorNodeA.getLayoutConstraint();
+
+ assertEquals(bounds.getX(), editorBounds.getX());
+ assertEquals(bounds.getY(), editorBounds.getY());
+ assertEquals(bounds.getWidth(), editorBounds.getWidth());
+ assertEquals(bounds.getHeight(), editorBounds.getHeight());
+ }
+
+ @Test
+ public void testCreateNodeRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+ editor.save();
+
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ ACoreRoot aCoreRoot = (ACoreRoot)diagram.getElement();
+
+ AClass newAClass = AcoreFactory.eINSTANCE.createAClass();
+ newAClass.setName("A-Team");
+
+ aCoreRoot.getClasses().add(newAClass);
+
+ Node newNode = DawnAcoreTestUtil.createNewAClassRemote(diagram, newAClass);
+
+ newNode.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+ Bounds bounds = (Bounds)newNode.getLayoutConstraint();
+ bounds.setHeight(40);
+ bounds.setWidth(30);
+ bounds.setX(200);
+ bounds.setY(250);
+
+ newNode.setElement(newAClass);
+
+ assertEquals(1, diagram.getChildren().size());
+ assertEquals(1, aCoreRoot.getClasses().size());
+
+ transaction.commit();
+
+ sleep(1000);
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+
+ assertEquals(1, aClassEditParts.size());
+
+ SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
+ Node editorNewNode = (Node)classBEditpart.part().getModel();
+ AClass editorNewAclass = (AClass)editorNewNode.getElement();
+
+ assertEquals("A-Team", editorNewAclass.getName());
+ Bounds editorBounds = (Bounds)editorNewNode.getLayoutConstraint();
+
+ assertEquals(bounds.getX(), editorBounds.getX());
+ assertEquals(bounds.getY(), editorBounds.getY());
+ assertEquals(bounds.getWidth(), editorBounds.getWidth());
+ assertEquals(bounds.getHeight(), editorBounds.getHeight());
+
+ }
+
+ @Test
+ public void testAddNodeRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+
+ editor.save();
+
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ Node newNode = EcoreUtil.copy((Node)diagram.getChildren().get(0));// diagram.createChild(NotationPackage.eINSTANCE.getNode());
+
+ newNode.setLayoutConstraint(NotationFactory.eINSTANCE.createBounds());
+ Bounds bounds = (Bounds)newNode.getLayoutConstraint();
+ bounds.setHeight(40);
+ bounds.setWidth(30);
+ bounds.setX(200);
+ bounds.setY(250);
+
+ AClass newAClass = AcoreFactory.eINSTANCE.createAClass();
+ newAClass.setName("A-Team");
+ newNode.setElement(newAClass);
+
+ ACoreRoot aCoreRoot = (ACoreRoot)diagram.getElement();
+ aCoreRoot.getClasses().add(newAClass);
+
+ diagram.insertChild(newNode);
+ assertEquals(2, diagram.getChildren().size());
+ assertEquals(2, aCoreRoot.getClasses().size());
+
+ transaction.commit();
+
+ sleep(1000);
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+
+ assertEquals(2, aClassEditParts.size());
+
+ SWTBotGefEditPart classBEditpart = aClassEditParts.get(1);
+ Node editorNewNode = (Node)classBEditpart.part().getModel();
+ AClass editorNewAclass = (AClass)editorNewNode.getElement();
+
+ assertEquals("A-Team", editorNewAclass.getName());
+ Bounds editorBounds = (Bounds)editorNewNode.getLayoutConstraint();
+
+ assertEquals(bounds.getX(), editorBounds.getX());
+ assertEquals(bounds.getY(), editorBounds.getY());
+ assertEquals(bounds.getWidth(), editorBounds.getWidth());
+ assertEquals(bounds.getHeight(), editorBounds.getHeight());
+ }
+
+ @Test
+ public void testModifyConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+
+ Node nodeA = (Node)aClassEditParts.get(0).part().getModel();
+ Node nodeB = (Node)aClassEditParts.get(1).part().getModel();
+
+ createEdge(DawnAcoreTestUtil.CONNECTION_ASSOCIATION, nodeA, nodeB, editor);
+ editor.save();
+
+ {
+ List<SWTBotGefEditPart> aaClassAssociationsEditParts = DawnAcoreTestUtil.getAClassAssociationsEditParts(editor);
+ assertEquals(1, aaClassAssociationsEditParts.size());
+ EditPart part = aaClassAssociationsEditParts.get(0).part();
+ Edge editorEdge = (Edge)part.getModel();
+ assertEquals(2, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
+ }
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+ List<?> edges = diagram.getEdges();
+ assertEquals(1, edges.size());
+
+ Edge edge = (Edge)edges.get(0);
+
+ RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
+
+ RelativeBendpoints relativeBendpoints = (RelativeBendpoints)edge.getBendpoints();
+
+ @SuppressWarnings("unchecked")
+ List<RelativeBendpoint> points = relativeBendpoints.getPoints();
+ List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>(points);
+ newBendPoints.add(1, relativeBendpoint);
+ relativeBendpoints.setPoints(newBendPoints);
+
+ transaction.commit();
+ sleep(1000);
+ }
+
+ List<SWTBotGefEditPart> aaClassAssociationsEditParts = DawnAcoreTestUtil.getAClassAssociationsEditParts(editor);
+ assertEquals(1, aaClassAssociationsEditParts.size());
+ EditPart part = aaClassAssociationsEditParts.get(0).part();
+ Edge editorEdge = (Edge)part.getModel();
+ assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
+ }
+
+ @Test
+ public void testCreateAssociationConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
+
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+ Node nodeB = (Node)diagram.getChildren().get(1);
+
+ List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
+
+ RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
+ newBendPoints.add(relativeBendpoint);
+
+ Edge edge = DawnAcoreTestUtil.createNewAssociationRemote(nodeA, nodeB, newBendPoints);
+
+ assertNotNull(edge);
+ transaction.commit();
+ sleep(1000);
+ }
+ List<SWTBotGefEditPart> connectionEditParts = DawnSWTBotUtil.getAllConnections(editor);
+ assertEquals(1, connectionEditParts.size());
+ EditPart part = connectionEditParts.get(0).part();
+ assertInstanceOf(AClassAssociationsEditPart.class, part);
+ assertInstanceOf(Edge.class, part.getModel());
+ Edge editorEdge = (Edge)part.getModel();
+ assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
+ }
+
+ @Test
+ public void testCreateAggregationConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+ Node nodeB = (Node)diagram.getChildren().get(1);
+
+ List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
+
+ RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
+ newBendPoints.add(relativeBendpoint);
+
+ Edge edge = DawnAcoreTestUtil.createNewAggregationRemote(nodeA, nodeB, newBendPoints);
+
+ assertNotNull(edge);
+ transaction.commit();
+ sleep(1000);
+ }
+ List<SWTBotGefEditPart> connectionEditParts = DawnSWTBotUtil.getAllConnections(editor);
+ assertEquals(1, connectionEditParts.size());
+ EditPart part = connectionEditParts.get(0).part();
+ assertInstanceOf(AClassAggregationsEditPart.class, part);
+ assertInstanceOf(Edge.class, part.getModel());
+ Edge editorEdge = (Edge)part.getModel();
+ assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
+ }
+
+ @Test
+ public void testCreateCompositionConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
+
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+ Node nodeB = (Node)diagram.getChildren().get(1);
+
+ List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
+
+ RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
+ newBendPoints.add(relativeBendpoint);
+
+ Edge edge = DawnAcoreTestUtil.createNewCompositionRemote(nodeA, nodeB, newBendPoints);
+
+ assertNotNull(edge);
+ transaction.commit();
+ sleep(1000);
+ }
+ List<SWTBotGefEditPart> connectionEditParts = DawnSWTBotUtil.getAllConnections(editor);
+ assertEquals(1, connectionEditParts.size());
+ EditPart part = connectionEditParts.get(0).part();
+ assertInstanceOf(AClassCompositionsEditPart.class, part);
+ assertInstanceOf(Edge.class, part.getModel());
+ Edge editorEdge = (Edge)part.getModel();
+ assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
+ }
+
+ @Test
+ public void testCreateInheritanceConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
+
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+ Node nodeB = (Node)diagram.getChildren().get(1);
+
+ List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
+
+ RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
+ newBendPoints.add(relativeBendpoint);
+
+ Edge edge = DawnAcoreTestUtil.createNewInheritanceRelationRemote(nodeA, nodeB, newBendPoints);
+
+ assertNotNull(edge);
+ transaction.commit();
+ sleep(1000);
+ }
+ List<SWTBotGefEditPart> connectionEditParts = DawnSWTBotUtil.getAllConnections(editor);
+ assertEquals(1, connectionEditParts.size());
+ EditPart part = connectionEditParts.get(0).part();
+ assertInstanceOf(AClassSubClassesEditPart.class, part);
+ assertInstanceOf(Edge.class, part.getModel());
+ Edge editorEdge = (Edge)part.getModel();
+ assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
+ }
+
+ @Test
+ public void testCreateImplementsConnectionRemotely() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 200, 200, "B", getBot(), editor);
+
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+ Node nodeB = (Node)diagram.getChildren().get(1);
+
+ List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
+
+ RelativeBendpoint relativeBendpoint = new RelativeBendpoint(0, 100, -100, 0);
+ newBendPoints.add(relativeBendpoint);
+
+ Edge edge = DawnAcoreTestUtil.createNewImplementsRelationRemote(nodeA, nodeB, newBendPoints);
+
+ assertNotNull(edge);
+ transaction.commit();
+ sleep(1000);
+ }
+ List<SWTBotGefEditPart> connectionEditParts = DawnSWTBotUtil.getAllConnections(editor);
+ assertEquals(1, connectionEditParts.size());
+ EditPart part = connectionEditParts.get(0).part();
+ assertInstanceOf(AClassImplementedInterfacesEditPart.class, part);
+ assertInstanceOf(Edge.class, part.getModel());
+ Edge editorEdge = (Edge)part.getModel();
+ assertEquals(3, ((RelativeBendpoints)editorEdge.getBendpoints()).getPoints().size());
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/RollbackTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/RollbackTest.java
index 362781195f..b8fc8868d5 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/RollbackTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/RollbackTest.java
@@ -1,85 +1,85 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
-
-import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class RollbackTest extends AbstractDawnGEFTest
-{
- @Test
- public void testGMFAClassConflictMove() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- editor.save();
-
- editor.drag(100, 100, 200, 200);
-
- {
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource2 = transaction.getResource("/default.acore_diagram");
-
- Diagram diagram = (Diagram)resource2.getContents().get(0);
-
- assertEquals(1, diagram.getChildren().size());
-
- Node nodeA = (Node)diagram.getChildren().get(0);
-
- DawnSWTBotUtil.moveNodeRemotely(nodeA, 200, 300);
-
- transaction.commit();
- }
- sleep(500);
-
- List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
- SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
-
- assertEquals(true, DawnAcoreTestUtil.showsConflict(classBEditpart.part()));
- editor.clickContextMenu("Solve Conflict");
-
- getBot().button("yes").click();
-
- assertEquals(false, ((IDawnEditor)editor.getReference().getEditor(false)).getView().hasConflict());
-
- EditPart part = DawnAcoreTestUtil.getAClassEditParts(editor).get(0).part();
-
- assertEquals(true, DawnSWTBotUtil.checkNodePosition((Node)part.getModel(), 200, 300));
-
- editor.save();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
+
+import org.eclipse.emf.cdo.dawn.editors.IDawnEditor;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnSWTBotUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.transaction.CDOTransaction;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class RollbackTest extends AbstractDawnGEFTest
+{
+ @Test
+ public void testGMFAClassConflictMove() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ editor.save();
+
+ editor.drag(100, 100, 200, 200);
+
+ {
+ CDOSession session = openSession();
+ CDOTransaction transaction = session.openTransaction();
+ CDOResource resource2 = transaction.getResource("/default.acore_diagram");
+
+ Diagram diagram = (Diagram)resource2.getContents().get(0);
+
+ assertEquals(1, diagram.getChildren().size());
+
+ Node nodeA = (Node)diagram.getChildren().get(0);
+
+ DawnSWTBotUtil.moveNodeRemotely(nodeA, 200, 300);
+
+ transaction.commit();
+ }
+ sleep(500);
+
+ List<SWTBotGefEditPart> aClassEditParts = DawnAcoreTestUtil.getAClassEditParts(editor);
+ SWTBotGefEditPart classBEditpart = aClassEditParts.get(0);
+
+ assertEquals(true, DawnAcoreTestUtil.showsConflict(classBEditpart.part()));
+ editor.clickContextMenu("Solve Conflict");
+
+ getBot().button("yes").click();
+
+ assertEquals(false, ((IDawnEditor)editor.getReference().getEditor(false)).getView().hasConflict());
+
+ EditPart part = DawnAcoreTestUtil.getAClassEditParts(editor).get(0).part();
+
+ assertEquals(true, DawnSWTBotUtil.checkNodePosition((Node)part.getModel(), 200, 300));
+
+ editor.save();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/SimpleDiagramTest.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/SimpleDiagramTest.java
index d2e93fcea1..f69690bf5d 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/SimpleDiagramTest.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/gmf/SimpleDiagramTest.java
@@ -1,361 +1,361 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AAttribute;
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
-import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
-import org.eclipse.emf.cdo.dawn.examples.acore.AOperation;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
-import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
-import org.eclipse.emf.cdo.view.CDOView;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
-import org.eclipse.swtbot.swt.finder.matchers.AbstractMatcher;
-
-import org.hamcrest.Description;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-@CleanRepositoriesBefore
-@RunWith(SWTBotJunit4ClassRunner.class)
-public class SimpleDiagramTest extends AbstractDawnGEFTest
-{
- @Test
- public void testCreateNewDawnDiagramAndAddElements() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 250, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 150, 250, "C", getBot(), editor);
-
- editor.saveAndClose();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.acore_diagram");
- CDOResource semanticResource = view.getResource("/default.acore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
-
- assertEquals(3, diagram.getChildren().size());
- assertEquals(3, semanticRoot.getClasses().size());
-
- Character name = 'A';
-
- for (AClass aClass : semanticRoot.getClasses())
- {
- assertEquals(name.toString(), aClass.getName());
- name++;
- }
- }
- }
-
- @Test
- public void testCreateNewDawnDiagramAndAddElementsWithEdges() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 250, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 150, 250, "C", getBot(), editor);
-
- createEdge(DawnAcoreTestUtil.CONNECTION_IHERITS, 100, 100, 250, 100, editor);
- createEdge(DawnAcoreTestUtil.CONNECTION_IHERITS, 100, 100, 150, 250, editor);
-
- List<SWTBotGefEditPart> connectionEditParts = getAllConnections(editor);
-
- assertEquals(2, connectionEditParts.size());
-
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.acore_diagram");
-
- CDOResource semanticResource = view.getResource("/default.acore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
-
- assertEquals(3, diagram.getChildren().size());
- assertEquals(3, semanticRoot.getClasses().size());
-
- Character name = 'A';
-
- for (AClass aClass : semanticRoot.getClasses())
- {
- assertEquals(name.toString(), aClass.getName());
- name++;
- }
- view.close();
- }
-
- // for (SWTBotGefEditPart ep : connectionEditParts)
- // {
- // ConnectionEditPart connectionEditPart = (ConnectionEditPart)ep.part();
- // Connection connection = (Connection)connectionEditPart.getFigure();
- //
- // Point midpoint = connection.getPoints().getMidpoint().getCopy();
- //
- // editor.click(midpoint.x, midpoint.y);
- // editor.drag(midpoint.x, midpoint.y, 0, 20);
- // }
- // editor.save();
- // editor.close();
- }
-
- @Test
- public void testAClassWithAttributes() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
-
- editor.activateTool(DawnAcoreTestUtil.A_ATTRIBUTE);
- editor.click(100, 100);
-
- typeTextToFocusedWidget("public foo:int", getBot(), true);
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.acore_diagram");
-
- CDOResource semanticResource = view.getResource("/default.acore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
-
- assertEquals(1, diagram.getChildren().size());
-
- AClass aClass = semanticRoot.getClasses().get(0);
-
- assertEquals(1, aClass.getAttributes().size());
-
- AAttribute aAttribute = aClass.getAttributes().get(0);
-
- assertEquals("public", aAttribute.getAccessright().toString());
- assertEquals("int", aAttribute.getDataType().toString());
- assertEquals("foo", aAttribute.getName());
- }
- }
-
- @Test
- public void testAClassWithOperations() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
-
- editor.activateTool(DawnAcoreTestUtil.A_OPERATION);
- editor.click(100, 100);
-
- typeTextToFocusedWidget("public foo():int", getBot(), true);
- editor.save();
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.acore_diagram");
-
- CDOResource semanticResource = view.getResource("/default.acore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
-
- assertEquals(1, diagram.getChildren().size());
-
- AClass aClass = semanticRoot.getClasses().get(0);
-
- assertEquals(1, aClass.getOperations().size());
-
- AOperation aOperation = aClass.getOperations().get(0);
- assertEquals("foo", aOperation.getName());
- assertEquals("public", aOperation.getAccessright().toString());
- assertEquals("int", aOperation.getDataType().toString());
- }
- }
-
- @Test
- public void testAInterfaceWithOperations() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 100, 100, "A", getBot(), editor);
-
- editor.activateTool(DawnAcoreTestUtil.A_OPERATION);
- editor.click(100, 100);
-
- typeTextToFocusedWidget("public foo():int", getBot(), true);
-
- editor.save();
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.acore_diagram");
-
- CDOResource semanticResource = view.getResource("/default.acore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
-
- assertEquals(1, diagram.getChildren().size());
-
- AInterface aInterface = semanticRoot.getInterfaces().get(0);
-
- AOperation aOperation = aInterface.getOperations().get(0);
- assertEquals("foo", aOperation.getName());
- assertEquals("public", aOperation.getAccessright().toString());
- assertEquals("int", aOperation.getDataType().toString());
- }
- }
-
- @Test
- public void testConnections() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
-
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 300, 100, "B", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 300, "C", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 300, 300, "D", getBot(), editor);
- createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 200, 200, "Interface", getBot(), editor);
-
- createEdge(DawnAcoreTestUtil.CONNECTION_IHERITS, 100, 100, 300, 100, editor);
- createEdge(DawnAcoreTestUtil.CONNECTION_ASSOCIATION, 310, 110, 310, 310, editor);
- createEdge(DawnAcoreTestUtil.CONNECTION_COMPOSITION, 300, 300, 100, 300, editor);
- createEdge(DawnAcoreTestUtil.CONNECTION_AGGREGATION, 100, 300, 100, 100, editor);
- createEdge(DawnAcoreTestUtil.CONNECTION_IMPLEMENTS, 100, 100, 200, 200, editor);
-
- List<SWTBotGefEditPart> connectionEditParts = getAllConnections(editor);
-
- assertEquals(5, connectionEditParts.size());
-
- editor.save();
-
- {
- CDOSession session = openSession();
- CDOView view = session.openView();
-
- CDOResource diagramResource = view.getResource("/default.acore_diagram");
-
- CDOResource semanticResource = view.getResource("/default.acore");
-
- assertNotNull(diagramResource);
- assertNotNull(semanticResource);
- Diagram diagram = (Diagram)diagramResource.getContents().get(0);
- ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
-
- assertEquals(5, diagram.getChildren().size());
- assertEquals(4, semanticRoot.getClasses().size());
- assertEquals(1, semanticRoot.getInterfaces().size());
-
- AClass A = semanticRoot.getClasses().get(0);
- AClass B = semanticRoot.getClasses().get(1);
- AClass C = semanticRoot.getClasses().get(2);
- AClass D = semanticRoot.getClasses().get(3);
-
- // A
- EList<AInterface> implementedInterfaces = A.getImplementedInterfaces();
- assertEquals(1, implementedInterfaces.size());
- assertEquals(implementedInterfaces.get(0), semanticRoot.getInterfaces().get(0));
- assertEquals(1, A.getSubClasses().size());
- assertEquals(B, A.getSubClasses().get(0));
-
- // B
- assertEquals(1, B.getAssociations().size());
- assertEquals(D, B.getAssociations().get(0));
-
- // C
- assertEquals(1, C.getAggregations().size());
- assertEquals(A, C.getAggregations().get(0));
-
- // D
- assertEquals(1, D.getCompositions().size());
- assertEquals(C, D.getCompositions().get(0));
- view.close();
- }
-
- editor.close();
- }
-
- @Test
- public void testExceptionOnClose() throws Exception
- {
- SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
- assertNotNull(editor);
- editor.close();
- }
-
- private List<SWTBotGefEditPart> getAllConnections(final SWTBotGefEditor editor)
- {
- List<SWTBotGefEditPart> aClassEditParts = editor.editParts(new AbstractMatcher<AClassEditPart>()
- {
- @Override
- protected boolean doMatch(Object item)
- {
- if (item instanceof AClassEditPart)
- {
- return true;
- }
- return false;
- }
-
- public void describeTo(Description description)
- {
- }
- });
-
- List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
- for (SWTBotGefEditPart editPart : aClassEditParts)
- {
- ret.addAll(editPart.sourceConnections());
- }
-
- return ret;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.gmf;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AAttribute;
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.ACoreRoot;
+import org.eclipse.emf.cdo.dawn.examples.acore.AInterface;
+import org.eclipse.emf.cdo.dawn.examples.acore.AOperation;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.tests.AbstractDawnGEFTest;
+import org.eclipse.emf.cdo.dawn.tests.ui.util.DawnAcoreTestUtil;
+import org.eclipse.emf.cdo.eresource.CDOResource;
+import org.eclipse.emf.cdo.session.CDOSession;
+import org.eclipse.emf.cdo.tests.config.impl.ConfigTest.CleanRepositoriesBefore;
+import org.eclipse.emf.cdo.view.CDOView;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.matchers.AbstractMatcher;
+
+import org.hamcrest.Description;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+@CleanRepositoriesBefore
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class SimpleDiagramTest extends AbstractDawnGEFTest
+{
+ @Test
+ public void testCreateNewDawnDiagramAndAddElements() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 250, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 150, 250, "C", getBot(), editor);
+
+ editor.saveAndClose();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.acore_diagram");
+ CDOResource semanticResource = view.getResource("/default.acore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
+
+ assertEquals(3, diagram.getChildren().size());
+ assertEquals(3, semanticRoot.getClasses().size());
+
+ Character name = 'A';
+
+ for (AClass aClass : semanticRoot.getClasses())
+ {
+ assertEquals(name.toString(), aClass.getName());
+ name++;
+ }
+ }
+ }
+
+ @Test
+ public void testCreateNewDawnDiagramAndAddElementsWithEdges() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 250, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 150, 250, "C", getBot(), editor);
+
+ createEdge(DawnAcoreTestUtil.CONNECTION_IHERITS, 100, 100, 250, 100, editor);
+ createEdge(DawnAcoreTestUtil.CONNECTION_IHERITS, 100, 100, 150, 250, editor);
+
+ List<SWTBotGefEditPart> connectionEditParts = getAllConnections(editor);
+
+ assertEquals(2, connectionEditParts.size());
+
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.acore_diagram");
+
+ CDOResource semanticResource = view.getResource("/default.acore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
+
+ assertEquals(3, diagram.getChildren().size());
+ assertEquals(3, semanticRoot.getClasses().size());
+
+ Character name = 'A';
+
+ for (AClass aClass : semanticRoot.getClasses())
+ {
+ assertEquals(name.toString(), aClass.getName());
+ name++;
+ }
+ view.close();
+ }
+
+ // for (SWTBotGefEditPart ep : connectionEditParts)
+ // {
+ // ConnectionEditPart connectionEditPart = (ConnectionEditPart)ep.part();
+ // Connection connection = (Connection)connectionEditPart.getFigure();
+ //
+ // Point midpoint = connection.getPoints().getMidpoint().getCopy();
+ //
+ // editor.click(midpoint.x, midpoint.y);
+ // editor.drag(midpoint.x, midpoint.y, 0, 20);
+ // }
+ // editor.save();
+ // editor.close();
+ }
+
+ @Test
+ public void testAClassWithAttributes() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+
+ editor.activateTool(DawnAcoreTestUtil.A_ATTRIBUTE);
+ editor.click(100, 100);
+
+ typeTextToFocusedWidget("public foo:int", getBot(), true);
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.acore_diagram");
+
+ CDOResource semanticResource = view.getResource("/default.acore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
+
+ assertEquals(1, diagram.getChildren().size());
+
+ AClass aClass = semanticRoot.getClasses().get(0);
+
+ assertEquals(1, aClass.getAttributes().size());
+
+ AAttribute aAttribute = aClass.getAttributes().get(0);
+
+ assertEquals("public", aAttribute.getAccessright().toString());
+ assertEquals("int", aAttribute.getDataType().toString());
+ assertEquals("foo", aAttribute.getName());
+ }
+ }
+
+ @Test
+ public void testAClassWithOperations() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+
+ editor.activateTool(DawnAcoreTestUtil.A_OPERATION);
+ editor.click(100, 100);
+
+ typeTextToFocusedWidget("public foo():int", getBot(), true);
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.acore_diagram");
+
+ CDOResource semanticResource = view.getResource("/default.acore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
+
+ assertEquals(1, diagram.getChildren().size());
+
+ AClass aClass = semanticRoot.getClasses().get(0);
+
+ assertEquals(1, aClass.getOperations().size());
+
+ AOperation aOperation = aClass.getOperations().get(0);
+ assertEquals("foo", aOperation.getName());
+ assertEquals("public", aOperation.getAccessright().toString());
+ assertEquals("int", aOperation.getDataType().toString());
+ }
+ }
+
+ @Test
+ public void testAInterfaceWithOperations() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 100, 100, "A", getBot(), editor);
+
+ editor.activateTool(DawnAcoreTestUtil.A_OPERATION);
+ editor.click(100, 100);
+
+ typeTextToFocusedWidget("public foo():int", getBot(), true);
+
+ editor.save();
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.acore_diagram");
+
+ CDOResource semanticResource = view.getResource("/default.acore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
+
+ assertEquals(1, diagram.getChildren().size());
+
+ AInterface aInterface = semanticRoot.getInterfaces().get(0);
+
+ AOperation aOperation = aInterface.getOperations().get(0);
+ assertEquals("foo", aOperation.getName());
+ assertEquals("public", aOperation.getAccessright().toString());
+ assertEquals("int", aOperation.getDataType().toString());
+ }
+ }
+
+ @Test
+ public void testConnections() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 100, "A", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 300, 100, "B", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 100, 300, "C", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_CLASS, 300, 300, "D", getBot(), editor);
+ createNodeWithLabel(DawnAcoreTestUtil.A_INTERFACE, 200, 200, "Interface", getBot(), editor);
+
+ createEdge(DawnAcoreTestUtil.CONNECTION_IHERITS, 100, 100, 300, 100, editor);
+ createEdge(DawnAcoreTestUtil.CONNECTION_ASSOCIATION, 310, 110, 310, 310, editor);
+ createEdge(DawnAcoreTestUtil.CONNECTION_COMPOSITION, 300, 300, 100, 300, editor);
+ createEdge(DawnAcoreTestUtil.CONNECTION_AGGREGATION, 100, 300, 100, 100, editor);
+ createEdge(DawnAcoreTestUtil.CONNECTION_IMPLEMENTS, 100, 100, 200, 200, editor);
+
+ List<SWTBotGefEditPart> connectionEditParts = getAllConnections(editor);
+
+ assertEquals(5, connectionEditParts.size());
+
+ editor.save();
+
+ {
+ CDOSession session = openSession();
+ CDOView view = session.openView();
+
+ CDOResource diagramResource = view.getResource("/default.acore_diagram");
+
+ CDOResource semanticResource = view.getResource("/default.acore");
+
+ assertNotNull(diagramResource);
+ assertNotNull(semanticResource);
+ Diagram diagram = (Diagram)diagramResource.getContents().get(0);
+ ACoreRoot semanticRoot = (ACoreRoot)semanticResource.getContents().get(0);
+
+ assertEquals(5, diagram.getChildren().size());
+ assertEquals(4, semanticRoot.getClasses().size());
+ assertEquals(1, semanticRoot.getInterfaces().size());
+
+ AClass A = semanticRoot.getClasses().get(0);
+ AClass B = semanticRoot.getClasses().get(1);
+ AClass C = semanticRoot.getClasses().get(2);
+ AClass D = semanticRoot.getClasses().get(3);
+
+ // A
+ EList<AInterface> implementedInterfaces = A.getImplementedInterfaces();
+ assertEquals(1, implementedInterfaces.size());
+ assertEquals(implementedInterfaces.get(0), semanticRoot.getInterfaces().get(0));
+ assertEquals(1, A.getSubClasses().size());
+ assertEquals(B, A.getSubClasses().get(0));
+
+ // B
+ assertEquals(1, B.getAssociations().size());
+ assertEquals(D, B.getAssociations().get(0));
+
+ // C
+ assertEquals(1, C.getAggregations().size());
+ assertEquals(A, C.getAggregations().get(0));
+
+ // D
+ assertEquals(1, D.getCompositions().size());
+ assertEquals(C, D.getCompositions().get(0));
+ view.close();
+ }
+
+ editor.close();
+ }
+
+ @Test
+ public void testExceptionOnClose() throws Exception
+ {
+ SWTBotGefEditor editor = DawnAcoreTestUtil.openNewAcoreGMFEditor("default.acore_diagram", getBot());
+ assertNotNull(editor);
+ editor.close();
+ }
+
+ private List<SWTBotGefEditPart> getAllConnections(final SWTBotGefEditor editor)
+ {
+ List<SWTBotGefEditPart> aClassEditParts = editor.editParts(new AbstractMatcher<AClassEditPart>()
+ {
+ @Override
+ protected boolean doMatch(Object item)
+ {
+ if (item instanceof AClassEditPart)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public void describeTo(Description description)
+ {
+ }
+ });
+
+ List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
+ for (SWTBotGefEditPart editPart : aClassEditParts)
+ {
+ ret.addAll(editPart.sourceConnections());
+ }
+
+ return ret;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnAcoreTestUtil.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnAcoreTestUtil.java
index 356575b86e..03bee04303 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnAcoreTestUtil.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnAcoreTestUtil.java
@@ -1,310 +1,310 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.util;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreViewProvider;
-import org.eclipse.emf.cdo.dawn.ui.DawnColorConstants;
-import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
-import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
-
-import org.eclipse.emf.common.util.URI;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.core.providers.IViewProvider;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.matchers.AbstractMatcher;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotCombo;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-import org.hamcrest.Description;
-
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnAcoreTestUtil
-{
- public static final String A_CLASS = "AClass";
-
- public static final String A_INTERFACE = "AInterface";
-
- public static final String A_ATTRIBUTE = "AAttribute";
-
- public static final String A_OPERATION = "AOperation";
-
- public static final String CONNECTION_IHERITS = "inherits";
-
- public static final String CONNECTION_IMPLEMENTS = "implements";
-
- public static final String CONNECTION_ASSOCIATION = "association";
-
- public static final String CONNECTION_AGGREGATION = "aggregation";
-
- public static final String CONNECTION_COMPOSITION = "composition";
-
- public static final String CREATION_WIZARD_NAME_GMF = "Dawn Acore Diagram";
-
- public static final String CREATION_WIZARD_NAME_EMF = "Dawn Acore Model";
-
- private static IViewProvider viewProvider = new AcoreViewProvider();
-
- private static String resourceFieldLabel = org.eclipse.emf.cdo.dawn.ui.messages.Messages.DawnCreateNewResourceWizardPage_6;
-
- public static SWTBotGefEditor openNewAcoreGMFEditor(String diagramResourceName, SWTGefBot bot)
- {
- return openNewAcoreGMFEditor(diagramResourceName, diagramResourceName.replace("_diagram", ""), bot);
- }
-
- public static SWTBotGefEditor openNewAcoreGMFEditor(String diagramResourceName, String semanticResource, SWTGefBot bot)
- {
- bot.menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = bot.shell("New");
- shell.activate();
- bot.tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
- bot.button("Next >").click();
-
- shell.activate();
-
- SWTBotText fileNameLabel = bot.textWithLabel(resourceFieldLabel);
- fileNameLabel.setText(diagramResourceName);
-
- bot.button("Next >").click();
-
- SWTBotText fileSemanticNameLabel = bot.textWithLabel(resourceFieldLabel);
-
- fileSemanticNameLabel = bot.textWithLabel(resourceFieldLabel);
- fileSemanticNameLabel.setText(semanticResource);
-
- fileSemanticNameLabel = bot.textWithLabel(resourceFieldLabel);
-
- bot.button("Finish").click();
-
- SWTBotGefEditor editor = bot.gefEditor(diagramResourceName);
- return editor;
- }
-
- public static DawnSWTBotEMFEditor openAcoreEMFEditor(URI resourceURI, DawnEMFEditorBot bot)
- {
- String resourceName = resourceURI.lastSegment();
- final String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resourceName);
-
- final DawnEditorInput editorInput = new DawnEditorInput(resourceURI);
-
- UIThreadRunnable.asyncExec(new VoidResult()
- {
- public void run()
- {
- try
- {
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite().getPage()
- .openEditor(editorInput, editorID);
- }
- catch (PartInitException ex)
- {
- throw new RuntimeException(ex);
- }
- }
- });
-
- return bot.emfEditor(resourceName);
- }
-
- public static DawnSWTBotEMFEditor openNewAcoreEMFEditor(String resourceName, DawnEMFEditorBot bot)
- {
- bot.menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = bot.shell("New");
- shell.activate();
- bot.tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
- bot.button("Next >").click();
-
- shell = bot.shell("New");
- shell.activate();
-
- SWTBotText fileSemanticNameLabel = bot.textWithLabel(resourceFieldLabel);
- fileSemanticNameLabel.setText(resourceName);
-
- bot.button("Next >").click();
-
- SWTBotCombo comboBox = bot.comboBox(0);// bot.ccomboBox(0);
- comboBox.setFocus();
- comboBox.setSelection("ACore Root");
-
- bot.button("Finish").click();
-
- return bot.emfEditor(resourceName);
- }
-
- public static List<SWTBotGefEditPart> getAClassEditParts(SWTBotGefEditor editor)
- {
- List<SWTBotGefEditPart> editParts = editor.editParts(new AbstractMatcher<AClassEditPart>()
- {
- @Override
- protected boolean doMatch(Object item)
- {
- return item instanceof AClassEditPart;
- }
-
- public void describeTo(Description description)
- {
- }
- });
- return editParts;
- }
-
- public static List<SWTBotGefEditPart> getAInterfaceEditParts(SWTBotGefEditor editor)
- {
- List<SWTBotGefEditPart> editParts = editor.editParts(new AbstractMatcher<AInterfaceEditPart>()
- {
- @Override
- protected boolean doMatch(Object item)
- {
- return item instanceof AInterfaceEditPart;
- }
-
- public void describeTo(Description description)
- {
- }
- });
- return editParts;
- }
-
- public static List<SWTBotGefEditPart> getAClassAssociationsEditParts(SWTBotGefEditor editor)
- {
- List<SWTBotGefEditPart> editParts = getAClassEditParts(editor);
- return DawnSWTBotUtil.getConnectionEditParts(editor, AClassAssociationsEditPart.class, editParts);
- }
-
- public static Node createNewAClassRemote(Diagram diagram, AClass newAClass)
- {
- String type = AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID);
- return DawnSWTBotUtil.createNewNodeRemote(diagram, newAClass, type);
- }
-
- // public static Edge createNewAssociationRemote(Node source, Node target)
- // {
- // String type = AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID);
- // Edge newEdge = DawnSWTBotUtil.createEdgeRemote(source, target, type);
- // return newEdge;
- // }
-
- public static Edge createNewAssociationRemote(Node source, Node target, List<RelativeBendpoint> bendpoints)
- {
- String type = AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID);
- return DawnSWTBotUtil.createEdgeRemote(source, target, type, AcoreElementTypes.AClassAssociations_4003, bendpoints,
- viewProvider);
- }
-
- public static Edge createNewImplementsRelationRemote(Node source, Node target, List<RelativeBendpoint> bendpoints)
- {
- String type = AcoreVisualIDRegistry.getType(AClassImplementedInterfacesEditPart.VISUAL_ID);
- return DawnSWTBotUtil.createEdgeRemote(source, target, type, AcoreElementTypes.AClassImplementedInterfaces_4002,
- bendpoints, viewProvider);
- }
-
- public static Edge createNewInheritanceRelationRemote(Node source, Node target, List<RelativeBendpoint> bendpoints)
- {
- String type = AcoreVisualIDRegistry.getType(AClassSubClassesEditPart.VISUAL_ID);
- return DawnSWTBotUtil.createEdgeRemote(source, target, type, AcoreElementTypes.AClassSubClasses_4001, bendpoints,
- viewProvider);
- }
-
- public static Edge createNewCompositionRemote(Node source, Node target, List<RelativeBendpoint> bendpoints)
- {
- String type = AcoreVisualIDRegistry.getType(AClassCompositionsEditPart.VISUAL_ID);
- return DawnSWTBotUtil.createEdgeRemote(source, target, type, AcoreElementTypes.AClassCompositions_4005, bendpoints,
- viewProvider);
- }
-
- public static Edge createNewAggregationRemote(Node source, Node target, List<RelativeBendpoint> bendpoints)
- {
- String type = AcoreVisualIDRegistry.getType(AClassAggregationsEditPart.VISUAL_ID);
- return DawnSWTBotUtil.createEdgeRemote(source, target, type, AcoreElementTypes.AClassAggregations_4004, bendpoints,
- viewProvider);
- }
-
- public static void sleep(int seconds)
- {
- try
- {
- Thread.sleep(seconds);
- }
- catch (InterruptedException ex)
- {
- throw new RuntimeException(ex);
- }
- }
-
- public static boolean showsConflict(EditPart editPart)
- {
- if (editPart instanceof AClassEditPart || editPart instanceof AInterfaceEditPart)
- {
- GraphicalEditPart e = (GraphicalEditPart)editPart;
-
- IFigure figure = e.getFigure();
- return ((LineBorder)figure.getBorder()).getColor().equals(DawnColorConstants.COLOR_DELETE_CONFLICT);
- }
- return false;
- }
-
- public static Object showsLock(EditPart editPart, Color lockColor)
- {
- if (editPart instanceof AClassEditPart || editPart instanceof AInterfaceEditPart)
- {
- GraphicalEditPart e = (GraphicalEditPart)editPart;
-
- IFigure figure = e.getFigure();
- return ((LineBorder)figure.getBorder()).getColor().equals(lockColor);
- }
- return false;
- }
-
- public static Object showsNoLock(EditPart editPart)
- {
- if (editPart instanceof AClassEditPart || editPart instanceof AInterfaceEditPart)
- {
- GraphicalEditPart e = (GraphicalEditPart)editPart;
-
- IFigure figure = e.getFigure();
- Color color = ((LineBorder)figure.getBorder()).getColor();
- return !(color.equals(DawnColorConstants.COLOR_LOCKED_REMOTELY) && color
- .equals(DawnColorConstants.COLOR_LOCKED_LOCALLY));
- }
- return false;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.util;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAggregationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassAssociationsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassCompositionsEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassImplementedInterfacesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassSubClassesEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.part.AcoreVisualIDRegistry;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreElementTypes;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.providers.AcoreViewProvider;
+import org.eclipse.emf.cdo.dawn.ui.DawnColorConstants;
+import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
+import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.LineBorder;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.core.providers.IViewProvider;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.matchers.AbstractMatcher;
+import org.eclipse.swtbot.swt.finder.results.VoidResult;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotCombo;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+
+import org.hamcrest.Description;
+
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnAcoreTestUtil
+{
+ public static final String A_CLASS = "AClass";
+
+ public static final String A_INTERFACE = "AInterface";
+
+ public static final String A_ATTRIBUTE = "AAttribute";
+
+ public static final String A_OPERATION = "AOperation";
+
+ public static final String CONNECTION_IHERITS = "inherits";
+
+ public static final String CONNECTION_IMPLEMENTS = "implements";
+
+ public static final String CONNECTION_ASSOCIATION = "association";
+
+ public static final String CONNECTION_AGGREGATION = "aggregation";
+
+ public static final String CONNECTION_COMPOSITION = "composition";
+
+ public static final String CREATION_WIZARD_NAME_GMF = "Dawn Acore Diagram";
+
+ public static final String CREATION_WIZARD_NAME_EMF = "Dawn Acore Model";
+
+ private static IViewProvider viewProvider = new AcoreViewProvider();
+
+ private static String resourceFieldLabel = org.eclipse.emf.cdo.dawn.ui.messages.Messages.DawnCreateNewResourceWizardPage_6;
+
+ public static SWTBotGefEditor openNewAcoreGMFEditor(String diagramResourceName, SWTGefBot bot)
+ {
+ return openNewAcoreGMFEditor(diagramResourceName, diagramResourceName.replace("_diagram", ""), bot);
+ }
+
+ public static SWTBotGefEditor openNewAcoreGMFEditor(String diagramResourceName, String semanticResource, SWTGefBot bot)
+ {
+ bot.menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = bot.shell("New");
+ shell.activate();
+ bot.tree().expandNode("Dawn Examples").select("Dawn Acore Diagram");
+ bot.button("Next >").click();
+
+ shell.activate();
+
+ SWTBotText fileNameLabel = bot.textWithLabel(resourceFieldLabel);
+ fileNameLabel.setText(diagramResourceName);
+
+ bot.button("Next >").click();
+
+ SWTBotText fileSemanticNameLabel = bot.textWithLabel(resourceFieldLabel);
+
+ fileSemanticNameLabel = bot.textWithLabel(resourceFieldLabel);
+ fileSemanticNameLabel.setText(semanticResource);
+
+ fileSemanticNameLabel = bot.textWithLabel(resourceFieldLabel);
+
+ bot.button("Finish").click();
+
+ SWTBotGefEditor editor = bot.gefEditor(diagramResourceName);
+ return editor;
+ }
+
+ public static DawnSWTBotEMFEditor openAcoreEMFEditor(URI resourceURI, DawnEMFEditorBot bot)
+ {
+ String resourceName = resourceURI.lastSegment();
+ final String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resourceName);
+
+ final DawnEditorInput editorInput = new DawnEditorInput(resourceURI);
+
+ UIThreadRunnable.asyncExec(new VoidResult()
+ {
+ public void run()
+ {
+ try
+ {
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite().getPage()
+ .openEditor(editorInput, editorID);
+ }
+ catch (PartInitException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ }
+ });
+
+ return bot.emfEditor(resourceName);
+ }
+
+ public static DawnSWTBotEMFEditor openNewAcoreEMFEditor(String resourceName, DawnEMFEditorBot bot)
+ {
+ bot.menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = bot.shell("New");
+ shell.activate();
+ bot.tree().expandNode("Dawn Examples").select(DawnAcoreTestUtil.CREATION_WIZARD_NAME_EMF);
+ bot.button("Next >").click();
+
+ shell = bot.shell("New");
+ shell.activate();
+
+ SWTBotText fileSemanticNameLabel = bot.textWithLabel(resourceFieldLabel);
+ fileSemanticNameLabel.setText(resourceName);
+
+ bot.button("Next >").click();
+
+ SWTBotCombo comboBox = bot.comboBox(0);// bot.ccomboBox(0);
+ comboBox.setFocus();
+ comboBox.setSelection("ACore Root");
+
+ bot.button("Finish").click();
+
+ return bot.emfEditor(resourceName);
+ }
+
+ public static List<SWTBotGefEditPart> getAClassEditParts(SWTBotGefEditor editor)
+ {
+ List<SWTBotGefEditPart> editParts = editor.editParts(new AbstractMatcher<AClassEditPart>()
+ {
+ @Override
+ protected boolean doMatch(Object item)
+ {
+ return item instanceof AClassEditPart;
+ }
+
+ public void describeTo(Description description)
+ {
+ }
+ });
+ return editParts;
+ }
+
+ public static List<SWTBotGefEditPart> getAInterfaceEditParts(SWTBotGefEditor editor)
+ {
+ List<SWTBotGefEditPart> editParts = editor.editParts(new AbstractMatcher<AInterfaceEditPart>()
+ {
+ @Override
+ protected boolean doMatch(Object item)
+ {
+ return item instanceof AInterfaceEditPart;
+ }
+
+ public void describeTo(Description description)
+ {
+ }
+ });
+ return editParts;
+ }
+
+ public static List<SWTBotGefEditPart> getAClassAssociationsEditParts(SWTBotGefEditor editor)
+ {
+ List<SWTBotGefEditPart> editParts = getAClassEditParts(editor);
+ return DawnSWTBotUtil.getConnectionEditParts(editor, AClassAssociationsEditPart.class, editParts);
+ }
+
+ public static Node createNewAClassRemote(Diagram diagram, AClass newAClass)
+ {
+ String type = AcoreVisualIDRegistry.getType(AClassEditPart.VISUAL_ID);
+ return DawnSWTBotUtil.createNewNodeRemote(diagram, newAClass, type);
+ }
+
+ // public static Edge createNewAssociationRemote(Node source, Node target)
+ // {
+ // String type = AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID);
+ // Edge newEdge = DawnSWTBotUtil.createEdgeRemote(source, target, type);
+ // return newEdge;
+ // }
+
+ public static Edge createNewAssociationRemote(Node source, Node target, List<RelativeBendpoint> bendpoints)
+ {
+ String type = AcoreVisualIDRegistry.getType(AClassAssociationsEditPart.VISUAL_ID);
+ return DawnSWTBotUtil.createEdgeRemote(source, target, type, AcoreElementTypes.AClassAssociations_4003, bendpoints,
+ viewProvider);
+ }
+
+ public static Edge createNewImplementsRelationRemote(Node source, Node target, List<RelativeBendpoint> bendpoints)
+ {
+ String type = AcoreVisualIDRegistry.getType(AClassImplementedInterfacesEditPart.VISUAL_ID);
+ return DawnSWTBotUtil.createEdgeRemote(source, target, type, AcoreElementTypes.AClassImplementedInterfaces_4002,
+ bendpoints, viewProvider);
+ }
+
+ public static Edge createNewInheritanceRelationRemote(Node source, Node target, List<RelativeBendpoint> bendpoints)
+ {
+ String type = AcoreVisualIDRegistry.getType(AClassSubClassesEditPart.VISUAL_ID);
+ return DawnSWTBotUtil.createEdgeRemote(source, target, type, AcoreElementTypes.AClassSubClasses_4001, bendpoints,
+ viewProvider);
+ }
+
+ public static Edge createNewCompositionRemote(Node source, Node target, List<RelativeBendpoint> bendpoints)
+ {
+ String type = AcoreVisualIDRegistry.getType(AClassCompositionsEditPart.VISUAL_ID);
+ return DawnSWTBotUtil.createEdgeRemote(source, target, type, AcoreElementTypes.AClassCompositions_4005, bendpoints,
+ viewProvider);
+ }
+
+ public static Edge createNewAggregationRemote(Node source, Node target, List<RelativeBendpoint> bendpoints)
+ {
+ String type = AcoreVisualIDRegistry.getType(AClassAggregationsEditPart.VISUAL_ID);
+ return DawnSWTBotUtil.createEdgeRemote(source, target, type, AcoreElementTypes.AClassAggregations_4004, bendpoints,
+ viewProvider);
+ }
+
+ public static void sleep(int seconds)
+ {
+ try
+ {
+ Thread.sleep(seconds);
+ }
+ catch (InterruptedException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ public static boolean showsConflict(EditPart editPart)
+ {
+ if (editPart instanceof AClassEditPart || editPart instanceof AInterfaceEditPart)
+ {
+ GraphicalEditPart e = (GraphicalEditPart)editPart;
+
+ IFigure figure = e.getFigure();
+ return ((LineBorder)figure.getBorder()).getColor().equals(DawnColorConstants.COLOR_DELETE_CONFLICT);
+ }
+ return false;
+ }
+
+ public static Object showsLock(EditPart editPart, Color lockColor)
+ {
+ if (editPart instanceof AClassEditPart || editPart instanceof AInterfaceEditPart)
+ {
+ GraphicalEditPart e = (GraphicalEditPart)editPart;
+
+ IFigure figure = e.getFigure();
+ return ((LineBorder)figure.getBorder()).getColor().equals(lockColor);
+ }
+ return false;
+ }
+
+ public static Object showsNoLock(EditPart editPart)
+ {
+ if (editPart instanceof AClassEditPart || editPart instanceof AInterfaceEditPart)
+ {
+ GraphicalEditPart e = (GraphicalEditPart)editPart;
+
+ IFigure figure = e.getFigure();
+ Color color = ((LineBorder)figure.getBorder()).getColor();
+ return !(color.equals(DawnColorConstants.COLOR_LOCKED_REMOTELY) && color
+ .equals(DawnColorConstants.COLOR_LOCKED_LOCALLY));
+ }
+ return false;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnCodeGenerationTestUtil.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnCodeGenerationTestUtil.java
index 13de8471af..dfe11d7460 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnCodeGenerationTestUtil.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnCodeGenerationTestUtil.java
@@ -1,24 +1,24 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.util;
-
-import org.eclipse.core.resources.IProject;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnCodeGenerationTestUtil
-{
- public static boolean exists(IProject project, String path)
- {
- return project.getFile(path).exists();
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.util;
+
+import org.eclipse.core.resources.IProject;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnCodeGenerationTestUtil
+{
+ public static boolean exists(IProject project, String path)
+ {
+ return project.getFile(path).exists();
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnEMFEditorBot.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnEMFEditorBot.java
index 99173ee1f3..c2ca8e1dc6 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnEMFEditorBot.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnEMFEditorBot.java
@@ -1,49 +1,49 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.util;
-
-import static org.eclipse.swtbot.eclipse.finder.matchers.WidgetMatcherFactory.withPartName;
-import static org.eclipse.swtbot.eclipse.finder.waits.Conditions.waitForEditor;
-import static org.hamcrest.Matchers.allOf;
-
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.waits.WaitForEditor;
-import org.eclipse.swtbot.eclipse.gef.finder.matchers.IsInstanceOf;
-import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
-import org.eclipse.ui.IEditorReference;
-
-import org.hamcrest.Matcher;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnEMFEditorBot extends SWTWorkbenchBot
-{
- public DawnSWTBotEMFEditor emfEditor(String fileName) throws WidgetNotFoundException
- {
- return emfEditor(fileName, 0);
- }
-
- @SuppressWarnings("unchecked")
- public DawnSWTBotEMFEditor emfEditor(String fileName, int index) throws WidgetNotFoundException
- {
- Matcher<IEditorReference> withPartName = withPartName(fileName);
- Matcher<IEditorReference> matcher = allOf(IsInstanceOf.instanceOf(IEditorReference.class), withPartName);
- WaitForEditor waitForEditor = waitForEditor(matcher);
- waitUntilWidgetAppears(waitForEditor);
- return createEditor(waitForEditor.get(index), this);
- }
-
- protected DawnSWTBotEMFEditor createEditor(final IEditorReference reference, final SWTWorkbenchBot bot)
- {
- return new DawnSWTBotEMFEditor(reference, bot);
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.util;
+
+import static org.eclipse.swtbot.eclipse.finder.matchers.WidgetMatcherFactory.withPartName;
+import static org.eclipse.swtbot.eclipse.finder.waits.Conditions.waitForEditor;
+import static org.hamcrest.Matchers.allOf;
+
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.finder.waits.WaitForEditor;
+import org.eclipse.swtbot.eclipse.gef.finder.matchers.IsInstanceOf;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.ui.IEditorReference;
+
+import org.hamcrest.Matcher;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnEMFEditorBot extends SWTWorkbenchBot
+{
+ public DawnSWTBotEMFEditor emfEditor(String fileName) throws WidgetNotFoundException
+ {
+ return emfEditor(fileName, 0);
+ }
+
+ @SuppressWarnings("unchecked")
+ public DawnSWTBotEMFEditor emfEditor(String fileName, int index) throws WidgetNotFoundException
+ {
+ Matcher<IEditorReference> withPartName = withPartName(fileName);
+ Matcher<IEditorReference> matcher = allOf(IsInstanceOf.instanceOf(IEditorReference.class), withPartName);
+ WaitForEditor waitForEditor = waitForEditor(matcher);
+ waitUntilWidgetAppears(waitForEditor);
+ return createEditor(waitForEditor.get(index), this);
+ }
+
+ protected DawnSWTBotEMFEditor createEditor(final IEditorReference reference, final SWTWorkbenchBot bot)
+ {
+ return new DawnSWTBotEMFEditor(reference, bot);
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnEcoreTestUtil.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnEcoreTestUtil.java
index ef437c13a0..4c55352768 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnEcoreTestUtil.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnEcoreTestUtil.java
@@ -1,271 +1,271 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.util;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
-import org.eclipse.emf.cdo.dawn.ui.DawnColorConstants;
-import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
-import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecoretools.diagram.edit.parts.EClassEditPart;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LineBorder;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.matchers.AbstractMatcher;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotCombo;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-
-import org.hamcrest.Description;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnEcoreTestUtil
-{
- public static final String CREATION_WIZARD_NAME_GMF = "Dawn Ecore Diagram";
-
- public static final String CREATION_WIZARD_NAME_EMF = "Dawn Ecore Model";
-
- public static final String E_CLASS = "EClass";
-
- public static final String E_REFERENCE = "EReference";
-
- public static final String E_ATTRIBUTE = "EAttribute";
-
- public static final String E_OPERATION = "EOperation";
-
- public static final String INHERITANCE = "Inheritance";
-
- public static final String E_DATATYPE = "EDataType";
-
- public static final String E_PACKAGE = "EPackage";
-
- public static final String E_ANNOTATION = "EAnnotation";
-
- public static final String E_ENUM = "EEnum";
-
- public static final String E_ANNOTATION_LINK = "EAnnotation link";
-
- public static final String DETAILS_ENTRY = "Details Entry";
-
- private static String resourceFieldLabel = org.eclipse.emf.cdo.dawn.ui.messages.Messages.DawnCreateNewResourceWizardPage_6;
-
- public static SWTBotGefEditor openNewEcoreToolsEditor(String diagramResourceName, SWTGefBot bot)
- {
- bot.menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = bot.shell("New");
- shell.activate();
- bot.tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
- bot.button("Next >").click();
- bot.button("Finish").click();
- SWTBotGefEditor editor = bot.gefEditor("default");
- return editor;
- }
-
- public static DawnSWTBotEMFEditor openEcoreEMFEditor(URI resourceURI, DawnEMFEditorBot bot)
- {
- String resourceName = resourceURI.lastSegment();
- final String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resourceName);
-
- final DawnEditorInput editorInput = new DawnEditorInput(resourceURI);
-
- UIThreadRunnable.asyncExec(new VoidResult()
- {
- public void run()
- {
- try
- {
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite().getPage()
- .openEditor(editorInput, editorID);
- }
- catch (PartInitException ex)
- {
- throw new RuntimeException(ex);
- }
- }
- });
-
- return bot.emfEditor(resourceName);
- }
-
- public static DawnSWTBotEMFEditor openNewEcoreEMFEditor(String resourceName, DawnEMFEditorBot bot)
- {
- bot.menu("File").menu("New").menu("Other...").click();
-
- SWTBotShell shell = bot.shell("New");
- shell.activate();
- bot.tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_EMF);
- bot.button("Next >").click();
-
- shell = bot.shell("New");
- shell.activate();
-
- SWTBotText fileSemanticNameLabel = bot.textWithLabel(resourceFieldLabel);
- fileSemanticNameLabel.setText(resourceName);
-
- bot.button("Next >").click();
-
- SWTBotCombo comboBox = bot.comboBox(0);// bot.ccomboBox(0);
- comboBox.setFocus();
- comboBox.setSelection("EPackage");
-
- bot.button("Finish").click();
-
- return bot.emfEditor(resourceName);
- }
-
- // public static List<SWTBotGefEditPart> getEClassEditParts(SWTBotGefEditor editor)
- // {
- // List<SWTBotGefEditPart> editParts = editor.editParts(new AbstractMatcher<EClassEditPart>()
- // {
- // @Override
- // protected boolean doMatch(Object item)
- // {
- // return item instanceof AClassEditPart;
- // }
- //
- // public void describeTo(Description description)
- // {
- // }
- // });
- // return editParts;
- // }
-
- public static void sleep(int seconds)
- {
- try
- {
- Thread.sleep(seconds);
- }
- catch (InterruptedException ex)
- {
- throw new RuntimeException(ex);
- }
- }
-
- public static boolean showsConflict(EditPart editPart)
- {
- if (editPart instanceof AClassEditPart || editPart instanceof AInterfaceEditPart)
- {
- GraphicalEditPart e = (GraphicalEditPart)editPart;
-
- IFigure figure = e.getFigure();
- return ((LineBorder)figure.getBorder()).getColor().equals(DawnColorConstants.COLOR_DELETE_CONFLICT);
- }
- return false;
- }
-
- public static List<SWTBotGefEditPart> getAllConnections(final SWTBotGefEditor editor)
- {
- List<SWTBotGefEditPart> aClassEditParts = editor.editParts(new AbstractMatcher<AClassEditPart>()
- {
- @Override
- protected boolean doMatch(Object item)
- {
- if (item instanceof EClassEditPart)
- {
- return true;
- }
- return false;
- }
-
- public void describeTo(Description description)
- {
- }
- });
-
- List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
- for (SWTBotGefEditPart editPart : aClassEditParts)
- {
- ret.addAll(editPart.sourceConnections());
- }
-
- for (SWTBotGefEditPart editPart : aClassEditParts)
- {
- ret.addAll(editPart.targetConnections());
- }
-
- return ret;
- }
-
- public static List<SWTBotGefEditPart> getAllSourceConnections(final SWTBotGefEditor editor)
- {
- List<SWTBotGefEditPart> aClassEditParts = editor.editParts(new AbstractMatcher<AClassEditPart>()
- {
- @Override
- protected boolean doMatch(Object item)
- {
- if (item instanceof EClassEditPart)
- {
- return true;
- }
- return false;
- }
-
- public void describeTo(Description description)
- {
- }
- });
-
- List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
- for (SWTBotGefEditPart editPart : aClassEditParts)
- {
- ret.addAll(editPart.sourceConnections());
- }
-
- return ret;
- }
-
- public static List<SWTBotGefEditPart> getAllTargetConnections(final SWTBotGefEditor editor)
- {
- List<SWTBotGefEditPart> aClassEditParts = editor.editParts(new AbstractMatcher<AClassEditPart>()
- {
- @Override
- protected boolean doMatch(Object item)
- {
- if (item instanceof EClassEditPart)
- {
- return true;
- }
- return false;
- }
-
- public void describeTo(Description description)
- {
- }
- });
-
- List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
-
- for (SWTBotGefEditPart editPart : aClassEditParts)
- {
- ret.addAll(editPart.targetConnections());
- }
-
- return ret;
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.util;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AInterfaceEditPart;
+import org.eclipse.emf.cdo.dawn.ui.DawnColorConstants;
+import org.eclipse.emf.cdo.dawn.ui.DawnEditorInput;
+import org.eclipse.emf.cdo.dawn.ui.helper.EditorDescriptionHelper;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecoretools.diagram.edit.parts.EClassEditPart;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.LineBorder;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.SWTGefBot;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.matchers.AbstractMatcher;
+import org.eclipse.swtbot.swt.finder.results.VoidResult;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotCombo;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+
+import org.hamcrest.Description;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnEcoreTestUtil
+{
+ public static final String CREATION_WIZARD_NAME_GMF = "Dawn Ecore Diagram";
+
+ public static final String CREATION_WIZARD_NAME_EMF = "Dawn Ecore Model";
+
+ public static final String E_CLASS = "EClass";
+
+ public static final String E_REFERENCE = "EReference";
+
+ public static final String E_ATTRIBUTE = "EAttribute";
+
+ public static final String E_OPERATION = "EOperation";
+
+ public static final String INHERITANCE = "Inheritance";
+
+ public static final String E_DATATYPE = "EDataType";
+
+ public static final String E_PACKAGE = "EPackage";
+
+ public static final String E_ANNOTATION = "EAnnotation";
+
+ public static final String E_ENUM = "EEnum";
+
+ public static final String E_ANNOTATION_LINK = "EAnnotation link";
+
+ public static final String DETAILS_ENTRY = "Details Entry";
+
+ private static String resourceFieldLabel = org.eclipse.emf.cdo.dawn.ui.messages.Messages.DawnCreateNewResourceWizardPage_6;
+
+ public static SWTBotGefEditor openNewEcoreToolsEditor(String diagramResourceName, SWTGefBot bot)
+ {
+ bot.menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = bot.shell("New");
+ shell.activate();
+ bot.tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_GMF);
+ bot.button("Next >").click();
+ bot.button("Finish").click();
+ SWTBotGefEditor editor = bot.gefEditor("default");
+ return editor;
+ }
+
+ public static DawnSWTBotEMFEditor openEcoreEMFEditor(URI resourceURI, DawnEMFEditorBot bot)
+ {
+ String resourceName = resourceURI.lastSegment();
+ final String editorID = EditorDescriptionHelper.getEditorIdForDawnEditor(resourceName);
+
+ final DawnEditorInput editorInput = new DawnEditorInput(resourceURI);
+
+ UIThreadRunnable.asyncExec(new VoidResult()
+ {
+ public void run()
+ {
+ try
+ {
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite().getPage()
+ .openEditor(editorInput, editorID);
+ }
+ catch (PartInitException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ }
+ });
+
+ return bot.emfEditor(resourceName);
+ }
+
+ public static DawnSWTBotEMFEditor openNewEcoreEMFEditor(String resourceName, DawnEMFEditorBot bot)
+ {
+ bot.menu("File").menu("New").menu("Other...").click();
+
+ SWTBotShell shell = bot.shell("New");
+ shell.activate();
+ bot.tree().expandNode("Dawn Examples").select(DawnEcoreTestUtil.CREATION_WIZARD_NAME_EMF);
+ bot.button("Next >").click();
+
+ shell = bot.shell("New");
+ shell.activate();
+
+ SWTBotText fileSemanticNameLabel = bot.textWithLabel(resourceFieldLabel);
+ fileSemanticNameLabel.setText(resourceName);
+
+ bot.button("Next >").click();
+
+ SWTBotCombo comboBox = bot.comboBox(0);// bot.ccomboBox(0);
+ comboBox.setFocus();
+ comboBox.setSelection("EPackage");
+
+ bot.button("Finish").click();
+
+ return bot.emfEditor(resourceName);
+ }
+
+ // public static List<SWTBotGefEditPart> getEClassEditParts(SWTBotGefEditor editor)
+ // {
+ // List<SWTBotGefEditPart> editParts = editor.editParts(new AbstractMatcher<EClassEditPart>()
+ // {
+ // @Override
+ // protected boolean doMatch(Object item)
+ // {
+ // return item instanceof AClassEditPart;
+ // }
+ //
+ // public void describeTo(Description description)
+ // {
+ // }
+ // });
+ // return editParts;
+ // }
+
+ public static void sleep(int seconds)
+ {
+ try
+ {
+ Thread.sleep(seconds);
+ }
+ catch (InterruptedException ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ public static boolean showsConflict(EditPart editPart)
+ {
+ if (editPart instanceof AClassEditPart || editPart instanceof AInterfaceEditPart)
+ {
+ GraphicalEditPart e = (GraphicalEditPart)editPart;
+
+ IFigure figure = e.getFigure();
+ return ((LineBorder)figure.getBorder()).getColor().equals(DawnColorConstants.COLOR_DELETE_CONFLICT);
+ }
+ return false;
+ }
+
+ public static List<SWTBotGefEditPart> getAllConnections(final SWTBotGefEditor editor)
+ {
+ List<SWTBotGefEditPart> aClassEditParts = editor.editParts(new AbstractMatcher<AClassEditPart>()
+ {
+ @Override
+ protected boolean doMatch(Object item)
+ {
+ if (item instanceof EClassEditPart)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public void describeTo(Description description)
+ {
+ }
+ });
+
+ List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
+ for (SWTBotGefEditPart editPart : aClassEditParts)
+ {
+ ret.addAll(editPart.sourceConnections());
+ }
+
+ for (SWTBotGefEditPart editPart : aClassEditParts)
+ {
+ ret.addAll(editPart.targetConnections());
+ }
+
+ return ret;
+ }
+
+ public static List<SWTBotGefEditPart> getAllSourceConnections(final SWTBotGefEditor editor)
+ {
+ List<SWTBotGefEditPart> aClassEditParts = editor.editParts(new AbstractMatcher<AClassEditPart>()
+ {
+ @Override
+ protected boolean doMatch(Object item)
+ {
+ if (item instanceof EClassEditPart)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public void describeTo(Description description)
+ {
+ }
+ });
+
+ List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
+ for (SWTBotGefEditPart editPart : aClassEditParts)
+ {
+ ret.addAll(editPart.sourceConnections());
+ }
+
+ return ret;
+ }
+
+ public static List<SWTBotGefEditPart> getAllTargetConnections(final SWTBotGefEditor editor)
+ {
+ List<SWTBotGefEditPart> aClassEditParts = editor.editParts(new AbstractMatcher<AClassEditPart>()
+ {
+ @Override
+ protected boolean doMatch(Object item)
+ {
+ if (item instanceof EClassEditPart)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public void describeTo(Description description)
+ {
+ }
+ });
+
+ List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
+
+ for (SWTBotGefEditPart editPart : aClassEditParts)
+ {
+ ret.addAll(editPart.targetConnections());
+ }
+
+ return ret;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnSWTBotEMFEditor.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnSWTBotEMFEditor.java
index 0ac6701dfa..6bc3a2735a 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnSWTBotEMFEditor.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnSWTBotEMFEditor.java
@@ -1,260 +1,260 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Eike Stepper - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.util;
-
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefContextMenu;
-import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.part.MultiPageEditorPart;
-
-import org.hamcrest.SelfDescribing;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnSWTBotEMFEditor extends SWTBotEditor
-{
- public DawnSWTBotEMFEditor(IEditorReference editorReference, SWTWorkbenchBot bot) throws WidgetNotFoundException
- {
- super(editorReference, bot);
- }
-
- public DawnSWTBotEMFEditor(IEditorReference editorReference, SWTWorkbenchBot bot, SelfDescribing description)
- {
- super(editorReference, bot, description);
- }
-
- /**
- * return the tree of the EMF editor
- */
- public SWTBotTree getSelectionPageTree()
- {
- MultiPageEditorPart editor = (MultiPageEditorPart)getReference().getEditor(false);
- SWTBotTree swtBotTree = null;
- try
- {
- setActivePage(editor, 0);
-
- TreeViewer viewer = (TreeViewer)getCurrentViewer();
- swtBotTree = new SWTBotTree(viewer.getTree());
- }
- catch (Exception ex)
- {
- throw new RuntimeException(ex);
- }
-
- return swtBotTree;
- }
-
- public void setActivePage(int i)
- {
- MultiPageEditorPart editor = (MultiPageEditorPart)getReference().getEditor(false);
- try
- {
- setActivePage(editor, i);
- }
- catch (Exception ex)
- {
- throw new RuntimeException(ex);
- }
- }
-
- public DawnSWTBotEMFEditor clickContextMenu(Control control, String text) throws WidgetNotFoundException
- {
- new SWTBotGefContextMenu(control, text).click();
- return this;
- }
-
- protected Object getSelectedPage(final MultiPageEditorPart editor)
- {
- Object ret = null;
-
- RunnableWithResult runnable = new RunnableWithResult(ret)
- {
- @Override
- public void run()
- {
- result = editor.getSelectedPage();
- }
- };
- editor.getSite().getShell().getDisplay().syncExec(runnable);
-
- return runnable.getResult();
- }
-
- public Viewer getCurrentViewer()
- {
- final MultiPageEditorPart editor = (MultiPageEditorPart)getReference().getEditor(false);
-
- IEditorPart ret = null;
-
- RunnableWithResult runnable = new RunnableWithResult(ret)
- {
-
- @Override
- public void run()
- {
- try
- {
- Class<?>[] parameterTypes = new Class[0];
- Method method = getMethod(editor, "getViewer", parameterTypes);
- method.setAccessible(true);
- Object[] params = new Object[0];
- result = method.invoke(editor, params);
- }
- catch (Exception ex)
- {
- throw new RuntimeException(ex);
- }
- }
- };
-
- editor.getSite().getShell().getDisplay().syncExec(runnable);
- return (Viewer)runnable.getResult();
- }
-
- protected IEditorPart getActiveEditor()
- {
- final MultiPageEditorPart editor = (MultiPageEditorPart)getReference().getEditor(false);
-
- IEditorPart ret = null;
-
- RunnableWithResult runnable = new RunnableWithResult(ret)
- {
- @Override
- public void run()
- {
- try
- {
- Class<?>[] parameterTypes = new Class[0];
-
- Class<?> superClass = getSuperClass(editor.getClass(), MultiPageEditorPart.class);
-
- Method method = superClass.getDeclaredMethod("getActiveEditor", parameterTypes);
- method.setAccessible(true);
- Object[] params = new Object[0];
- result = method.invoke(editor, params);
- }
- catch (Exception ex)
- {
- throw new RuntimeException(ex);
- }
- }
- };
-
- editor.getSite().getShell().getDisplay().syncExec(runnable);
- return (IEditorPart)runnable.getResult();
- }
-
- protected void setActivePage(final MultiPageEditorPart editor, final int i) throws SecurityException,
- NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException
- {
- editor.getSite().getShell().getDisplay().syncExec(new Runnable()
- {
- public void run()
- {
- try
- {
- Class<?>[] parameterTypes = new Class[1];
- parameterTypes[0] = int.class;
-
- Class<?> superClass = getSuperClass(editor.getClass(), MultiPageEditorPart.class);
-
- Method method = superClass.getDeclaredMethod("setActivePage", parameterTypes);
-
- boolean accessible = method.isAccessible();
- method.setAccessible(true);
-
- Object[] params = new Object[1];
- params[0] = i;
- method.invoke(editor, params);
- method.setAccessible(accessible);
- }
- catch (Exception ex)
- {
- throw new RuntimeException(ex);
- }
- }
- });
- }
-
- private Class<?> getSuperClass(Class<?> a, Class<?> b)
- {
- Class<?> ret = a;
- while (ret != b && ret != Object.class)
- {
- ret = ret.getSuperclass();
- }
- return ret;
- }
-
- protected abstract class RunnableWithResult implements Runnable
- {
- protected Object result;
-
- public RunnableWithResult(Object result)
- {
- this.result = result;
- }
-
- public abstract void run();
-
- public Object getResult()
- {
- return result;
- }
- }
-
- private Method getMethod(final MultiPageEditorPart editor, String methodName, Class<?>[] parameterTypes)
- throws NoSuchMethodException
- {
- Method method = null;
- Class<?> clazz = editor.getClass();
- while (method == null && clazz != Object.class)
- {
- try
- {
- method = clazz.getDeclaredMethod(methodName, parameterTypes);
- }
- catch (NoSuchMethodException ex)
- {
- clazz = clazz.getSuperclass();
- }
- }
- return method;
- }
-
- public void setText(final SWTBotTreeItem item, final String text)
- {
- MultiPageEditorPart editor = (MultiPageEditorPart)getReference().getEditor(false);
- Display display = editor.getEditorSite().getShell().getDisplay();
-
- display.asyncExec(new Runnable()
- {
- public void run()
- {
- item.widget.setData(text);
- }
- });
- }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.util;
+
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefContextMenu;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IEditorReference;
+import org.eclipse.ui.part.MultiPageEditorPart;
+
+import org.hamcrest.SelfDescribing;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnSWTBotEMFEditor extends SWTBotEditor
+{
+ public DawnSWTBotEMFEditor(IEditorReference editorReference, SWTWorkbenchBot bot) throws WidgetNotFoundException
+ {
+ super(editorReference, bot);
+ }
+
+ public DawnSWTBotEMFEditor(IEditorReference editorReference, SWTWorkbenchBot bot, SelfDescribing description)
+ {
+ super(editorReference, bot, description);
+ }
+
+ /**
+ * return the tree of the EMF editor
+ */
+ public SWTBotTree getSelectionPageTree()
+ {
+ MultiPageEditorPart editor = (MultiPageEditorPart)getReference().getEditor(false);
+ SWTBotTree swtBotTree = null;
+ try
+ {
+ setActivePage(editor, 0);
+
+ TreeViewer viewer = (TreeViewer)getCurrentViewer();
+ swtBotTree = new SWTBotTree(viewer.getTree());
+ }
+ catch (Exception ex)
+ {
+ throw new RuntimeException(ex);
+ }
+
+ return swtBotTree;
+ }
+
+ public void setActivePage(int i)
+ {
+ MultiPageEditorPart editor = (MultiPageEditorPart)getReference().getEditor(false);
+ try
+ {
+ setActivePage(editor, i);
+ }
+ catch (Exception ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ public DawnSWTBotEMFEditor clickContextMenu(Control control, String text) throws WidgetNotFoundException
+ {
+ new SWTBotGefContextMenu(control, text).click();
+ return this;
+ }
+
+ protected Object getSelectedPage(final MultiPageEditorPart editor)
+ {
+ Object ret = null;
+
+ RunnableWithResult runnable = new RunnableWithResult(ret)
+ {
+ @Override
+ public void run()
+ {
+ result = editor.getSelectedPage();
+ }
+ };
+ editor.getSite().getShell().getDisplay().syncExec(runnable);
+
+ return runnable.getResult();
+ }
+
+ public Viewer getCurrentViewer()
+ {
+ final MultiPageEditorPart editor = (MultiPageEditorPart)getReference().getEditor(false);
+
+ IEditorPart ret = null;
+
+ RunnableWithResult runnable = new RunnableWithResult(ret)
+ {
+
+ @Override
+ public void run()
+ {
+ try
+ {
+ Class<?>[] parameterTypes = new Class[0];
+ Method method = getMethod(editor, "getViewer", parameterTypes);
+ method.setAccessible(true);
+ Object[] params = new Object[0];
+ result = method.invoke(editor, params);
+ }
+ catch (Exception ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ }
+ };
+
+ editor.getSite().getShell().getDisplay().syncExec(runnable);
+ return (Viewer)runnable.getResult();
+ }
+
+ protected IEditorPart getActiveEditor()
+ {
+ final MultiPageEditorPart editor = (MultiPageEditorPart)getReference().getEditor(false);
+
+ IEditorPart ret = null;
+
+ RunnableWithResult runnable = new RunnableWithResult(ret)
+ {
+ @Override
+ public void run()
+ {
+ try
+ {
+ Class<?>[] parameterTypes = new Class[0];
+
+ Class<?> superClass = getSuperClass(editor.getClass(), MultiPageEditorPart.class);
+
+ Method method = superClass.getDeclaredMethod("getActiveEditor", parameterTypes);
+ method.setAccessible(true);
+ Object[] params = new Object[0];
+ result = method.invoke(editor, params);
+ }
+ catch (Exception ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ }
+ };
+
+ editor.getSite().getShell().getDisplay().syncExec(runnable);
+ return (IEditorPart)runnable.getResult();
+ }
+
+ protected void setActivePage(final MultiPageEditorPart editor, final int i) throws SecurityException,
+ NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException
+ {
+ editor.getSite().getShell().getDisplay().syncExec(new Runnable()
+ {
+ public void run()
+ {
+ try
+ {
+ Class<?>[] parameterTypes = new Class[1];
+ parameterTypes[0] = int.class;
+
+ Class<?> superClass = getSuperClass(editor.getClass(), MultiPageEditorPart.class);
+
+ Method method = superClass.getDeclaredMethod("setActivePage", parameterTypes);
+
+ boolean accessible = method.isAccessible();
+ method.setAccessible(true);
+
+ Object[] params = new Object[1];
+ params[0] = i;
+ method.invoke(editor, params);
+ method.setAccessible(accessible);
+ }
+ catch (Exception ex)
+ {
+ throw new RuntimeException(ex);
+ }
+ }
+ });
+ }
+
+ private Class<?> getSuperClass(Class<?> a, Class<?> b)
+ {
+ Class<?> ret = a;
+ while (ret != b && ret != Object.class)
+ {
+ ret = ret.getSuperclass();
+ }
+ return ret;
+ }
+
+ protected abstract class RunnableWithResult implements Runnable
+ {
+ protected Object result;
+
+ public RunnableWithResult(Object result)
+ {
+ this.result = result;
+ }
+
+ public abstract void run();
+
+ public Object getResult()
+ {
+ return result;
+ }
+ }
+
+ private Method getMethod(final MultiPageEditorPart editor, String methodName, Class<?>[] parameterTypes)
+ throws NoSuchMethodException
+ {
+ Method method = null;
+ Class<?> clazz = editor.getClass();
+ while (method == null && clazz != Object.class)
+ {
+ try
+ {
+ method = clazz.getDeclaredMethod(methodName, parameterTypes);
+ }
+ catch (NoSuchMethodException ex)
+ {
+ clazz = clazz.getSuperclass();
+ }
+ }
+ return method;
+ }
+
+ public void setText(final SWTBotTreeItem item, final String text)
+ {
+ MultiPageEditorPart editor = (MultiPageEditorPart)getReference().getEditor(false);
+ Display display = editor.getEditorSite().getShell().getDisplay();
+
+ display.asyncExec(new Runnable()
+ {
+ public void run()
+ {
+ item.widget.setData(text);
+ }
+ });
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnSWTBotUtil.java b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnSWTBotUtil.java
index 974b8a96e1..aba69de4d1 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnSWTBotUtil.java
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/src/org/eclipse/emf/cdo/dawn/tests/ui/util/DawnSWTBotUtil.java
@@ -1,405 +1,405 @@
-/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Fluegge - initial API and implementation
- */
-package org.eclipse.emf.cdo.dawn.tests.ui.util;
-
-import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.withMnemonic;
-import static org.hamcrest.Matchers.allOf;
-import static org.hamcrest.Matchers.instanceOf;
-
-import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
-import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
-import org.eclipse.emf.cdo.dawn.gmf.synchronize.DawnConflictHelper;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emf.edit.domain.IEditingDomainProvider;
-import org.eclipse.emf.transaction.RecordingCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
-import org.eclipse.gmf.runtime.diagram.core.providers.IViewProvider;
-import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
-import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.notation.Bounds;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
-import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefConnectionEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
-import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
-import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.matchers.AbstractMatcher;
-import org.eclipse.swtbot.swt.finder.results.WidgetResult;
-import org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBot;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
-
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * @author Martin Fluegge
- */
-public class DawnSWTBotUtil
-{
- private static final String LABEL_OK = "OK";
-
- private static final String LABEL_OTHERS = "Other...";
-
- private static final String LABEL_WINDOW = "Window";
-
- private static final String LABEL_SHOW_VIEW = "Show View";
-
- public static void initTest(SWTWorkbenchBot bot)
- {
- closeWelcomePage(bot);
- }
-
- public static void closeWelcomePage(SWTWorkbenchBot bot)
- {
- try
- {
- bot.viewByTitle("Welcome").close();
- }
- catch (WidgetNotFoundException ex)
- {
- // We can ignore this because it it thrown when the widget cannot be found which can be the case if another test
- // already closed the welcome screen.
- }
- }
-
- public static void setConnectorType(SWTWorkbenchBot bot, String serverName, String serverPort, String repository,
- String protocol)
- {
- bot.menu(LABEL_WINDOW).menu("Preferences").click();
- SWTBotShell shell = bot.shell("Preferences");
- shell.activate();
-
- bot.tree().select("Dawn Remote Preferences");
-
- SWTBotText serverNameLabel = bot.textWithLabel("server name:");
- SWTBotText serverPortLabel = bot.textWithLabel("server port:");
- SWTBotText repositoryLabel = bot.textWithLabel("repository:");
- SWTBotText fileNameLabel = bot.textWithLabel("protocol:");
-
- serverNameLabel.setText(serverName);
- serverPortLabel.setText(serverPort);
- repositoryLabel.setText(repository);
- fileNameLabel.setText(protocol);
- bot.button(LABEL_OK).click();
- }
-
- public static List<SWTBotGefEditPart> getAllEditParts(SWTBotGefEditor editor)
- {
- List<SWTBotGefEditPart> editParts = editor.editParts(new AbstractMatcher<EditPart>()
- {
- @Override
- protected boolean doMatch(Object item)
- {
- return item instanceof AClassEditPart;
- }
-
- public void describeTo(Description description)
- {
- }
- });
- return editParts;
- }
-
- public static List<SWTBotGefEditPart> getConnectionEditParts(SWTBotGefEditor editor, Class<? extends EditPart> clazz)
- {
- List<SWTBotGefEditPart> editParts = getAllEditParts(editor);
- return getConnectionEditParts(editor, clazz, editParts);
- }
-
- public static List<SWTBotGefEditPart> getConnectionEditParts(SWTBotGefEditor editor, Class<? extends EditPart> clazz,
- List<SWTBotGefEditPart> editParts)
- {
-
- List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
- for (SWTBotGefEditPart editPart : editParts)
- {
-
- for (SWTBotGefConnectionEditPart sourceConnection : editPart.sourceConnections())
- {
- if (clazz.isInstance(sourceConnection.part()))
- {
- ret.add(sourceConnection);
- }
- }
- }
- return ret;
- }
-
- static Object monitor = new Object();
-
- /**
- * returns all ConnectionEditparts from teh given editor
- */
- public static List<SWTBotGefEditPart> getAllConnections(final SWTBotGefEditor editor)
- {
- AbstractMatcher<EditPart> matcher = new AbstractMatcher<EditPart>()
- {
- @Override
- protected boolean doMatch(Object item)
- {
- return true;
- }
-
- public void describeTo(Description description)
- {
- }
- };
- List<SWTBotGefEditPart> aClassEditParts = editor.editParts(matcher);
-
- List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
-
- for (SWTBotGefEditPart editPart : aClassEditParts)
- {
- ret.addAll(editPart.sourceConnections());
- }
- return ret;
- }
-
- public static Node createNewNodeRemote(Diagram diagram, AClass newAClass, String type)
- {
- Node newNode = ViewService.createNode(diagram, newAClass, type, PreferencesHint.USE_DEFAULTS);
- return newNode;
- }
-
- public static Edge createEdgeRemote(Node source, Node target, String type, IElementType elementType,
- List<RelativeBendpoint> bendpoints, IViewProvider viewProvider)
- {
- Edge edge = viewProvider.createEdge(elementType, source.getDiagram(), type, ViewUtil.APPEND, true,
- PreferencesHint.USE_DEFAULTS);
-
- edge.setTarget(target);
- edge.setSource(source);
-
- RelativeBendpoints exitingBendpoints = (RelativeBendpoints)edge.getBendpoints();
- @SuppressWarnings("unchecked")
- List<RelativeBendpoint> points = exitingBendpoints.getPoints();
- List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>(points);
- newBendPoints.addAll(1, bendpoints);
- exitingBendpoints.setPoints(newBendPoints);
-
- return edge;
- }
-
- public static void addBendPoint(Edge edge, int sourceX, int sourceY, int targetX, int targetY)
- {
- List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
- RelativeBendpoint relativeBendpoint = new RelativeBendpoint(sourceX, sourceY, targetX, targetY);
- newBendPoints.add(relativeBendpoint);
- DawnSWTBotUtil.addBendpoints(edge, newBendPoints);
- }
-
- public static void addBendpoints(final Edge edge, final List<RelativeBendpoint> bendpoints)
- {
- ResourceSet resourceSet = edge.eResource().getResourceSet();
-
- if (resourceSet instanceof IEditingDomainProvider)
- {
- EditingDomain editingDomain = ((IEditingDomainProvider)resourceSet).getEditingDomain();
-
- editingDomain.getCommandStack().execute(new RecordingCommand((TransactionalEditingDomain)editingDomain)
- {
- @Override
- protected void doExecute()
- {
- DawnSWTBotUtil.addBendPointsInternal(edge, bendpoints);
- }
- });
- }
- else
- {
- addBendPointsInternal(edge, bendpoints);
- }
- }
-
- private static void addBendPointsInternal(final Edge edge, final List<RelativeBendpoint> bendpoints)
- {
- RelativeBendpoints exitingBendpoints = (RelativeBendpoints)edge.getBendpoints();
- @SuppressWarnings("unchecked")
- List<RelativeBendpoint> points = exitingBendpoints.getPoints();
- List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>(points);
- newBendPoints.addAll(1, bendpoints);
- exitingBendpoints.setPoints(newBendPoints);
- }
-
- public static Object showsConflict(EditPart editPart)
- {
- return DawnConflictHelper.isConflicted((EObject)editPart.getModel());
- }
-
- public static void moveNodeRemotely(Node nodeA, int x, int y)
- {
- Bounds bounds = (Bounds)nodeA.getLayoutConstraint();
- bounds.setX(x);
- bounds.setY(y);
- }
-
- public static void resizeNodeRemotely(Node nodeA, int height, int width)
- {
- Bounds bounds = (Bounds)nodeA.getLayoutConstraint();
- bounds.setHeight(height);
- bounds.setWidth(width);
- }
-
- public static boolean checkNodePosition(Node node, int x, int y)
- {
- boolean ret = true;
- Bounds bounds = (Bounds)node.getLayoutConstraint();
- ret = bounds.getX() == x && ret;
- ret = bounds.getY() == y && ret;
-
- return ret;
- }
-
- public static boolean checkNodeSize(Node node, int height, int width)
- {
- boolean ret = true;
- Bounds bounds = (Bounds)node.getLayoutConstraint();
- ret = bounds.getHeight() == height && ret;
- ret = bounds.getWidth() == width && ret;
-
- return ret;
- }
-
- public static boolean checkNodePosistionAndSize(Node node, int x, int y, int height, int width)
- {
- boolean ret = true;
- ret = checkNodePosition(node, x, y) && ret;
- ret = checkNodeSize(node, height, width) && ret;
-
- return ret;
- }
-
- public static SWTBotView openView(SWTWorkbenchBot bot, String categoryName, String viewName)
- {
- bot.menu(LABEL_WINDOW).menu(LABEL_SHOW_VIEW).menu(LABEL_OTHERS).click();
-
- SWTBotShell shell = bot.shell(LABEL_SHOW_VIEW);
- shell.activate();
- bot.tree().expandNode(categoryName).select(viewName);
- bot.button(LABEL_OK).click();
-
- return bot.activeView();
- }
-
- @SuppressWarnings("unchecked")
- public static SWTBotMenu findContextMenu(final AbstractSWTBot<?> bot, final String... texts)
- {
- final Matcher<?>[] matchers = new Matcher<?>[texts.length];
- for (int i = 0; i < texts.length; i++)
- {
- matchers[i] = allOf(instanceOf(MenuItem.class), withMnemonic(texts[i]));
- }
-
- final MenuItem menuItem = UIThreadRunnable.syncExec(new WidgetResult<MenuItem>()
- {
- public MenuItem run()
- {
- MenuItem menuItem = null;
- Control control = (Control)bot.widget;
- Menu menu = control.getMenu();
- for (int i = 0; i < matchers.length; i++)
- {
- menuItem = show(menu, matchers[i]);
- if (menuItem != null)
- {
- menu = menuItem.getMenu();
- }
- }
-
- return menuItem;
- }
- });
- if (menuItem == null)
- {
- throw new WidgetNotFoundException("Could not find menu: " + Arrays.asList(texts));
- }
-
- return new SWTBotMenu(menuItem);
- }
-
- private static MenuItem show(final Menu menu, final Matcher<?> matcher)
- {
- if (menu != null)
- {
- menu.notifyListeners(SWT.Show, new Event());
- MenuItem[] items = menu.getItems();
- for (final MenuItem menuItem : items)
- {
- if (matcher.matches(menuItem))
- {
- return menuItem;
- }
- }
- menu.notifyListeners(SWT.Hide, new Event());
- }
- return null;
- }
-
- public static void setAutomaticBuild(SWTWorkbenchBot bot, boolean enabled)
- {
- SWTBotMenu menu = bot.menu("Project").menu("Build Automatically");
- // if(menu.isEnabled()&&enabled)
- {
- menu.click();
- }
- }
-
- // public static Edge createEdgeRemote(Node source, Node target, String type)
- // {
- // Edge newEdge = ViewService.createEdge(source, target, type, PreferencesHint.USE_DEFAULTS);
- //
- // return newEdge;
- // }
- //
- // public static Edge createEdgeRemote(Node source, Node target, EObject model, String type)
- // {
- // Edge newEdge = ViewService.createEdge(source, target, model, type, PreferencesHint.USE_DEFAULTS);
- // return newEdge;
- // }
- //
- // public static Edge createEdgeRemote(Node source, Node target, String type, List<RelativeBendpoint> bendPoints)
- // {
- // Edge edge = createEdgeRemote(source, target, type);
- // RelativeBendpoints exitingBendpoints = (RelativeBendpoints)edge.getBendpoints();
- //
- // @SuppressWarnings("unchecked")
- // List<RelativeBendpoint> points = exitingBendpoints.getPoints();
- // List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>(points);
- // newBendPoints.addAll(1, bendPoints);
- // exitingBendpoints.setPoints(newBendPoints);
- //
- // return edge;
- // }
-}
+/*
+ * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.emf.cdo.dawn.tests.ui.util;
+
+import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.withMnemonic;
+import static org.hamcrest.Matchers.allOf;
+import static org.hamcrest.Matchers.instanceOf;
+
+import org.eclipse.emf.cdo.dawn.examples.acore.AClass;
+import org.eclipse.emf.cdo.dawn.examples.acore.diagram.edit.parts.AClassEditPart;
+import org.eclipse.emf.cdo.dawn.gmf.synchronize.DawnConflictHelper;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.providers.IViewProvider;
+import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.RelativeBendpoints;
+import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefConnectionEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditPart;
+import org.eclipse.swtbot.eclipse.gef.finder.widgets.SWTBotGefEditor;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.matchers.AbstractMatcher;
+import org.eclipse.swtbot.swt.finder.results.WidgetResult;
+import org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBot;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotMenu;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
+
+import org.hamcrest.Description;
+import org.hamcrest.Matcher;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author Martin Fluegge
+ */
+public class DawnSWTBotUtil
+{
+ private static final String LABEL_OK = "OK";
+
+ private static final String LABEL_OTHERS = "Other...";
+
+ private static final String LABEL_WINDOW = "Window";
+
+ private static final String LABEL_SHOW_VIEW = "Show View";
+
+ public static void initTest(SWTWorkbenchBot bot)
+ {
+ closeWelcomePage(bot);
+ }
+
+ public static void closeWelcomePage(SWTWorkbenchBot bot)
+ {
+ try
+ {
+ bot.viewByTitle("Welcome").close();
+ }
+ catch (WidgetNotFoundException ex)
+ {
+ // We can ignore this because it it thrown when the widget cannot be found which can be the case if another test
+ // already closed the welcome screen.
+ }
+ }
+
+ public static void setConnectorType(SWTWorkbenchBot bot, String serverName, String serverPort, String repository,
+ String protocol)
+ {
+ bot.menu(LABEL_WINDOW).menu("Preferences").click();
+ SWTBotShell shell = bot.shell("Preferences");
+ shell.activate();
+
+ bot.tree().select("Dawn Remote Preferences");
+
+ SWTBotText serverNameLabel = bot.textWithLabel("server name:");
+ SWTBotText serverPortLabel = bot.textWithLabel("server port:");
+ SWTBotText repositoryLabel = bot.textWithLabel("repository:");
+ SWTBotText fileNameLabel = bot.textWithLabel("protocol:");
+
+ serverNameLabel.setText(serverName);
+ serverPortLabel.setText(serverPort);
+ repositoryLabel.setText(repository);
+ fileNameLabel.setText(protocol);
+ bot.button(LABEL_OK).click();
+ }
+
+ public static List<SWTBotGefEditPart> getAllEditParts(SWTBotGefEditor editor)
+ {
+ List<SWTBotGefEditPart> editParts = editor.editParts(new AbstractMatcher<EditPart>()
+ {
+ @Override
+ protected boolean doMatch(Object item)
+ {
+ return item instanceof AClassEditPart;
+ }
+
+ public void describeTo(Description description)
+ {
+ }
+ });
+ return editParts;
+ }
+
+ public static List<SWTBotGefEditPart> getConnectionEditParts(SWTBotGefEditor editor, Class<? extends EditPart> clazz)
+ {
+ List<SWTBotGefEditPart> editParts = getAllEditParts(editor);
+ return getConnectionEditParts(editor, clazz, editParts);
+ }
+
+ public static List<SWTBotGefEditPart> getConnectionEditParts(SWTBotGefEditor editor, Class<? extends EditPart> clazz,
+ List<SWTBotGefEditPart> editParts)
+ {
+
+ List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
+ for (SWTBotGefEditPart editPart : editParts)
+ {
+
+ for (SWTBotGefConnectionEditPart sourceConnection : editPart.sourceConnections())
+ {
+ if (clazz.isInstance(sourceConnection.part()))
+ {
+ ret.add(sourceConnection);
+ }
+ }
+ }
+ return ret;
+ }
+
+ static Object monitor = new Object();
+
+ /**
+ * returns all ConnectionEditparts from teh given editor
+ */
+ public static List<SWTBotGefEditPart> getAllConnections(final SWTBotGefEditor editor)
+ {
+ AbstractMatcher<EditPart> matcher = new AbstractMatcher<EditPart>()
+ {
+ @Override
+ protected boolean doMatch(Object item)
+ {
+ return true;
+ }
+
+ public void describeTo(Description description)
+ {
+ }
+ };
+ List<SWTBotGefEditPart> aClassEditParts = editor.editParts(matcher);
+
+ List<SWTBotGefEditPart> ret = new ArrayList<SWTBotGefEditPart>();
+
+ for (SWTBotGefEditPart editPart : aClassEditParts)
+ {
+ ret.addAll(editPart.sourceConnections());
+ }
+ return ret;
+ }
+
+ public static Node createNewNodeRemote(Diagram diagram, AClass newAClass, String type)
+ {
+ Node newNode = ViewService.createNode(diagram, newAClass, type, PreferencesHint.USE_DEFAULTS);
+ return newNode;
+ }
+
+ public static Edge createEdgeRemote(Node source, Node target, String type, IElementType elementType,
+ List<RelativeBendpoint> bendpoints, IViewProvider viewProvider)
+ {
+ Edge edge = viewProvider.createEdge(elementType, source.getDiagram(), type, ViewUtil.APPEND, true,
+ PreferencesHint.USE_DEFAULTS);
+
+ edge.setTarget(target);
+ edge.setSource(source);
+
+ RelativeBendpoints exitingBendpoints = (RelativeBendpoints)edge.getBendpoints();
+ @SuppressWarnings("unchecked")
+ List<RelativeBendpoint> points = exitingBendpoints.getPoints();
+ List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>(points);
+ newBendPoints.addAll(1, bendpoints);
+ exitingBendpoints.setPoints(newBendPoints);
+
+ return edge;
+ }
+
+ public static void addBendPoint(Edge edge, int sourceX, int sourceY, int targetX, int targetY)
+ {
+ List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>();
+ RelativeBendpoint relativeBendpoint = new RelativeBendpoint(sourceX, sourceY, targetX, targetY);
+ newBendPoints.add(relativeBendpoint);
+ DawnSWTBotUtil.addBendpoints(edge, newBendPoints);
+ }
+
+ public static void addBendpoints(final Edge edge, final List<RelativeBendpoint> bendpoints)
+ {
+ ResourceSet resourceSet = edge.eResource().getResourceSet();
+
+ if (resourceSet instanceof IEditingDomainProvider)
+ {
+ EditingDomain editingDomain = ((IEditingDomainProvider)resourceSet).getEditingDomain();
+
+ editingDomain.getCommandStack().execute(new RecordingCommand((TransactionalEditingDomain)editingDomain)
+ {
+ @Override
+ protected void doExecute()
+ {
+ DawnSWTBotUtil.addBendPointsInternal(edge, bendpoints);
+ }
+ });
+ }
+ else
+ {
+ addBendPointsInternal(edge, bendpoints);
+ }
+ }
+
+ private static void addBendPointsInternal(final Edge edge, final List<RelativeBendpoint> bendpoints)
+ {
+ RelativeBendpoints exitingBendpoints = (RelativeBendpoints)edge.getBendpoints();
+ @SuppressWarnings("unchecked")
+ List<RelativeBendpoint> points = exitingBendpoints.getPoints();
+ List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>(points);
+ newBendPoints.addAll(1, bendpoints);
+ exitingBendpoints.setPoints(newBendPoints);
+ }
+
+ public static Object showsConflict(EditPart editPart)
+ {
+ return DawnConflictHelper.isConflicted((EObject)editPart.getModel());
+ }
+
+ public static void moveNodeRemotely(Node nodeA, int x, int y)
+ {
+ Bounds bounds = (Bounds)nodeA.getLayoutConstraint();
+ bounds.setX(x);
+ bounds.setY(y);
+ }
+
+ public static void resizeNodeRemotely(Node nodeA, int height, int width)
+ {
+ Bounds bounds = (Bounds)nodeA.getLayoutConstraint();
+ bounds.setHeight(height);
+ bounds.setWidth(width);
+ }
+
+ public static boolean checkNodePosition(Node node, int x, int y)
+ {
+ boolean ret = true;
+ Bounds bounds = (Bounds)node.getLayoutConstraint();
+ ret = bounds.getX() == x && ret;
+ ret = bounds.getY() == y && ret;
+
+ return ret;
+ }
+
+ public static boolean checkNodeSize(Node node, int height, int width)
+ {
+ boolean ret = true;
+ Bounds bounds = (Bounds)node.getLayoutConstraint();
+ ret = bounds.getHeight() == height && ret;
+ ret = bounds.getWidth() == width && ret;
+
+ return ret;
+ }
+
+ public static boolean checkNodePosistionAndSize(Node node, int x, int y, int height, int width)
+ {
+ boolean ret = true;
+ ret = checkNodePosition(node, x, y) && ret;
+ ret = checkNodeSize(node, height, width) && ret;
+
+ return ret;
+ }
+
+ public static SWTBotView openView(SWTWorkbenchBot bot, String categoryName, String viewName)
+ {
+ bot.menu(LABEL_WINDOW).menu(LABEL_SHOW_VIEW).menu(LABEL_OTHERS).click();
+
+ SWTBotShell shell = bot.shell(LABEL_SHOW_VIEW);
+ shell.activate();
+ bot.tree().expandNode(categoryName).select(viewName);
+ bot.button(LABEL_OK).click();
+
+ return bot.activeView();
+ }
+
+ @SuppressWarnings("unchecked")
+ public static SWTBotMenu findContextMenu(final AbstractSWTBot<?> bot, final String... texts)
+ {
+ final Matcher<?>[] matchers = new Matcher<?>[texts.length];
+ for (int i = 0; i < texts.length; i++)
+ {
+ matchers[i] = allOf(instanceOf(MenuItem.class), withMnemonic(texts[i]));
+ }
+
+ final MenuItem menuItem = UIThreadRunnable.syncExec(new WidgetResult<MenuItem>()
+ {
+ public MenuItem run()
+ {
+ MenuItem menuItem = null;
+ Control control = (Control)bot.widget;
+ Menu menu = control.getMenu();
+ for (int i = 0; i < matchers.length; i++)
+ {
+ menuItem = show(menu, matchers[i]);
+ if (menuItem != null)
+ {
+ menu = menuItem.getMenu();
+ }
+ }
+
+ return menuItem;
+ }
+ });
+ if (menuItem == null)
+ {
+ throw new WidgetNotFoundException("Could not find menu: " + Arrays.asList(texts));
+ }
+
+ return new SWTBotMenu(menuItem);
+ }
+
+ private static MenuItem show(final Menu menu, final Matcher<?> matcher)
+ {
+ if (menu != null)
+ {
+ menu.notifyListeners(SWT.Show, new Event());
+ MenuItem[] items = menu.getItems();
+ for (final MenuItem menuItem : items)
+ {
+ if (matcher.matches(menuItem))
+ {
+ return menuItem;
+ }
+ }
+ menu.notifyListeners(SWT.Hide, new Event());
+ }
+ return null;
+ }
+
+ public static void setAutomaticBuild(SWTWorkbenchBot bot, boolean enabled)
+ {
+ SWTBotMenu menu = bot.menu("Project").menu("Build Automatically");
+ // if(menu.isEnabled()&&enabled)
+ {
+ menu.click();
+ }
+ }
+
+ // public static Edge createEdgeRemote(Node source, Node target, String type)
+ // {
+ // Edge newEdge = ViewService.createEdge(source, target, type, PreferencesHint.USE_DEFAULTS);
+ //
+ // return newEdge;
+ // }
+ //
+ // public static Edge createEdgeRemote(Node source, Node target, EObject model, String type)
+ // {
+ // Edge newEdge = ViewService.createEdge(source, target, model, type, PreferencesHint.USE_DEFAULTS);
+ // return newEdge;
+ // }
+ //
+ // public static Edge createEdgeRemote(Node source, Node target, String type, List<RelativeBendpoint> bendPoints)
+ // {
+ // Edge edge = createEdgeRemote(source, target, type);
+ // RelativeBendpoints exitingBendpoints = (RelativeBendpoints)edge.getBendpoints();
+ //
+ // @SuppressWarnings("unchecked")
+ // List<RelativeBendpoint> points = exitingBendpoints.getPoints();
+ // List<RelativeBendpoint> newBendPoints = new ArrayList<RelativeBendpoint>(points);
+ // newBendPoints.addAll(1, bendPoints);
+ // exitingBendpoints.setPoints(newBendPoints);
+ //
+ // return edge;
+ // }
+}
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/default.classdiagram b/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/default.classdiagram
index 6b41a786c2..277071eb23 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/default.classdiagram
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/default.classdiagram
@@ -1,16 +1,16 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
-
- Contributors:
- Martin Fluegge - initial API and implementation
--->
-<classdiagram:ClassDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:classdiagram="http://class.uml.diagram.mftech.org">
- <classes name="ClassA" implementedInterfaces="//@interfaces.0"/>
- <classes name="ClassB" subClasses="//@classes.0" implementedInterfaces="//@interfaces.0"/>
- <interfaces name="Interface1"/>
-</classdiagram:ClassDiagram>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Martin Fluegge - initial API and implementation
+-->
+<classdiagram:ClassDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:classdiagram="http://class.uml.diagram.mftech.org">
+ <classes name="ClassA" implementedInterfaces="//@interfaces.0"/>
+ <classes name="ClassB" subClasses="//@classes.0" implementedInterfaces="//@interfaces.0"/>
+ <interfaces name="Interface1"/>
+</classdiagram:ClassDiagram>
diff --git a/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/default.classdiagram_diagram b/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/default.classdiagram_diagram
index 6d34e8610e..94d74f5542 100644
--- a/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/default.classdiagram_diagram
+++ b/plugins/org.eclipse.emf.cdo.dawn.tests/testdata/default.classdiagram_diagram
@@ -1,84 +1,84 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
-
- Contributors:
- Martin Fluegge - initial API and implementation
--->
-<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:classdiagram="http://class.uml.diagram.mftech.org" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_BIoqAEknEd-0u7atzfRGOQ" type="Classdiagram" name="default.classdiagram_diagram" measurementUnit="Pixel">
- <children xmi:type="notation:Node" xmi:id="_DDa7sEknEd-0u7atzfRGOQ" type="2002">
- <children xmi:type="notation:DecorationNode" xmi:id="_DDa7tUknEd-0u7atzfRGOQ" type="5002"/>
- <children xmi:type="notation:DecorationNode" xmi:id="_DDa7tkknEd-0u7atzfRGOQ" type="7003">
- <styles xmi:type="notation:SortingStyle" xmi:id="_DDa7t0knEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_DDa7uEknEd-0u7atzfRGOQ"/>
- </children>
- <children xmi:type="notation:DecorationNode" xmi:id="_DDa7uUknEd-0u7atzfRGOQ" type="7004">
- <styles xmi:type="notation:SortingStyle" xmi:id="_DDa7ukknEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_DDa7u0knEd-0u7atzfRGOQ"/>
- </children>
- <styles xmi:type="notation:DescriptionStyle" xmi:id="_DDa7sUknEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_DDa7skknEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:LineStyle" xmi:id="_DDa7s0knEd-0u7atzfRGOQ"/>
- <element xmi:type="classdiagram:AClass" href="default.classdiagram#//@classes.0"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DDa7tEknEd-0u7atzfRGOQ" x="30" y="130"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_EwgIkEknEd-0u7atzfRGOQ" type="2002">
- <children xmi:type="notation:DecorationNode" xmi:id="_EwgIlUknEd-0u7atzfRGOQ" type="5002"/>
- <children xmi:type="notation:DecorationNode" xmi:id="_EwgIlkknEd-0u7atzfRGOQ" type="7003">
- <styles xmi:type="notation:SortingStyle" xmi:id="_EwgIl0knEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_EwgImEknEd-0u7atzfRGOQ"/>
- </children>
- <children xmi:type="notation:DecorationNode" xmi:id="_EwgImUknEd-0u7atzfRGOQ" type="7004">
- <styles xmi:type="notation:SortingStyle" xmi:id="_EwgImkknEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_EwgIm0knEd-0u7atzfRGOQ"/>
- </children>
- <styles xmi:type="notation:DescriptionStyle" xmi:id="_EwgIkUknEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_EwgIkkknEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:LineStyle" xmi:id="_EwgIk0knEd-0u7atzfRGOQ"/>
- <element xmi:type="classdiagram:AClass" href="default.classdiagram#//@classes.1"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EwgIlEknEd-0u7atzfRGOQ" x="100" y="30"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_Hahe0EknEd-0u7atzfRGOQ" type="2001">
- <children xmi:type="notation:DecorationNode" xmi:id="_Hahe1UknEd-0u7atzfRGOQ" type="5001"/>
- <children xmi:type="notation:DecorationNode" xmi:id="_Hahe1kknEd-0u7atzfRGOQ" type="7001">
- <styles xmi:type="notation:SortingStyle" xmi:id="_Hahe10knEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_Hahe2EknEd-0u7atzfRGOQ"/>
- </children>
- <children xmi:type="notation:DecorationNode" xmi:id="_Hahe2UknEd-0u7atzfRGOQ" type="7002">
- <styles xmi:type="notation:SortingStyle" xmi:id="_Hahe2kknEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="_Hahe20knEd-0u7atzfRGOQ"/>
- </children>
- <styles xmi:type="notation:DescriptionStyle" xmi:id="_Hahe0UknEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:FontStyle" xmi:id="_Hahe0kknEd-0u7atzfRGOQ"/>
- <styles xmi:type="notation:LineStyle" xmi:id="_Hahe00knEd-0u7atzfRGOQ"/>
- <element xmi:type="classdiagram:AInterface" href="default.classdiagram#//@interfaces.0"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hahe1EknEd-0u7atzfRGOQ" x="90" y="230"/>
- </children>
- <styles xmi:type="notation:DiagramStyle" xmi:id="_BIoqAUknEd-0u7atzfRGOQ"/>
- <element xmi:type="classdiagram:ClassDiagram" href="default.classdiagram#/"/>
- <edges xmi:type="notation:Connector" xmi:id="_JZ7KwEknEd-0u7atzfRGOQ" type="4001" source="_EwgIkEknEd-0u7atzfRGOQ" target="_DDa7sEknEd-0u7atzfRGOQ">
- <styles xmi:type="notation:FontStyle" xmi:id="_JZ7KwUknEd-0u7atzfRGOQ"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JZ7KwkknEd-0u7atzfRGOQ" points="[-12, -5, 44, -65]$[-56, -20, 0, -80]$[-56, 60, 0, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MGe3okknEd-0u7atzfRGOQ" id="(0.3137254901960784,0.075)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MGe3o0knEd-0u7atzfRGOQ" id="(0.5,0.0)"/>
- </edges>
- <edges xmi:type="notation:Connector" xmi:id="_KUVkkEknEd-0u7atzfRGOQ" type="4002" source="_EwgIkEknEd-0u7atzfRGOQ" target="_Hahe0EknEd-0u7atzfRGOQ">
- <styles xmi:type="notation:FontStyle" xmi:id="_KUVkkUknEd-0u7atzfRGOQ"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KUVkkkknEd-0u7atzfRGOQ" points="[0, 0, 0, -160]$[0, 160, 0, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KUyQgEknEd-0u7atzfRGOQ" id="(0.49019607843137253,1.0)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MGe3pEknEd-0u7atzfRGOQ" id="(0.5,0.0)"/>
- </edges>
- <edges xmi:type="notation:Connector" xmi:id="_KpNBUEknEd-0u7atzfRGOQ" type="4002" source="_DDa7sEknEd-0u7atzfRGOQ" target="_Hahe0EknEd-0u7atzfRGOQ">
- <styles xmi:type="notation:FontStyle" xmi:id="_KpNBUUknEd-0u7atzfRGOQ"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KpNBUkknEd-0u7atzfRGOQ" points="[0, 4, -44, -96]$[0, 100, -44, 0]$[42, 100, -2, 0]"/>
- <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MGe3oEknEd-0u7atzfRGOQ" id="(0.34615384615384615,0.9)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MGe3oUknEd-0u7atzfRGOQ" id="(0.02631578947368421,0.6666666666666666)"/>
- </edges>
-</notation:Diagram>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Martin Fluegge - initial API and implementation
+-->
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:classdiagram="http://class.uml.diagram.mftech.org" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_BIoqAEknEd-0u7atzfRGOQ" type="Classdiagram" name="default.classdiagram_diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Node" xmi:id="_DDa7sEknEd-0u7atzfRGOQ" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_DDa7tUknEd-0u7atzfRGOQ" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_DDa7tkknEd-0u7atzfRGOQ" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DDa7t0knEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DDa7uEknEd-0u7atzfRGOQ"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_DDa7uUknEd-0u7atzfRGOQ" type="7004">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DDa7ukknEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DDa7u0knEd-0u7atzfRGOQ"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_DDa7sUknEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_DDa7skknEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_DDa7s0knEd-0u7atzfRGOQ"/>
+ <element xmi:type="classdiagram:AClass" href="default.classdiagram#//@classes.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DDa7tEknEd-0u7atzfRGOQ" x="30" y="130"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_EwgIkEknEd-0u7atzfRGOQ" type="2002">
+ <children xmi:type="notation:DecorationNode" xmi:id="_EwgIlUknEd-0u7atzfRGOQ" type="5002"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EwgIlkknEd-0u7atzfRGOQ" type="7003">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EwgIl0knEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EwgImEknEd-0u7atzfRGOQ"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_EwgImUknEd-0u7atzfRGOQ" type="7004">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_EwgImkknEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_EwgIm0knEd-0u7atzfRGOQ"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_EwgIkUknEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_EwgIkkknEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_EwgIk0knEd-0u7atzfRGOQ"/>
+ <element xmi:type="classdiagram:AClass" href="default.classdiagram#//@classes.1"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EwgIlEknEd-0u7atzfRGOQ" x="100" y="30"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_Hahe0EknEd-0u7atzfRGOQ" type="2001">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Hahe1UknEd-0u7atzfRGOQ" type="5001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Hahe1kknEd-0u7atzfRGOQ" type="7001">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Hahe10knEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Hahe2EknEd-0u7atzfRGOQ"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Hahe2UknEd-0u7atzfRGOQ" type="7002">
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Hahe2kknEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Hahe20knEd-0u7atzfRGOQ"/>
+ </children>
+ <styles xmi:type="notation:DescriptionStyle" xmi:id="_Hahe0UknEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Hahe0kknEd-0u7atzfRGOQ"/>
+ <styles xmi:type="notation:LineStyle" xmi:id="_Hahe00knEd-0u7atzfRGOQ"/>
+ <element xmi:type="classdiagram:AInterface" href="default.classdiagram#//@interfaces.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hahe1EknEd-0u7atzfRGOQ" x="90" y="230"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_BIoqAUknEd-0u7atzfRGOQ"/>
+ <element xmi:type="classdiagram:ClassDiagram" href="default.classdiagram#/"/>
+ <edges xmi:type="notation:Connector" xmi:id="_JZ7KwEknEd-0u7atzfRGOQ" type="4001" source="_EwgIkEknEd-0u7atzfRGOQ" target="_DDa7sEknEd-0u7atzfRGOQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_JZ7KwUknEd-0u7atzfRGOQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JZ7KwkknEd-0u7atzfRGOQ" points="[-12, -5, 44, -65]$[-56, -20, 0, -80]$[-56, 60, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MGe3okknEd-0u7atzfRGOQ" id="(0.3137254901960784,0.075)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MGe3o0knEd-0u7atzfRGOQ" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_KUVkkEknEd-0u7atzfRGOQ" type="4002" source="_EwgIkEknEd-0u7atzfRGOQ" target="_Hahe0EknEd-0u7atzfRGOQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_KUVkkUknEd-0u7atzfRGOQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KUVkkkknEd-0u7atzfRGOQ" points="[0, 0, 0, -160]$[0, 160, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KUyQgEknEd-0u7atzfRGOQ" id="(0.49019607843137253,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MGe3pEknEd-0u7atzfRGOQ" id="(0.5,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_KpNBUEknEd-0u7atzfRGOQ" type="4002" source="_DDa7sEknEd-0u7atzfRGOQ" target="_Hahe0EknEd-0u7atzfRGOQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_KpNBUUknEd-0u7atzfRGOQ"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KpNBUkknEd-0u7atzfRGOQ" points="[0, 4, -44, -96]$[0, 100, -44, 0]$[42, 100, -2, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MGe3oEknEd-0u7atzfRGOQ" id="(0.34615384615384615,0.9)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MGe3oUknEd-0u7atzfRGOQ" id="(0.02631578947368421,0.6666666666666666)"/>
+ </edges>
+</notation:Diagram>

Back to the top