fixed build
diff --git a/pom.xml b/pom.xml
index c2ba787..0189478 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,6 +91,7 @@
<!-- Intent tests -->
<module>tests/org.eclipse.mylyn.docs.intent.parser.test</module>
+ <module>tests/org.eclipse.mylyn.docs.intent.compare.test</module>
<module>tests/org.eclipse.mylyn.docs.intent.collab.test</module>
<module>tests/org.eclipse.mylyn.docs.intent.client.ui.test</module>
<module>tests/org.eclipse.mylyn.docs.intent.client.compiler.test</module>
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/.checkstyle b/tests/org.eclipse.mylyn.docs.intent.compare.test/.checkstyle
new file mode 100644
index 0000000..4017aff
--- /dev/null
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/.checkstyle
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fileset-config file-format-version="1.2.0" simple-config="true">
+ <local-check-config name="Intent" location="/org.eclipse.mylyn.docs.intent/dev/code/checkstyleConfiguration.xml" type="project" description="">
+ <additional-data name="protect-config-file" value="false"/>
+ </local-check-config>
+ <fileset name="tous" enabled="true" check-config-name="Intent" local="true">
+ <file-match-pattern match-pattern="." include-pattern="true"/>
+ </fileset>
+ <filter name="FilesFromPackage" enabled="true">
+ <filter-data value="src/org/eclipse/mylyn/docs/intent/compare/debug"/>
+ </filter>
+</fileset-config>
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/.classpath b/tests/org.eclipse.mylyn.docs.intent.compare.test/.classpath
index 8a8f166..0f50db1 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/.classpath
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/.project b/tests/org.eclipse.mylyn.docs.intent.compare.test/.project
index 408d4f2..a489dab 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/.project
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/.project
@@ -20,9 +20,21 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
</natures>
</projectDescription>
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.core.prefs
index f287d53..c82c880 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.core.prefs
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,288 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+#Fri Sep 23 21:59:11 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=1
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=110
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=
+org.eclipse.jdt.core.formatter.enabling_tag=
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=8
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=110
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..377e9ee
--- /dev/null
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,57 @@
+#Fri Sep 23 21:59:11 CEST 2011
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Intent
+formatter_settings_version=12
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=false
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=false
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/META-INF/MANIFEST.MF b/tests/org.eclipse.mylyn.docs.intent.compare.test/META-INF/MANIFEST.MF
index 61d81c0..96e4aa5 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/META-INF/MANIFEST.MF
@@ -1,8 +1,9 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
-Bundle-Name: Emf_compare2_merge_issues
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.mylyn.docs.intent.compare.test
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 0.7.0.qualifier
Require-Bundle: org.eclipse.core.runtime,
org.junit;bundle-version="4.8.1",
org.eclipse.mylyn.docs.intent.core;bundle-version="0.7.0",
@@ -11,4 +12,5 @@
com.google.guava;bundle-version="10.0.1",
org.eclipse.mylyn.docs.intent.compare;bundle-version="0.7.0"
Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: %providerName
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/about.html b/tests/org.eclipse.mylyn.docs.intent.compare.test/about.html
new file mode 100644
index 0000000..34ab520
--- /dev/null
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/about.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 14, 2010</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ ("EPL"). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and
+Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology
+ on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/build.properties b/tests/org.eclipse.mylyn.docs.intent.compare.test/build.properties
index 41eb6ad..33a3ca4 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/build.properties
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/build.properties
@@ -1,4 +1,17 @@
+################################################################################
+# Copyright (c) 2010, 2012 Obeo.
+# 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:
+# Obeo - initial API and implementation
+################################################################################
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
- .
+ .,\
+ about.html,\
+ plugin.properties
+src.includes = about.html
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/plugin.properties b/tests/org.eclipse.mylyn.docs.intent.compare.test/plugin.properties
new file mode 100644
index 0000000..4d72632
--- /dev/null
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/plugin.properties
@@ -0,0 +1,12 @@
+#################################################################################
+# Copyright (c) 2012 Obeo.
+# 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:
+# Obeo - initial API and implementation
+#################################################################################
+pluginName = Intent EMF Compare Test
+providerName = Eclipse Mylyn
\ No newline at end of file
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/pom.xml b/tests/org.eclipse.mylyn.docs.intent.compare.test/pom.xml
new file mode 100644
index 0000000..d25988f
--- /dev/null
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (C) 2011, 2012 Obeo
+
+ Cedric Brun <cedric.brun@obeo.fr>
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.mylyn.docs.intent-group</groupId>
+ <artifactId>intent-parent</artifactId>
+ <version>0.7.0-SNAPSHOT</version>
+ <relativePath>../..</relativePath>
+ </parent>
+
+ <artifactId>org.eclipse.mylyn.docs.intent.compare.test</artifactId>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-source-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${tycho-version}</version>
+ <configuration>
+ <includes>
+ <include>org/eclipse/mylyn/docs/intent/compare/test/unit/MergingIssues.class</include>
+ </includes>
+ <testIgnoreFailure>true</testIgnoreFailure>
+ <testFailureIgnore>true</testFailureIgnore>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+
+
+</project>
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/unit/MergingIssues.java b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/unit/MergingIssues.java
index f81b980..c24b7ca 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/unit/MergingIssues.java
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/unit/MergingIssues.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
package org.eclipse.mylyn.docs.intent.compare.test.unit;
import java.io.File;
@@ -12,8 +22,14 @@
import org.eclipse.mylyn.docs.intent.parser.modelingunit.ParseException;
import org.eclipse.mylyn.docs.intent.serializer.IntentSerializer;
+/**
+ * Tests the potential merging issues.
+ *
+ * @author <a href="mailto:william.piers@obeo.fr">William Piers</a>
+ */
public class MergingIssues extends AbstractEMFCompareTest {
private static final boolean USE_DEFAULT_COMPARE = false;
+
private static final boolean DEBUG = false;
public void testFillEmptyDoc() throws IOException, ParseException {
@@ -104,13 +120,10 @@
compareAndMerge("reverseRename");
}
- private void compareAndMerge(String testName) throws IOException,
- ParseException {
+ private void compareAndMerge(String testName) throws IOException, ParseException {
- String repository = getFileAsString(new File("data/" + testName
- + "/IntentDocument.text"));
- String modified = getFileAsString(new File("data/" + testName
- + "/IntentDocument.text.modifications"));
+ String repository = getFileAsString(new File("data/" + testName + "/IntentDocument.text"));
+ String modified = getFileAsString(new File("data/" + testName + "/IntentDocument.text.modifications"));
IntentStructuredElement left = parseIntentDocument(modified);
IntentStructuredElement right = parseIntentDocument(repository);
@@ -132,8 +145,7 @@
System.out.println();
IntentPrettyPrinter.printMatch(comparison, System.out);
IntentPrettyPrinter.printDifferences(comparison, System.out);
- System.out
- .println("=========================================================");
+ System.out.println("=========================================================");
}
for (Diff diff : comparison.getDifferences()) {
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/AbstractEMFCompareTest.java b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/AbstractEMFCompareTest.java
index 52bad62..e678784 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/AbstractEMFCompareTest.java
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/AbstractEMFCompareTest.java
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
package org.eclipse.mylyn.docs.intent.compare.test.utils;
import java.io.BufferedInputStream;
@@ -15,21 +25,39 @@
import org.eclipse.mylyn.docs.intent.parser.IntentParser;
import org.eclipse.mylyn.docs.intent.parser.modelingunit.ParseException;
+/**
+ * Abstract definition of a comparison test.
+ *
+ * @author <a href="mailto:william.piers@obeo.fr">William Piers</a>
+ */
public class AbstractEMFCompareTest extends TestCase {
- protected void compareAndMergeDiffs(IntentStructuredElement left,
- IntentStructuredElement right) {
+ /**
+ * Compares the two elements.
+ *
+ * @param left
+ * the left element
+ * @param right
+ * the right element
+ */
+ protected void compareAndMergeDiffs(IntentStructuredElement left, IntentStructuredElement right) {
try {
new IntentASTMerger().mergeFromLocalToRepository(left, right);
} catch (MergingException e) {
fail(e.getMessage());
}
-
}
- protected IntentStructuredElement parseIntentDocument(String content)
- throws ParseException {
- return (IntentStructuredElement) new IntentParser().parse(content);
+ /**
+ * Parses the given document.
+ *
+ * @param content
+ * the document as string
+ * @return the parser result
+ * @throws ParseException
+ */
+ protected IntentStructuredElement parseIntentDocument(String content) throws ParseException {
+ return (IntentStructuredElement)new IntentParser().parse(content);
}
/**
diff --git a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/IntentPrettyPrinter.java b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/IntentPrettyPrinter.java
index 08b60ab..1f2248d 100644
--- a/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/IntentPrettyPrinter.java
+++ b/tests/org.eclipse.mylyn.docs.intent.compare.test/src/org/eclipse/mylyn/docs/intent/compare/test/utils/IntentPrettyPrinter.java
@@ -10,8 +10,6 @@
*******************************************************************************/
package org.eclipse.mylyn.docs.intent.compare.test.utils;
-import com.google.common.collect.Iterables;
-
import java.io.PrintStream;
import java.util.Arrays;
@@ -27,15 +25,15 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.mylyn.docs.intent.compare.utils.IntentEqualityHelper;
import org.eclipse.mylyn.docs.intent.core.document.IntentDocument;
-import org.eclipse.mylyn.docs.intent.core.document.IntentStructuredElement;
import org.eclipse.mylyn.docs.intent.core.modelingunit.StructuralFeatureAffectation;
import org.eclipse.mylyn.docs.intent.markup.markup.Annotations;
import org.eclipse.mylyn.docs.intent.markup.markup.Text;
-// TODO do we need to externalize this? For now, suppressing the NLS warnings.
+import com.google.common.collect.Iterables;
+
/**
- * This class exposes methods to serialize a "human-readable" form of the
- * comparison model onto a given stream.
+ * This class exposes methods to serialize a "human-readable" form of the comparison model onto a given
+ * stream.
*
* @author <a href="mailto:laurent.goubet@obeo.fr">Laurent Goubet</a>
*/
@@ -55,14 +53,12 @@
}
/**
- * Prints the whole comparison on the given stream (might be {@code stream}
- * ).
+ * Prints the whole comparison on the given stream (might be {@code stream} ).
*
* @param comparison
* The comparison we are to print on {@code stream}.
* @param stream
- * The {@link PrintStream} on which we should print this
- * comparison model.
+ * The {@link PrintStream} on which we should print this comparison model.
*/
public static void printComparison(Comparison comparison, PrintStream stream) {
for (MatchResource res : comparison.getMatchedResources()) {
@@ -81,30 +77,25 @@
}
/**
- * Prints all the Match elements contained by the given {@code comparison}.
- * Each Match will be displayed on its own line.
+ * Prints all the Match elements contained by the given {@code comparison}. Each Match will be displayed
+ * on its own line.
* <p>
- * For example, if the left model has two packages "package1" and
- * "package2", but the right has "package1" and "package3", what we will
- * display here depends on the Match : if "left.package1" is matched with
- * "right.package1", but "package2" and "package3" did not match, this will
- * print <code><pre>
+ * For example, if the left model has two packages "package1" and "package2", but the right has "package1"
+ * and "package3", what we will display here depends on the Match : if "left.package1" is matched with
+ * "right.package1", but "package2" and "package3" did not match, this will print <code><pre>
* | package1 | package1 |
* | package2 | |
* | | package3 |
- * </pre></code> On the contrary, if "package2" and "package3" did match, we
- * will display <code><pre>
+ * </pre></code> On the contrary, if "package2" and "package3" did match, we will display <code><pre>
* | package1 | package1 |
* | package2 | package3 |
* </pre></code>
* </p>
*
* @param comparison
- * The comparison which Matched elements we are to print on
- * {@code stream}.
+ * The comparison which Matched elements we are to print on {@code stream}.
* @param stream
- * The {@link PrintStream} on which we should print the matched
- * elements of this comparison.
+ * The {@link PrintStream} on which we should print the matched elements of this comparison.
*/
public static void printMatch(Comparison comparison, PrintStream stream) {
final String separator = "+----------------------------------------+----------------------------------------+----------------------------------------+"; //$NON-NLS-1$
@@ -112,9 +103,8 @@
final String rightLabel = "Right";
final String originLabel = "Origin";
stream.println(separator);
- stream.println('|' + formatHeader(leftLabel) + '|'
- + formatHeader(rightLabel) + '|' + formatHeader(originLabel)
- + '|');
+ stream.println('|' + formatHeader(leftLabel) + '|' + formatHeader(rightLabel) + '|'
+ + formatHeader(originLabel) + '|');
stream.println(separator);
for (Match match : comparison.getMatches()) {
printMatch(match, stream);
@@ -123,20 +113,16 @@
}
/**
- * Prints all differences detected for the given {@code comparison} on the
- * given {@code stream}.
+ * Prints all differences detected for the given {@code comparison} on the given {@code stream}.
*
* @param comparison
- * The comparison which differences we are to print on
- * {@code stream}.
+ * The comparison which differences we are to print on {@code stream}.
* @param stream
- * The {@link PrintStream} on which we should print these
- * differences.
+ * The {@link PrintStream} on which we should print these differences.
*/
- public static void printDifferences(Comparison comparison,
- PrintStream stream) {
- final Iterable<ReferenceChange> refChanges = Iterables.filter(
- comparison.getDifferences(), ReferenceChange.class);
+ public static void printDifferences(Comparison comparison, PrintStream stream) {
+ final Iterable<ReferenceChange> refChanges = Iterables.filter(comparison.getDifferences(),
+ ReferenceChange.class);
stream.println("REFERENCE CHANGES");
for (Diff diff : refChanges) {
@@ -145,8 +131,8 @@
stream.println();
stream.println("ATTRIBUTE CHANGES");
- final Iterable<AttributeChange> attChanges = Iterables.filter(
- comparison.getDifferences(), AttributeChange.class);
+ final Iterable<AttributeChange> attChanges = Iterables.filter(comparison.getDifferences(),
+ AttributeChange.class);
for (Diff diff : attChanges) {
printDiff(diff, stream);
}
@@ -164,19 +150,18 @@
* @param conflict
* The conflict we need to print on {@code stream}.
* @param stream
- * The {@link PrintStream} on which we should print this
- * conflict.
+ * The {@link PrintStream} on which we should print this conflict.
*/
private static void printConflict(Conflict conflict, PrintStream stream) {
stream.println(conflict.getKind() + " conflict:");
- final Iterable<ReferenceChange> refChanges = Iterables.filter(
- conflict.getDifferences(), ReferenceChange.class);
+ final Iterable<ReferenceChange> refChanges = Iterables.filter(conflict.getDifferences(),
+ ReferenceChange.class);
for (Diff diff : refChanges) {
stream.print("\t");
printDiff(diff, stream);
}
- final Iterable<AttributeChange> attChanges = Iterables.filter(
- conflict.getDifferences(), AttributeChange.class);
+ final Iterable<AttributeChange> attChanges = Iterables.filter(conflict.getDifferences(),
+ AttributeChange.class);
for (Diff diff : attChanges) {
stream.print("\t");
printDiff(diff, stream);
@@ -190,12 +175,11 @@
* @param diff
* The difference we are to print on {@code stream}.
* @param stream
- * The {@link PrintStream} on which we should print this
- * difference.
+ * The {@link PrintStream} on which we should print this difference.
*/
private static void printDiff(Diff diff, PrintStream stream) {
if (diff instanceof ReferenceChange) {
- final ReferenceChange refChange = (ReferenceChange) diff;
+ final ReferenceChange refChange = (ReferenceChange)diff;
final String valueName;
if (refChange.getValue() != null) {
valueName = elementToReadableString(refChange.getValue());
@@ -217,25 +201,20 @@
}
final String objectName;
if (refChange.getMatch().getLeft() != null) {
- objectName = elementToReadableString(refChange.getMatch()
- .getLeft());
+ objectName = elementToReadableString(refChange.getMatch().getLeft());
} else if (refChange.getMatch().getRight() != null) {
- objectName = elementToReadableString(refChange.getMatch()
- .getRight());
+ objectName = elementToReadableString(refChange.getMatch().getRight());
} else if (refChange.getMatch().getOrigin() != null) {
- objectName = elementToReadableString(refChange.getMatch()
- .getOrigin());
+ objectName = elementToReadableString(refChange.getMatch().getOrigin());
} else {
objectName = "";
}
if (valueName != null) {
- stream.println("[" + diff.getKind() + "] " + "value "
- + valueName + " has been " + change + " reference "
- + refChange.getReference().getName() + " of object "
- + objectName);
+ stream.println("[" + diff.getKind() + "] " + "value " + valueName + " has been " + change
+ + " reference " + refChange.getReference().getName() + " of object " + objectName);
}
} else if (diff instanceof AttributeChange) {
- final AttributeChange attChange = (AttributeChange) diff;
+ final AttributeChange attChange = (AttributeChange)diff;
String valueName = "null";
if (attChange.getValue() != null) {
valueName = attChange.getValue().toString();
@@ -255,20 +234,16 @@
}
final String objectName;
if (attChange.getMatch().getLeft() != null) {
- objectName = elementToReadableString(attChange.getMatch()
- .getLeft());
+ objectName = elementToReadableString(attChange.getMatch().getLeft());
} else if (attChange.getMatch().getRight() != null) {
- objectName = elementToReadableString(attChange.getMatch()
- .getRight());
+ objectName = elementToReadableString(attChange.getMatch().getRight());
} else if (attChange.getMatch().getOrigin() != null) {
- objectName = elementToReadableString(attChange.getMatch()
- .getOrigin());
+ objectName = elementToReadableString(attChange.getMatch().getOrigin());
} else {
objectName = "";
}
- stream.println("value " + valueName + " has been " + change
- + " attribute " + attChange.getAttribute().getName()
- + " of object " + objectName);
+ stream.println("value " + valueName + " has been " + change + " attribute "
+ + attChange.getAttribute().getName() + " of object " + objectName);
}
}
@@ -278,10 +253,8 @@
* @param match
* The match we are to print on {@code stream}.
* @param stream
- * The {@link PrintStream} on which we should print this
- * difference.
- * @see #printMatch(Comparison, PrintStream) A description on how we format
- * the match.
+ * The {@link PrintStream} on which we should print this difference.
+ * @see #printMatch(Comparison, PrintStream) A description on how we format the match.
*/
private static void printMatch(Match match, PrintStream stream) {
String leftName = null;
@@ -295,12 +268,10 @@
} else {
int level = 0;
EObject currentMatch = match;
- while (currentMatch instanceof Match
- && ((Match) currentMatch).getLeft() == null) {
+ while (currentMatch instanceof Match && ((Match)currentMatch).getLeft() == null) {
currentMatch = currentMatch.eContainer();
}
- while (currentMatch instanceof Match
- && ((Match) currentMatch).getLeft() != null) {
+ while (currentMatch instanceof Match && ((Match)currentMatch).getLeft() != null) {
level++;
currentMatch = currentMatch.eContainer();
}
@@ -312,12 +283,10 @@
} else {
int level = 0;
EObject currentMatch = match;
- while (currentMatch instanceof Match
- && ((Match) currentMatch).getRight() == null) {
+ while (currentMatch instanceof Match && ((Match)currentMatch).getRight() == null) {
currentMatch = currentMatch.eContainer();
}
- while (currentMatch instanceof Match
- && ((Match) currentMatch).getRight() != null) {
+ while (currentMatch instanceof Match && ((Match)currentMatch).getRight() != null) {
level++;
currentMatch = currentMatch.eContainer();
}
@@ -333,8 +302,8 @@
}
/**
- * Formats the given header so that it spans {@value #COLUMN_LENGTH}
- * characters, centered between white spaces.
+ * Formats the given header so that it spans {@value #COLUMN_LENGTH} characters, centered between white
+ * spaces.
*
* @param header
* The header we are to format.
@@ -353,13 +322,12 @@
for (int i = 0; i < charsAfter.length; i++) {
charsAfter[i] = ' ';
}
- return String.valueOf(charsBefore) + header
- + String.valueOf(charsAfter);
+ return String.valueOf(charsBefore) + header + String.valueOf(charsAfter);
}
/**
- * Formats the named of the given element by adding spaces before and after
- * it so that it spans {@value #COLUMN_LENGTH} characters at most.
+ * Formats the named of the given element by adding spaces before and after it so that it spans
+ * {@value #COLUMN_LENGTH} characters at most.
*
* @param element
* The element which name should be formatted.
@@ -386,13 +354,11 @@
charsBefore[charsBefore.length - 1] = '-';
}
- int missingChars = COLUMN_LENGTH - name.length()
- - charsBefore.length;
+ int missingChars = COLUMN_LENGTH - name.length() - charsBefore.length;
final char[] spacesAfter = new char[Math.max(0, missingChars)];
Arrays.fill(spacesAfter, ' ');
- return String.valueOf(charsBefore) + name
- + String.valueOf(spacesAfter);
+ return String.valueOf(charsBefore) + name + String.valueOf(spacesAfter);
}
return null;
}
@@ -401,10 +367,8 @@
* Returns an "empty line" which will only show pipes for previous levels.
*
* @param level
- * The level of nesting that we should make visible through pipes
- * on this line.
- * @return A line that displays only pipes for a tree's {@code level}, and
- * only that.
+ * The level of nesting that we should make visible through pipes on this line.
+ * @return A line that displays only pipes for a tree's {@code level}, and only that.
*/
private static String getEmptyLine(int level) {
char[] charsBefore = new char[1 + (level * 2)];
@@ -462,11 +426,11 @@
public static String diffToReadableString(Diff diff) {
String res = diff.getKind() + " ";
if (diff instanceof AttributeChange) {
- AttributeChange change = (AttributeChange) diff;
+ AttributeChange change = (AttributeChange)diff;
res += change.getAttribute().getEContainingClass().getName() + "."
+ change.getAttribute().getName() + " ";
} else if (diff instanceof ReferenceChange) {
- ReferenceChange change = (ReferenceChange) diff;
+ ReferenceChange change = (ReferenceChange)diff;
res += change.getReference().getEContainingClass().getName() + "."
+ change.getReference().getName() + " ";
}
@@ -491,19 +455,17 @@
res = "?";
} else {
res = element.eClass().getName();
- String fragment = new IntentEqualityHelper().getURI(element)
- .fragment();
+ String fragment = new IntentEqualityHelper().getURI(element).fragment();
if (fragment != null) {
res += "[" + fragment + "]";
}
}
if (element instanceof Text) {
- res = "\"" + ((Text) element).getData() + "\"";
- } else if (element instanceof IntentDocument
- || element instanceof Annotations) {
+ res = "\"" + ((Text)element).getData() + "\"";
+ } else if (element instanceof IntentDocument || element instanceof Annotations) {
res = null;
} else if (element instanceof StructuralFeatureAffectation) {
- StructuralFeatureAffectation aff = (StructuralFeatureAffectation) element;
+ StructuralFeatureAffectation aff = (StructuralFeatureAffectation)element;
res += element.eClass().getName() + " \"" + aff.getName() + "\"";
}
return res;