Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Parker2014-01-15 19:05:03 +0000
committerMiles Parker2014-01-17 01:16:47 +0000
commitcb35f6b074f819968e079cf91b6e2b996e673913 (patch)
tree7d8d1dee2cfd905432dd692677b874ee96a2e739 /org.eclipse.m2e.jdt.ui
parent0bcbf957bf751a0a92e903bd867be33befc404b4 (diff)
downloadm2e-core-cb35f6b074f819968e079cf91b6e2b996e673913.tar.gz
m2e-core-cb35f6b074f819968e079cf91b6e2b996e673913.tar.xz
m2e-core-cb35f6b074f819968e079cf91b6e2b996e673913.zip
424096: Split org.eclipse.m2e.jdt bundle into core and ui.
Change-Id: I3595ad06244f3294b8a787db9f59567b0dbb856c Signed-off-by: Miles Parker <milesparker@gmail.com>
Diffstat (limited to 'org.eclipse.m2e.jdt.ui')
-rw-r--r--org.eclipse.m2e.jdt.ui/.classpath7
-rw-r--r--org.eclipse.m2e.jdt.ui/.options11
-rw-r--r--org.eclipse.m2e.jdt.ui/.project34
-rw-r--r--org.eclipse.m2e.jdt.ui/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--org.eclipse.m2e.jdt.ui/.settings/org.eclipse.jdt.core.prefs393
-rw-r--r--org.eclipse.m2e.jdt.ui/.settings/org.eclipse.jdt.ui.prefs66
-rw-r--r--org.eclipse.m2e.jdt.ui/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--org.eclipse.m2e.jdt.ui/META-INF/MANIFEST.MF26
-rw-r--r--org.eclipse.m2e.jdt.ui/about.html28
-rw-r--r--org.eclipse.m2e.jdt.ui/build.properties19
-rw-r--r--org.eclipse.m2e.jdt.ui/icons/javadoc.gifbin0 -> 323 bytes
-rw-r--r--org.eclipse.m2e.jdt.ui/icons/m2.gifbin0 -> 222 bytes
-rw-r--r--org.eclipse.m2e.jdt.ui/plugin.properties35
-rw-r--r--org.eclipse.m2e.jdt.ui/plugin.xml307
-rw-r--r--org.eclipse.m2e.jdt.ui/pom.xml24
-rw-r--r--org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/actions/DownloadSourcesAction.java94
-rw-r--r--org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/actions/OpenJavaDocAction.java146
-rw-r--r--org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/DownloadSourcesActionDelegate.java74
-rw-r--r--org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/JavaUiElementsAdapterFactory.java75
-rw-r--r--org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/MavenClasspathContainerPage.java91
-rw-r--r--org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/Messages.java40
-rw-r--r--org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/filter/MavenModuleFilter.java73
-rw-r--r--org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/messages.properties4
23 files changed, 1553 insertions, 0 deletions
diff --git a/org.eclipse.m2e.jdt.ui/.classpath b/org.eclipse.m2e.jdt.ui/.classpath
new file mode 100644
index 00000000..0b1bcf94
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src/"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.m2e.jdt.ui/.options b/org.eclipse.m2e.jdt.ui/.options
new file mode 100644
index 00000000..aabe044e
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/.options
@@ -0,0 +1,11 @@
+# Debugging options for the org.eclipse.m2e.jdt.ui plugin.
+
+# Turn on debugging for the org.eclipse.m2e.jdt.ui plugin.
+org.eclipse.m2e.jdt.ui/debug=false
+
+# Plugin initialization
+org.eclipse.m2e.jdt.ui/debug/initialization=false
+
+# Maven compilation participant
+org.eclipse.m2e.jdt.ui/debug/compilationParticipant=false
+
diff --git a/org.eclipse.m2e.jdt.ui/.project b/org.eclipse.m2e.jdt.ui/.project
new file mode 100644
index 00000000..2bc08ead
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.m2e.jdt.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.core.resources.prefs b/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..99f26c02
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..e471c2df
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,393 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=
+org.eclipse.jdt.core.codeComplete.fieldSuffixes=
+org.eclipse.jdt.core.codeComplete.localPrefixes=
+org.eclipse.jdt.core.codeComplete.localSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
+org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH
+org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=2
+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=1
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=2
+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=false
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=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=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=120
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=2
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=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=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=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=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=120
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+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=space
+org.eclipse.jdt.core.formatter.tabulation.size=2
+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
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 00000000..595d9975
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,66 @@
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_m2 plugin
+formatter_settings_version=12
+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=java;javax;org;org.w3c;org.xml;org.apache;com;junit;org.eclipse;org.codehaus;org.apache.lucene;org.apache.maven;org.sonatype;org.eclipse.m2e;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.keywordthis=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.overrideannotation=false
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return Returns the ${bare_field_name}.\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************&\#13;\n * Copyright (c) 2010 Sonatype, Inc.&\#13;\n * All rights reserved. This program and the accompanying materials&\#13;\n * are made available under the terms of the Eclipse Public License v1.0&\#13;\n * which accompanies this distribution, and is available at&\#13;\n * http\://www.eclipse.org/legal/epl-v10.html&\#13;\n *&\#13;\n * Contributors\:&\#13;\n * Sonatype, Inc. - initial API and implementation&\#13;\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * ${type_name}\n *\n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\nlog.error(${exception_var}.getMessage(), ${exception_var});</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method ${enclosing_method}\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created JavaScript files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\n * \n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for vars" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Jsdoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\nlog.error(${exception_var}.getMessage(), ${exception_var});</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created function stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated function stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.wst.jsdt.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.wst.jsdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=true
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=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/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 00000000..f897a7f1
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.m2e.jdt.ui/META-INF/MANIFEST.MF b/org.eclipse.m2e.jdt.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..fe4e90e0
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,26 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.m2e.jdt.ui;singleton:=true
+Bundle-Version: 1.5.0.qualifier
+Bundle-Localization: plugin
+Export-Package: org.eclipse.m2e.jdt.internal.actions;x-internal:=true,
+ org.eclipse.m2e.jdt.internal.ui;x-internal:=true,
+ org.eclipse.m2e.jdt.internal.ui.filter;x-internal:=true
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.jface,
+ org.eclipse.debug.core,
+ org.eclipse.jdt.core,
+ org.eclipse.jdt.launching,
+ org.eclipse.jdt.ui,
+ org.eclipse.ui.workbench,
+ org.eclipse.core.resources,
+ org.eclipse.m2e.maven.runtime;bundle-version="[1.5.0,1.6.0)",
+ org.eclipse.m2e.core;bundle-version="[1.5.0,1.6.0)",
+ org.slf4j.api;bundle-version="1.6.2",
+ org.eclipse.m2e.core.ui;bundle-version="[1.5.0,1.6.0)",
+ org.eclipse.m2e.jdt;bundle-version="[1.5.0,1.6.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6,
+ JavaSE-1.7
+Bundle-Vendor: %Bundle-Vendor
diff --git a/org.eclipse.m2e.jdt.ui/about.html b/org.eclipse.m2e.jdt.ui/about.html
new file mode 100644
index 00000000..70e4b67c
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>October 29, 2010</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/org.eclipse.m2e.jdt.ui/build.properties b/org.eclipse.m2e.jdt.ui/build.properties
new file mode 100644
index 00000000..14da2312
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/build.properties
@@ -0,0 +1,19 @@
+#
+# Copyright (c) 2008-2010 Sonatype, Inc.
+# 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:
+# Sonatype, Inc. - initial API and implementation
+#
+
+bin.includes = META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ .,\
+ about.html
+jars.compile.order = .
+source.. = src/
+output.. = target/classes/
diff --git a/org.eclipse.m2e.jdt.ui/icons/javadoc.gif b/org.eclipse.m2e.jdt.ui/icons/javadoc.gif
new file mode 100644
index 00000000..c43c5d51
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/icons/javadoc.gif
Binary files differ
diff --git a/org.eclipse.m2e.jdt.ui/icons/m2.gif b/org.eclipse.m2e.jdt.ui/icons/m2.gif
new file mode 100644
index 00000000..4b0c0589
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/icons/m2.gif
Binary files differ
diff --git a/org.eclipse.m2e.jdt.ui/plugin.properties b/org.eclipse.m2e.jdt.ui/plugin.properties
new file mode 100644
index 00000000..3e9f2aae
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/plugin.properties
@@ -0,0 +1,35 @@
+#
+# Copyright (c) 2007, 2008 Sonatype, Inc.
+# 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
+#
+
+m2.classpath-container.page.name=Maven Classpath Container Page
+m2.classpath-container.page.dependencies.name=Maven Managed Dependencies
+
+m2.popup.menu.label=&Maven
+m2.popup.DownloadSourcesAction.downloadSource=Download &Sources
+m2.popup.DownloadSourcesAction.downloadJavaDoc=Download &JavaDoc
+m2.popup.OpenUrlAction.openCiPage=Open Continuous Integration
+m2.popup.OpenUrlAction.openScmPage=Open Source Control
+m2.popup.OpenUrlAction.openIssuesPage=Open Issue Tracker
+m2.popup.OpenUrlAction.openProjectPage=Open Project Page
+m2.popup.OpenPomAction=Open POM
+m2.popup.OpenJavaDoc=Open JavaDoc
+
+Bundle-Vendor = Eclipse.org - m2e
+Bundle-Name = Maven Integration for Eclipse JDT UI
+configurator.jdt.name = JDT
+filter.description = Filters module folders from the Maven projects
+filter.name = Maven modules filter
+action.label = label
+action.javadoc.label = Open JavaDoc
+action.javadoc2.label = Open JavaDoc
+action.javadoc3.label = Open JavaDoc
+action.javadoc4.label = Open JavaDoc
+lifecycleMapping.jar.name = Jar Lifecycle Mapping
+java.conversion.participant.name = Java project converter
+
+extension-point.classifierClasspathProviders.name = Launch Configuration Classifier Classpath Providers
diff --git a/org.eclipse.m2e.jdt.ui/plugin.xml b/org.eclipse.m2e.jdt.ui/plugin.xml
new file mode 100644
index 00000000..3253380b
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/plugin.xml
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2007, 2008 Sonatype, Inc.
+ 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
+-->
+<?eclipse version="3.2"?>
+<plugin>
+
+ <extension point="org.eclipse.jdt.ui.classpathContainerPage"
+ id="maven2ClasspathContainerPage"
+ name="%m2.classpath-container.page.name">
+ <classpathContainerPage
+ id="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"
+ name="%m2.classpath-container.page.dependencies.name"
+ class="org.eclipse.m2e.jdt.internal.ui.MavenClasspathContainerPage"/>
+ </extension>
+
+ <extension point="org.eclipse.core.runtime.adapters">
+ <factory adaptableType="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer$RequiredProjectWrapper"
+ class="org.eclipse.m2e.jdt.internal.ui.JavaUiElementsAdapterFactory">
+ <adapter type="org.eclipse.m2e.core.embedder.ArtifactKey"/>
+ <adapter type="org.eclipse.m2e.core.project.IMavenProjectFacade"/>
+ </factory>
+ </extension>
+
+ <extension point="org.eclipse.jdt.ui.javaElementFilters">
+ <filter id="org.eclipse.m2e.MavenModuleFilter"
+ targetId="org.eclipse.jdt.ui.PackageExplorer"
+ class="org.eclipse.m2e.jdt.internal.ui.filter.MavenModuleFilter"
+ description="%filter.description"
+ name="%filter.name"
+ enabled="false"/>
+ </extension>
+
+ <extension point="org.eclipse.ui.editorActions">
+ <editorContribution id="org.eclipse.m2e.jdt.downloadSourcesContribution"
+ targetID="org.eclipse.jdt.ui.ClassFileEditor">
+ <action id="org.eclipse.m2e.jdt.downloadSourcesAction"
+ class="org.eclipse.m2e.jdt.internal.DownloadSourcesActionDelegate"
+ label="%action.label" style="push"/>
+ </editorContribution>
+ <editorContribution id="org.eclipse.m2e.jdt.downloadSourcesContribution_38"
+ targetID="org.eclipse.jdt.ui.ClassFileEditorNoSource">
+ <action id="org.eclipse.m2e.jdt.downloadSourcesAction"
+ class="org.eclipse.m2e.jdt.internal.DownloadSourcesActionDelegate"
+ label="%action.label" style="push"/>
+ </editorContribution>
+ </extension>
+
+ <extension point="org.eclipse.ui.popupMenus">
+
+ <!--
+ NOW WE HAVE CLASSPATH MENU CONTRIBUTIONS
+ -->
+ <objectContribution id="org.eclipse.m2e.classpathMenu"
+ objectClass="org.eclipse.jdt.core.IPackageFragmentRoot"
+ adaptable="true">
+ <menu
+ id="org.eclipse.m2e.classpathMenu"
+ path="additions"
+ label="%m2.popup.menu.label">
+ <groupMarker name="new"/>
+ <separator name="org.eclipse.m2e.core.separator1"/>
+ <groupMarker name="update"/>
+ <separator name="org.eclipse.m2e.core.separator2"/>
+ <groupMarker name="open"/>
+ <separator name="org.eclipse.m2e.core.separator3"/>
+ <groupMarker name="nature"/>
+ <separator name="org.eclipse.m2e.core.separator4"/>
+ <groupMarker name="import"/>
+ </menu>
+ </objectContribution>
+ <objectContribution id="org.eclipse.m2e.classpathMenu.downloadSourcesAction"
+ objectClass="org.eclipse.jdt.core.IPackageFragmentRoot"
+ adaptable="true">
+ <action id="org.eclipse.m2e.downloadSourcesAction"
+ class="org.eclipse.m2e.jdt.internal.actions.DownloadSourcesAction:downloadSources"
+ label="%m2.popup.DownloadSourcesAction.downloadSource"
+ style="push"
+ menubarPath="org.eclipse.m2e.classpathMenu/update"
+ enablesFor="+"/>
+ <enablement>
+ <and>
+ <test property="org.eclipse.m2e.hasArtifactKey"/>
+ <not>
+ <test property="org.eclipse.m2e.hasProjectArtifactKey"/>
+ </not>
+ </and>
+ </enablement>
+ </objectContribution>
+ <objectContribution id="org.eclipse.m2e.classpathMenu.downloadJavadocAction"
+ objectClass="org.eclipse.jdt.core.IPackageFragmentRoot"
+ adaptable="true">
+ <action id="org.eclipse.m2e.downloadSourcesAction"
+ class="org.eclipse.m2e.jdt.internal.actions.DownloadSourcesAction:downloadJavaDoc"
+ label="%m2.popup.DownloadSourcesAction.downloadJavaDoc"
+ style="push"
+ menubarPath="org.eclipse.m2e.classpathMenu/update"
+ enablesFor="+"/>
+ <enablement>
+ <and>
+ <test property="org.eclipse.m2e.hasArtifactKey"/>
+ <not>
+ <test property="org.eclipse.m2e.hasProjectArtifactKey"/>
+ </not>
+ </and>
+ </enablement>
+ </objectContribution>
+
+ <objectContribution id="org.eclipse.m2e.classpathMenu.openJavadocAction"
+ objectClass="org.eclipse.jdt.core.IPackageFragmentRoot"
+ adaptable="true">
+ <action id="org.eclipse.m2e.openJavaDocAction"
+ class="org.eclipse.m2e.jdt.internal.actions.OpenJavaDocAction"
+ label="%m2.popup.OpenJavaDoc"
+ style="push"
+ menubarPath="org.eclipse.m2e.classpathMenu/open"
+ enablesFor="+"/>
+ <enablement>
+ <test property="org.eclipse.m2e.hasArtifactKey"/>
+ </enablement>
+ </objectContribution>
+
+ <objectContribution id="org.eclipse.m2e.classpathMenu.openPomAction"
+ objectClass="org.eclipse.jdt.core.IPackageFragmentRoot"
+ adaptable="true">
+ <action id="org.eclipse.m2e.openPomAction"
+ class="org.eclipse.m2e.core.ui.internal.actions.OpenPomAction"
+ label="%m2.popup.OpenPomAction"
+ style="push"
+ menubarPath="org.eclipse.m2e.classpathMenu/open"
+ enablesFor="+"/>
+ <enablement>
+ <test property="org.eclipse.m2e.hasArtifactKey"/>
+ </enablement>
+ </objectContribution>
+
+ <!--
+ NOW WE HAVE CLASSPATH MENU WRAPPER CONTRIBUTIONS
+ -->
+ <objectContribution id="org.eclipse.m2e.classpathMenuWrapper"
+ objectClass="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer$RequiredProjectWrapper"
+ adaptable="true">
+ <menu
+ id="org.eclipse.m2e.classpathMenuWrapper"
+ path="additions"
+ label="%m2.popup.menu.label">
+ <groupMarker name="new"/>
+ <separator name="org.eclipse.m2e.core.separator1"/>
+ <groupMarker name="update"/>
+ <separator name="org.eclipse.m2e.core.separator2"/>
+ <groupMarker name="open"/>
+ <separator name="org.eclipse.m2e.core.separator3"/>
+ <groupMarker name="nature"/>
+ <separator name="org.eclipse.m2e.core.separator4"/>
+ <groupMarker name="import"/>
+ </menu>
+ </objectContribution>
+
+ <objectContribution id="org.eclipse.m2e.classpathMenuWrapper.downloadSourcesAction"
+ objectClass="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer$RequiredProjectWrapper"
+ adaptable="true">
+ <action id="org.eclipse.m2e.downloadSourcesAction"
+ class="org.eclipse.m2e.jdt.internal.actions.DownloadSourcesAction:downloadSources"
+ label="%m2.popup.DownloadSourcesAction.downloadSource"
+ style="push"
+ menubarPath="org.eclipse.m2e.classpathMenuWrapper/update"
+ enablesFor="+"/>
+ <enablement>
+ <and>
+ <test property="org.eclipse.m2e.hasArtifactKey"/>
+ <not>
+ <test property="org.eclipse.m2e.hasProjectArtifactKey"/>
+ </not>
+ </and>
+ </enablement>
+ </objectContribution>
+ <objectContribution id="org.eclipse.m2e.classpathMenuWrapper.downloadJavadocAction"
+ objectClass="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer$RequiredProjectWrapper"
+ adaptable="true">
+ <action id="org.eclipse.m2e.downloadSourcesAction"
+ class="org.eclipse.m2e.jdt.internal.actions.DownloadSourcesAction:downloadJavaDoc"
+ label="%m2.popup.DownloadSourcesAction.downloadJavaDoc"
+ style="push"
+ menubarPath="org.eclipse.m2e.classpathMenuWrapper/update"
+ enablesFor="+"/>
+ <enablement>
+ <and>
+ <test property="org.eclipse.m2e.hasArtifactKey"/>
+ <not>
+ <test property="org.eclipse.m2e.hasProjectArtifactKey"/>
+ </not>
+ </and>
+ </enablement>
+ </objectContribution>
+
+ <objectContribution id="org.eclipse.m2e.classpathMenuWrapper.openJavadocAction"
+ objectClass="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer$RequiredProjectWrapper"
+ adaptable="true">
+ <action id="org.eclipse.m2e.openJavaDocAction"
+ class="org.eclipse.m2e.jdt.internal.actions.OpenJavaDocAction"
+ label="%m2.popup.OpenJavaDoc"
+ style="push"
+ menubarPath="org.eclipse.m2e.classpathMenuWrapper/open"
+ enablesFor="+"/>
+ <enablement>
+ <test property="org.eclipse.m2e.hasArtifactKey"/>
+ </enablement>
+ </objectContribution>
+
+ <objectContribution id="org.eclipse.m2e.classpathMenuWrapper.openPomAction"
+ objectClass="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer$RequiredProjectWrapper"
+ adaptable="true">
+ <action id="org.eclipse.m2e.openPomAction"
+ class="org.eclipse.m2e.core.ui.internal.actions.OpenPomAction"
+ label="%m2.popup.OpenPomAction"
+ style="push"
+ menubarPath="org.eclipse.m2e.classpathMenuWrapper/open"
+ enablesFor="+"/>
+ <enablement>
+ <test property="org.eclipse.m2e.hasArtifactKey"/>
+ </enablement>
+ </objectContribution>
+
+ <objectContribution id="org.eclipse.m2e.downloadSourcesAction"
+ objectClass="org.eclipse.core.resources.IProject"
+ adaptable="true">
+ <action id="org.eclipse.m2e.downloadSourcesAction"
+ class="org.eclipse.m2e.jdt.internal.actions.DownloadSourcesAction:downloadSources"
+ label="%m2.popup.DownloadSourcesAction.downloadSource"
+ style="push"
+ menubarPath="org.eclipse.m2e.core.mavenMenu/update"
+ enablesFor="+"/>
+ <visibility>
+ <and>
+ <objectState name="open" value="true"/>
+ <objectState name="nature" value="org.eclipse.m2e.core.maven2Nature"/>
+ </and>
+ </visibility>
+ </objectContribution>
+ <objectContribution id="org.eclipse.m2e.downloadJavadocAction"
+ objectClass="org.eclipse.core.resources.IProject"
+ adaptable="true">
+ <action id="org.eclipse.m2e.downloadSourcesAction"
+ class="org.eclipse.m2e.jdt.internal.actions.DownloadSourcesAction:downloadJavaDoc"
+ label="%m2.popup.DownloadSourcesAction.downloadJavaDoc"
+ style="push"
+ menubarPath="org.eclipse.m2e.core.mavenMenu/update"
+ enablesFor="+"/>
+ <visibility>
+ <and>
+ <objectState name="open" value="true"/>
+ <objectState name="nature" value="org.eclipse.m2e.core.maven2Nature"/>
+ </and>
+ </visibility>
+ </objectContribution>
+
+ <objectContribution id="org.eclipse.m2e.workingSet.downloadSourcesAction"
+ adaptable="true"
+ objectClass="org.eclipse.ui.IWorkingSet">
+ <action id="org.eclipse.m2e.downloadSourcesAction"
+ class="org.eclipse.m2e.jdt.internal.actions.DownloadSourcesAction:downloadSources"
+ label="%m2.popup.DownloadSourcesAction.downloadSource"
+ style="push"
+ menubarPath="org.eclipse.m2e.core.workingSetMenu/update"
+ enablesFor="+"/>
+ </objectContribution>
+ <objectContribution id="org.eclipse.m2e.workingSet.downloadJavadocAction"
+ adaptable="true"
+ objectClass="org.eclipse.ui.IWorkingSet">
+ <action id="org.eclipse.m2e.downloadSourcesAction"
+ class="org.eclipse.m2e.jdt.internal.actions.DownloadSourcesAction:downloadJavaDoc"
+ label="%m2.popup.DownloadSourcesAction.downloadJavaDoc"
+ style="push"
+ menubarPath="org.eclipse.m2e.core.workingSetMenu/update"
+ enablesFor="+"/>
+ </objectContribution>
+
+ <objectContribution id="org.eclipse.m2e.openJavaDocArtifact"
+ objectClass="org.apache.maven.artifact.Artifact"
+ adaptable="false">
+ <action id="org.eclipse.m2e.ui.openJavaDocArtifact"
+ class="org.eclipse.m2e.jdt.internal.actions.OpenJavaDocAction"
+ label="%action.javadoc.label"
+ enablesFor="1" icon="icons/javadoc.gif"/>
+ </objectContribution>
+ <objectContribution id="org.eclipse.m2e.openJavaDocDependencyNodeAether"
+ objectClass="org.eclipse.aether.graph.DependencyNode"
+ adaptable="false">
+ <action id="org.eclipse.m2e.ui.openJavaDocDependencyNode"
+ class="org.eclipse.m2e.jdt.internal.actions.OpenJavaDocAction"
+ label="%action.javadoc3.label"
+ enablesFor="1" icon="icons/javadoc.gif"/>
+ </objectContribution>
+ <objectContribution id="org.eclipse.m2e.openJavaDocDependency"
+ objectClass="org.eclipse.m2e.model.edit.pom.Dependency"
+ adaptable="false">
+ <action id="org.eclipse.m2e.ui.openJavaDocDependency"
+ class="org.eclipse.m2e.jdt.internal.actions.OpenJavaDocAction"
+ label="%action.javadoc4.label"
+ enablesFor="1"/>
+ </objectContribution>
+ </extension>
+</plugin>
diff --git a/org.eclipse.m2e.jdt.ui/pom.xml b/org.eclipse.m2e.jdt.ui/pom.xml
new file mode 100644
index 00000000..328a76bc
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/pom.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2008 Sonatype, Inc.
+ 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
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>m2e-core</artifactId>
+ <version>1.5.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.m2e.jdt.ui</artifactId>
+ <packaging>eclipse-plugin</packaging>
+
+ <name>Maven Integration for Eclipse JDT UI</name>
+
+</project>
diff --git a/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/actions/DownloadSourcesAction.java b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/actions/DownloadSourcesAction.java
new file mode 100644
index 00000000..01e1e437
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/actions/DownloadSourcesAction.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.jdt.internal.actions;
+
+import java.util.Iterator;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExecutableExtension;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkingSet;
+
+import org.eclipse.m2e.jdt.IClasspathManager;
+import org.eclipse.m2e.jdt.MavenJdtPlugin;
+
+
+public class DownloadSourcesAction implements IObjectActionDelegate, IExecutableExtension {
+
+ //TODO private
+ public static final String ID_SOURCES = "downloadSources"; //$NON-NLS-1$
+
+ //TODO private
+ public static final String ID_JAVADOC = "downloadJavaDoc"; //$NON-NLS-1$
+
+ private IStructuredSelection selection;
+
+ private String id;
+
+ public DownloadSourcesAction() {
+ this(ID_SOURCES);
+ }
+
+ public DownloadSourcesAction(String id) {
+ this.id = id;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object)
+ */
+ public void setInitializationData(IConfigurationElement config, String propertyName, Object data) {
+ if(data != null) {
+ id = (String) data;
+ }
+ }
+
+ public void run(IAction action) {
+ if(selection != null) {
+ IClasspathManager buildpathManager = MavenJdtPlugin.getDefault().getBuildpathManager();
+ for(Iterator<?> it = selection.iterator(); it.hasNext();) {
+ Object element = it.next();
+ if(element instanceof IProject) {
+ IProject project = (IProject) element;
+ buildpathManager.scheduleDownload(project, ID_SOURCES.equals(id), ID_JAVADOC.equals(id));
+ } else if(element instanceof IPackageFragmentRoot) {
+ IPackageFragmentRoot fragment = (IPackageFragmentRoot) element;
+ buildpathManager.scheduleDownload(fragment, ID_SOURCES.equals(id), ID_JAVADOC.equals(id));
+ } else if(element instanceof IWorkingSet) {
+ IWorkingSet workingSet = (IWorkingSet) element;
+ for(IAdaptable adaptable : workingSet.getElements()) {
+ IProject project = (IProject) adaptable.getAdapter(IProject.class);
+ buildpathManager.scheduleDownload(project, ID_SOURCES.equals(id), ID_JAVADOC.equals(id));
+ }
+ }
+ }
+ }
+ }
+
+ public void selectionChanged(IAction action, ISelection selection) {
+ if(selection instanceof IStructuredSelection) {
+ this.selection = (IStructuredSelection) selection;
+ } else {
+ this.selection = null;
+ }
+ }
+
+ public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+ }
+
+}
diff --git a/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/actions/OpenJavaDocAction.java b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/actions/OpenJavaDocAction.java
new file mode 100644
index 00000000..e44a01e0
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/actions/OpenJavaDocAction.java
@@ -0,0 +1,146 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.jdt.internal.actions;
+
+import java.io.File;
+import java.net.URL;
+import java.util.List;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.actions.ActionDelegate;
+import org.eclipse.ui.browser.IWebBrowser;
+import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+
+import org.eclipse.m2e.core.MavenPlugin;
+import org.eclipse.m2e.core.embedder.ArtifactKey;
+import org.eclipse.m2e.core.embedder.IMaven;
+import org.eclipse.m2e.core.ui.internal.actions.SelectionUtil;
+import org.eclipse.m2e.jdt.internal.Messages;
+
+
+/**
+ * Open JavaDoc action
+ *
+ * @author Eugene Kuleshov
+ */
+public class OpenJavaDocAction extends ActionDelegate {
+ private static final Logger log = LoggerFactory.getLogger(OpenJavaDocAction.class);
+
+ public static final String ID = "org.eclipse.m2e.openJavaDocAction"; //$NON-NLS-1$
+
+ private IStructuredSelection selection;
+
+ public void selectionChanged(IAction action, ISelection selection) {
+ if(selection instanceof IStructuredSelection) {
+ this.selection = (IStructuredSelection) selection;
+ } else {
+ this.selection = null;
+ }
+ }
+
+ public void run(IAction action) {
+ if(selection != null) {
+ try {
+ final ArtifactKey ak = SelectionUtil.getArtifactKey(this.selection.getFirstElement());
+ if(ak == null) {
+ openDialog(Messages.OpenJavaDocAction_message1);
+ return;
+ }
+
+ new Job(NLS.bind(Messages.OpenJavaDocAction_job_open_javadoc, ak)) {
+ protected IStatus run(IProgressMonitor monitor) {
+ openJavaDoc(ak.getGroupId(), ak.getArtifactId(), ak.getVersion(), monitor);
+ return Status.OK_STATUS;
+ }
+ }.schedule();
+
+ } catch(CoreException ex) {
+ log.error(ex.getMessage(), ex);
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ MessageDialog.openInformation(Display.getDefault().getActiveShell(), //
+ Messages.OpenJavaDocAction_error_title, Messages.OpenJavaDocAction_error_message);
+ }
+ });
+ }
+ }
+ }
+
+ protected void openJavaDoc(String groupId, String artifactId, String version, IProgressMonitor monitor) {
+ final String name = groupId + ":" + artifactId + ":" + version + ":javadoc"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
+ try {
+ IMaven maven = MavenPlugin.getMaven();
+
+ List<ArtifactRepository> artifactRepositories = maven.getArtifactRepositories();
+
+ Artifact artifact = maven.resolve(groupId, artifactId, version,
+ "javadoc", "javadoc", artifactRepositories, monitor); //$NON-NLS-1$ //$NON-NLS-2$
+
+ final File file = artifact.getFile();
+ if(file == null) {
+ openDialog(NLS.bind(Messages.OpenJavaDocAction_error_download, name));
+ return;
+ }
+
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ try {
+ String url = "jar:" + file.toURI().toString() + "!/index.html"; //$NON-NLS-1$ //$NON-NLS-2$
+ URL helpUrl = PlatformUI.getWorkbench().getHelpSystem().resolve(url, true);
+
+ IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench().getBrowserSupport();
+ IWebBrowser browser = browserSupport.createBrowser(IWorkbenchBrowserSupport.NAVIGATION_BAR, //
+ name, name, name);
+ browser.openURL(helpUrl);
+ } catch(PartInitException ex) {
+ log.error(ex.getMessage(), ex);
+ }
+ }
+ });
+
+ } catch(CoreException ex) {
+ log.error("Can't download JavaDoc for " + name, ex);
+ openDialog(NLS.bind(Messages.OpenJavaDocAction_error_download, name));
+ // TODO search index and offer to select other version
+ }
+
+ }
+
+ private static void openDialog(final String msg) {
+ PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ MessageDialog.openInformation(Display.getDefault().getActiveShell(), //
+ Messages.OpenJavaDocAction_info_title, msg);
+ }
+ });
+ }
+
+}
diff --git a/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/DownloadSourcesActionDelegate.java b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/DownloadSourcesActionDelegate.java
new file mode 100644
index 00000000..6b34127f
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/DownloadSourcesActionDelegate.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.jdt.internal.ui;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.eclipse.jdt.core.IJavaElement;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.internal.ui.javaeditor.IClassFileEditorInput;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IEditorActionDelegate;
+import org.eclipse.ui.IEditorPart;
+
+import org.eclipse.m2e.jdt.IClasspathManager;
+import org.eclipse.m2e.jdt.MavenJdtPlugin;
+
+
+/**
+ * DownloadSourcesActionDelegate
+ *
+ * @author Anton Kraev
+ */
+
+@SuppressWarnings("restriction")
+public class DownloadSourcesActionDelegate implements IEditorActionDelegate {
+ private static final Logger log = LoggerFactory.getLogger(DownloadSourcesActionDelegate.class);
+
+ public void setActiveEditor(IAction action, IEditorPart part) {
+
+ if(part != null) {
+ try {
+ IClasspathManager buildpathManager = MavenJdtPlugin.getDefault().getBuildpathManager();
+
+ IClassFileEditorInput input = (IClassFileEditorInput) part.getEditorInput();
+ IJavaElement element = input.getClassFile();
+ while(element.getParent() != null) {
+ element = element.getParent();
+ if(element instanceof IPackageFragmentRoot) {
+ IPackageFragmentRoot root = (IPackageFragmentRoot) element;
+
+ if(root.getSourceAttachmentPath() != null) {
+ // do nothing if sources attached already
+ break;
+ }
+
+ buildpathManager.scheduleDownload(root, true/*sources*/, false/*javadoc*/);
+ }
+ }
+ } catch(Exception ex) {
+ log.error("Could not schedule source download", ex); //$NON-NLS-1$
+ }
+ }
+ }
+
+ public void run(IAction action) {
+ // no need to do anything
+ }
+
+ public void selectionChanged(IAction action, ISelection selection) {
+ // no need to do anything
+ }
+
+}
diff --git a/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/JavaUiElementsAdapterFactory.java b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/JavaUiElementsAdapterFactory.java
new file mode 100644
index 00000000..7562f4ce
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/JavaUiElementsAdapterFactory.java
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.jdt.internal.ui;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jdt.internal.ui.packageview.ClassPathContainer;
+import org.eclipse.jdt.internal.ui.packageview.ClassPathContainer.RequiredProjectWrapper;
+
+import org.eclipse.m2e.core.MavenPlugin;
+import org.eclipse.m2e.core.embedder.ArtifactKey;
+import org.eclipse.m2e.core.project.IMavenProjectFacade;
+import org.eclipse.m2e.core.project.IMavenProjectRegistry;
+
+
+/**
+ * Adapter factory for Java elements
+ *
+ * @author Igor Fedorenko
+ * @author Eugene Kuleshov
+ * @author Miles Parker
+ */
+@SuppressWarnings({"restriction", "rawtypes"})
+public class JavaUiElementsAdapterFactory implements IAdapterFactory {
+
+ private static final Class[] ADAPTER_LIST = new Class[] {ArtifactKey.class, IMavenProjectFacade.class};
+
+ public Class[] getAdapterList() {
+ return ADAPTER_LIST;
+ }
+
+ public Object getAdapter(Object adaptableObject, Class adapterType) {
+ if(adapterType == ArtifactKey.class) {
+ if(adaptableObject instanceof RequiredProjectWrapper) {
+ IMavenProjectFacade projectFacade = getProjectFacade(adaptableObject);
+ if(projectFacade != null) {
+ return projectFacade.getArtifactKey();
+ }
+
+ }
+ } else if(adapterType == IMavenProjectFacade.class) {
+ if(adaptableObject instanceof RequiredProjectWrapper) {
+ ClassPathContainer container = ((RequiredProjectWrapper) adaptableObject).getParentClassPathContainer();
+ IProject project = container.getJavaProject().getProject();
+ IMavenProjectFacade projectFacade = getProjectFacade(project);
+ if(projectFacade != null) {
+ return projectFacade;
+ }
+ }
+ }
+
+ return null;
+ }
+
+ private IMavenProjectFacade getProjectFacade(Object adaptableObject) {
+ RequiredProjectWrapper wrapper = (RequiredProjectWrapper) adaptableObject;
+ return getProjectFacade(wrapper.getProject().getProject());
+ }
+
+ private IMavenProjectFacade getProjectFacade(IProject project) {
+ IMavenProjectRegistry projectManager = MavenPlugin.getMavenProjectRegistry();
+ return projectManager.create(project, new NullProgressMonitor());
+ }
+
+}
diff --git a/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/MavenClasspathContainerPage.java b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/MavenClasspathContainerPage.java
new file mode 100644
index 00000000..b45e4526
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/MavenClasspathContainerPage.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.jdt.internal.ui;
+
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.ui.wizards.IClasspathContainerPage;
+import org.eclipse.jdt.ui.wizards.IClasspathContainerPageExtension;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Link;
+import org.eclipse.ui.dialogs.PreferencesUtil;
+
+import org.eclipse.m2e.core.internal.IMavenConstants;
+import org.eclipse.m2e.jdt.internal.ui.Messages;
+
+
+/**
+ * MavenClasspathContainerPage
+ *
+ * @author Eugene Kuleshov
+ */
+public class MavenClasspathContainerPage extends WizardPage implements IClasspathContainerPage,
+ IClasspathContainerPageExtension {
+
+ IJavaProject javaProject;
+
+ private IClasspathEntry containerEntry;
+
+ public MavenClasspathContainerPage() {
+ super(Messages.MavenClasspathContainerPage_title);
+ }
+
+ // IClasspathContainerPageExtension
+
+ public void initialize(IJavaProject javaProject, IClasspathEntry[] currentEntries) {
+ this.javaProject = javaProject;
+ // this.currentEntries = currentEntries;
+ }
+
+ // IClasspathContainerPage
+
+ public IClasspathEntry getSelection() {
+ return this.containerEntry;
+ }
+
+ public void setSelection(IClasspathEntry containerEntry) {
+ this.containerEntry = containerEntry;
+ }
+
+ public void createControl(Composite parent) {
+ setTitle(Messages.MavenClasspathContainerPage_control_title);
+ setDescription(Messages.MavenClasspathContainerPage_control_desc);
+
+ Composite composite = new Composite(parent, SWT.NONE);
+ composite.setLayout(new GridLayout());
+ setControl(composite);
+
+ Link link = new Link(composite, SWT.NONE);
+ link.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+ link.setText(Messages.MavenClasspathContainerPage_link);
+ link.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ // IWorkbenchPreferenceContainer container= (IWorkbenchPreferenceContainer) getContainer();
+ // container.openPage(MavenProjectPreferencePage.ID, javaProject.getProject());
+
+ PreferencesUtil.createPropertyDialogOn(getShell(), javaProject.getProject(), //
+ IMavenConstants.PREFERENCE_PAGE_ID, new String[] {IMavenConstants.PREFERENCE_PAGE_ID}, null).open();
+ }
+ });
+ }
+
+ public boolean finish() {
+ return true;
+ }
+
+}
diff --git a/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/Messages.java b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/Messages.java
new file mode 100644
index 00000000..f1951988
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/Messages.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.jdt.internal.ui;
+
+import org.eclipse.osgi.util.NLS;
+
+
+/**
+ * Messages
+ *
+ * @author mkleint
+ */
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.m2e.jdt.internal.messages"; //$NON-NLS-1$
+
+ public static String MavenClasspathContainerPage_control_desc;
+
+ public static String MavenClasspathContainerPage_control_title;
+
+ public static String MavenClasspathContainerPage_link;
+
+ public static String MavenClasspathContainerPage_title;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ }
+}
diff --git a/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/filter/MavenModuleFilter.java b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/filter/MavenModuleFilter.java
new file mode 100644
index 00000000..e2099f6d
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/filter/MavenModuleFilter.java
@@ -0,0 +1,73 @@
+/*******************************************************************************
+ * Copyright (c) 2008-2010 Sonatype, Inc.
+ * 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:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.m2e.jdt.internal.ui.filter;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
+
+import org.apache.maven.project.MavenProject;
+
+import org.eclipse.m2e.core.MavenPlugin;
+import org.eclipse.m2e.core.internal.IMavenConstants;
+import org.eclipse.m2e.core.project.IMavenProjectFacade;
+import org.eclipse.m2e.core.project.IMavenProjectRegistry;
+
+
+/**
+ * MavenModuleFilter
+ *
+ * @author Eugene Kuleshov
+ */
+public class MavenModuleFilter extends ViewerFilter {
+ private static final Logger log = LoggerFactory.getLogger(MavenModuleFilter.class);
+
+ public boolean select(Viewer viewer, Object parentElement, Object element) {
+ if(element instanceof IFolder) {
+ IFolder folder = (IFolder) element;
+ IProject project = folder.getProject();
+ try {
+ if(project.hasNature(IMavenConstants.NATURE_ID)) {
+ IMavenProjectRegistry projectManager = MavenPlugin.getMavenProjectRegistry();
+
+ IMavenProjectFacade projectFacade = projectManager.create(project, null);
+ if(projectFacade != null) {
+ // XXX implement corner cases
+ // modules have ".." in the path
+ // modules have more then one segment in the path
+ // modules not imported in workspace
+ MavenProject mavenProject = projectFacade.getMavenProject(null);
+ IPath folderPath = folder.getFullPath();
+
+ // workspace-relative path sans project name
+ String folderName = folderPath.removeFirstSegments(1).toPortableString();
+
+ if(mavenProject.getModules().contains(folderName)) {
+ return false;
+ }
+ }
+ }
+ } catch(CoreException ex) {
+ log.error(ex.getMessage(), ex);
+ }
+
+ }
+ return true;
+ }
+
+}
diff --git a/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/messages.properties b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/messages.properties
new file mode 100644
index 00000000..856a4a79
--- /dev/null
+++ b/org.eclipse.m2e.jdt.ui/src/org/eclipse/m2e/jdt/internal/ui/messages.properties
@@ -0,0 +1,4 @@
+MavenClasspathContainerPage_control_desc=Set the dependency resolver configuration
+MavenClasspathContainerPage_control_title=Maven Managed Dependencies
+MavenClasspathContainerPage_link=Use <a href="\#maven">Maven Project settings</a> to configure Maven dependency resolution
+MavenClasspathContainerPage_title=Maven Dependencies

Back to the top