diff options
author | Igor Fedorenko | 2013-01-01 04:21:03 +0000 |
---|---|---|
committer | Igor Fedorenko | 2013-01-01 04:21:03 +0000 |
commit | a8b5512972ebd9a273b8955fd1306e039428d400 (patch) | |
tree | f6cd368f8ee88082c81eb7087dcbe3bfed3997f6 /org.eclipse.m2e.refactoring | |
parent | cf04c93473bf354448dd453877b688643d4d5cf9 (diff) | |
download | m2e-core-a8b5512972ebd9a273b8955fd1306e039428d400.tar.gz m2e-core-a8b5512972ebd9a273b8955fd1306e039428d400.tar.xz m2e-core-a8b5512972ebd9a273b8955fd1306e039428d400.zip |
Code format, organize imports
... also enabled automatic code format and organize imports on file
save, hopefully this will help us keep formatting consistent in the
future.
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
Diffstat (limited to 'org.eclipse.m2e.refactoring')
21 files changed, 455 insertions, 291 deletions
diff --git a/org.eclipse.m2e.refactoring/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.refactoring/.settings/org.eclipse.jdt.core.prefs index 20336c24..80d9c54b 100644 --- a/org.eclipse.m2e.refactoring/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.m2e.refactoring/.settings/org.eclipse.jdt.core.prefs @@ -1,5 +1,12 @@ -#Sat Jul 30 19:01:59 MSD 2011 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= @@ -8,6 +15,8 @@ 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.5 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve @@ -15,14 +24,16 @@ org.eclipse.jdt.core.compiler.compliance=1.5 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=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +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 @@ -31,67 +42,76 @@ 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=error +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=ignore -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +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=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=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.reportMethodCanBePotentiallyStatic=ignore -org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=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=ignore +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled 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=ignore +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=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=disabled +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=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +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.5 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled -org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL +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 @@ -102,15 +122,18 @@ 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 @@ -146,10 +169,16 @@ 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 @@ -167,6 +196,7 @@ 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 @@ -233,12 +263,14 @@ org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invoca 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 @@ -262,6 +294,7 @@ org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invoc 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 @@ -317,6 +350,7 @@ org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invoc 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 @@ -326,6 +360,7 @@ org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=inser 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 @@ -335,6 +370,8 @@ org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_ 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 @@ -347,5 +384,10 @@ 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.refactoring/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.m2e.refactoring/.settings/org.eclipse.jdt.ui.prefs index 4308aea5..595d9975 100644 --- a/org.eclipse.m2e.refactoring/.settings/org.eclipse.jdt.ui.prefs +++ b/org.eclipse.m2e.refactoring/.settings/org.eclipse.jdt.ui.prefs @@ -1,9 +1,66 @@ eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true formatter_profile=_m2 plugin -formatter_settings_version=11 +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=false +org.eclipse.jdt.ui.keywordthis=true +org.eclipse.jdt.ui.ondemandthreshold=99 org.eclipse.jdt.ui.overrideannotation=false -org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) 2010 Sonatype, Inc.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * Sonatype, Inc. - initial API and implementation\n *******************************************************************************/</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.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 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\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="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\nMavenLogger.log(${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 stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><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\="true" 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\n${exception_var}.printStackTrace();</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> +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.refactoring/src/org/eclipse/m2e/refactoring/AbstractPomRefactoring.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/AbstractPomRefactoring.java index 954cab0e..95326c19 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/AbstractPomRefactoring.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/AbstractPomRefactoring.java @@ -18,8 +18,9 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import org.apache.maven.execution.MavenExecutionRequest; -import org.apache.maven.project.MavenProject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; @@ -44,6 +45,11 @@ import org.eclipse.ltk.core.refactoring.Refactoring; import org.eclipse.ltk.core.refactoring.RefactoringStatus; import org.eclipse.ltk.core.refactoring.TextFileChange; import org.eclipse.ltk.core.refactoring.participants.RenameRefactoring; +import org.eclipse.osgi.util.NLS; + +import org.apache.maven.execution.MavenExecutionRequest; +import org.apache.maven.project.MavenProject; + import org.eclipse.m2e.core.MavenPlugin; import org.eclipse.m2e.core.embedder.IMaven; import org.eclipse.m2e.core.project.IMavenProjectFacade; @@ -54,9 +60,6 @@ import org.eclipse.m2e.model.edit.pom.util.PomResourceFactoryImpl; import org.eclipse.m2e.model.edit.pom.util.PomResourceImpl; import org.eclipse.m2e.refactoring.RefactoringModelResources.PropertyInfo; import org.eclipse.m2e.refactoring.internal.Activator; -import org.eclipse.osgi.util.NLS; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** @@ -236,17 +239,22 @@ public abstract class AbstractPomRefactoring extends Refactoring { public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException, OperationCanceledException { return RefactoringStatus.createFatalErrorStatus(ex.getStatus().getMessage()); } + public Object getModifiedElement() { return null; } + public String getName() { return ex.getStatus().getMessage(); } + public void initializeValidationData(IProgressMonitor pm) { } + public Change perform(IProgressMonitor pm) throws CoreException { return null; } + public boolean isEnabled() { return false; } @@ -318,7 +326,7 @@ public abstract class AbstractPomRefactoring extends Refactoring { return null; } } - + public static PomResourceImpl loadResource(IFile pomFile) throws CoreException { String path = pomFile.getFullPath().toOSString(); URI uri = URI.createPlatformResourceURI(path, true); @@ -326,12 +334,12 @@ public abstract class AbstractPomRefactoring extends Refactoring { try { Resource resource = new PomResourceFactoryImpl().createResource(uri); resource.load(new HashMap()); - return (PomResourceImpl)resource; + return (PomResourceImpl) resource; } catch(Exception ex) { String msg = NLS.bind("Can't load model {0}", pomFile); log.error(msg, ex); throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, -1, msg, ex)); } - } + } } diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/ChangeCreator.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/ChangeCreator.java index 8bb0368d..0c201555 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/ChangeCreator.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/ChangeCreator.java @@ -14,6 +14,9 @@ package org.eclipse.m2e.refactoring; import java.util.ArrayList; import java.util.Arrays; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import org.eclipse.compare.rangedifferencer.IRangeComparator; import org.eclipse.compare.rangedifferencer.RangeDifference; import org.eclipse.compare.rangedifferencer.RangeDifferencer; @@ -28,8 +31,6 @@ import org.eclipse.text.edits.MultiTextEdit; import org.eclipse.text.edits.ReplaceEdit; import org.eclipse.text.edits.TextEdit; import org.eclipse.text.edits.TextEditGroup; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** @@ -62,22 +63,24 @@ public class ChangeCreator { Object leftSide = new LineComparator(oldDocument); Object rightSide = new LineComparator(newDocument); - RangeDifference[] differences = RangeDifferencer.findDifferences((IRangeComparator) leftSide, (IRangeComparator) rightSide); + RangeDifference[] differences = RangeDifferencer.findDifferences((IRangeComparator) leftSide, + (IRangeComparator) rightSide); int insertOffset = 0; for(int i = 0; i < differences.length; i++ ) { RangeDifference curr = differences[i]; int startLine = 0; // when comparing 2 files, only RangeDifference.CHANGE is possible, no need to test - if (curr.rightLength() == curr.leftLength()) { + if(curr.rightLength() == curr.leftLength()) { // replace startLine = curr.rightStart(); int endLine = curr.rightEnd() - 1; for(int j = startLine; j <= endLine; j++ ) { int newPos = curr.leftStart() - startLine + j; String newText = newDocument.get(newDocument.getLineOffset(newPos), newDocument.getLineLength(newPos)); - addEdit(change, startLine, new ReplaceEdit(oldDocument.getLineOffset(j), oldDocument.getLineLength(j), newText)); + addEdit(change, startLine, new ReplaceEdit(oldDocument.getLineOffset(j), oldDocument.getLineLength(j), + newText)); } - } else if (curr.rightLength() > 0 && curr.leftLength() == 0) { + } else if(curr.rightLength() > 0 && curr.leftLength() == 0) { // insert startLine = curr.rightStart(); int endLine = curr.rightEnd() - 1; @@ -87,11 +90,11 @@ public class ChangeCreator { int newPos = curr.leftStart() - startLine + j + insertOffset; newText += newDocument.get(newDocument.getLineOffset(newPos), newDocument.getLineLength(newPos)); } - if(newText.length() > 0){ + if(newText.length() > 0) { addEdit(change, startLine, new InsertEdit(posInsert, newText)); } insertOffset += curr.rightEnd() - curr.rightStart(); - } else if (curr.leftLength() > 0 && curr.rightLength() == 0) { + } else if(curr.leftLength() > 0 && curr.rightLength() == 0) { // delete startLine = curr.leftStart(); int endLine = curr.leftEnd() - 1; @@ -108,17 +111,18 @@ public class ChangeCreator { } return change; } - + private void addEdit(TextFileChange change, int startLine, TextEdit edit) { change.addTextEditGroup(new TextEditGroup("Line " + (startLine + 1), edit)); change.addEdit(edit); } - + public static class LineComparator implements IRangeComparator { private final IDocument document; + private final ArrayList<Integer> hashes; - /** + /** * Create a line comparator for the given document. * * @param document @@ -141,7 +145,7 @@ public class ChangeCreator { public boolean rangesEqual(int thisIndex, IRangeComparator other, int otherIndex) { try { return getHash(thisIndex).equals(((LineComparator) other).getHash(otherIndex)); - } catch (BadLocationException e) { + } catch(BadLocationException e) { log.error("Problem comparing", e); return false; } @@ -161,10 +165,10 @@ public class ChangeCreator { */ private Integer getHash(int line) throws BadLocationException { Integer hash = hashes.get(line); - if (hash == null) { + if(hash == null) { IRegion lineRegion; lineRegion = document.getLineInformation(line); - String lineContents= document.get(lineRegion.getOffset(), lineRegion.getLength()); + String lineContents = document.get(lineRegion.getOffset(), lineRegion.getLength()); hash = new Integer(computeDJBHash(lineContents)); hashes.set(line, hash); } @@ -180,7 +184,7 @@ public class ChangeCreator { private int computeDJBHash(String string) { int hash = 5381; int len = string.length(); - for (int i = 0; i < len; i++) { + for(int i = 0; i < len; i++ ) { hash = (hash << 5) + hash + string.charAt(i); } return hash; diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/Messages.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/Messages.java index 8ad5eb8f..74995dd2 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/Messages.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/Messages.java @@ -16,7 +16,6 @@ import org.eclipse.osgi.util.NLS; /** * @author mkleint - * */ public class Messages extends NLS { diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/PomVisitor.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/PomVisitor.java index 7d01169e..aa054de9 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/PomVisitor.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/PomVisitor.java @@ -27,7 +27,7 @@ public interface PomVisitor { * @param model - current model being visited * @param pm - progress monitor * @return command that executes changes (if any) - * @throws Exception + * @throws Exception */ public CompoundCommand applyChanges(RefactoringModelResources model, IProgressMonitor pm) throws Exception; } diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/RefactoringModelResources.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/RefactoringModelResources.java index 91a15ea9..7eb88e9c 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/RefactoringModelResources.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/RefactoringModelResources.java @@ -15,7 +15,9 @@ import java.io.File; import java.io.IOException; import java.util.Map; -import org.apache.maven.project.MavenProject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import org.eclipse.core.filebuffers.FileBuffers; import org.eclipse.core.filebuffers.ITextFileBuffer; import org.eclipse.core.filebuffers.ITextFileBufferManager; @@ -27,11 +29,13 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.emf.common.command.Command; import org.eclipse.emf.common.command.CompoundCommand; import org.eclipse.emf.ecore.resource.Resource; + +import org.apache.maven.project.MavenProject; + import org.eclipse.m2e.core.project.IMavenProjectFacade; import org.eclipse.m2e.model.edit.pom.Model; import org.eclipse.m2e.model.edit.pom.PropertyElement; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; + /** * This class manages all refactoring-related resources for a particular maven project @@ -42,23 +46,34 @@ public class RefactoringModelResources { private static final Logger log = LoggerFactory.getLogger(RefactoringModelResources.class); private static final String TMP_PROJECT_NAME = ".m2eclipse_refactoring"; //$NON-NLS-1$ + protected IFile pomFile; + protected IFile tmpFile; + protected ITextFileBuffer pomBuffer; + protected ITextFileBuffer tmpBuffer; + protected Model tmpModel; + protected org.apache.maven.model.Model effective; + protected ITextFileBufferManager textFileBufferManager; + protected Map<String, PropertyInfo> properties; + protected MavenProject project; + protected CompoundCommand command; + protected static IProject tmpProject; - + protected IProject getTmpProject() { - if (tmpProject == null) { + if(tmpProject == null) { tmpProject = ResourcesPlugin.getWorkspace().getRoot().getProject(TMP_PROJECT_NAME); } - if (!tmpProject.exists()) { + if(!tmpProject.exists()) { try { tmpProject.create(null); tmpProject.open(null); @@ -68,7 +83,7 @@ public class RefactoringModelResources { } return tmpProject; } - + public RefactoringModelResources(IMavenProjectFacade projectFacade) throws CoreException, IOException { textFileBufferManager = FileBuffers.getTextFileBufferManager(); project = projectFacade.getMavenProject(null); @@ -82,9 +97,9 @@ public class RefactoringModelResources { f.delete(); tmpFile = project.getFile(f.getName()); pomFile.copy(tmpFile.getFullPath(), true, null); - + Resource resource = AbstractPomRefactoring.loadResource(tmpFile); - tmpModel = (Model)resource.getContents().get(0); + tmpModel = (Model) resource.getContents().get(0); tmpBuffer = getBuffer(tmpFile); } @@ -134,24 +149,23 @@ public class RefactoringModelResources { public void releaseAllResources() throws CoreException { releaseBuffer(pomBuffer, pomFile); - if (tmpFile != null && tmpFile.exists()) { + if(tmpFile != null && tmpFile.exists()) { releaseBuffer(tmpBuffer, tmpFile); } - if (tmpModel != null) { + if(tmpModel != null) { tmpModel.eResource().unload(); } } public static void cleanupTmpProject() throws CoreException { - if (tmpProject.exists()) { + if(tmpProject.exists()) { tmpProject.delete(true, true, null); } } - - + protected ITextFileBuffer getBuffer(IFile file) throws CoreException { textFileBufferManager.connect(file.getLocation(), LocationKind.NORMALIZE, null); - return textFileBufferManager.getTextFileBuffer(file.getLocation(), LocationKind.NORMALIZE); + return textFileBufferManager.getTextFileBuffer(file.getLocation(), LocationKind.NORMALIZE); } protected void releaseBuffer(ITextFileBuffer buffer, IFile file) throws CoreException { @@ -165,9 +179,11 @@ public class RefactoringModelResources { public static class PropertyInfo { protected PropertyElement pair; + protected RefactoringModelResources resource; + protected Command newValue; - + public Command getNewValue() { return newValue; } @@ -175,7 +191,7 @@ public class RefactoringModelResources { public void setNewValue(Command newValue) { this.newValue = newValue; } - + public PropertyElement getPair() { return pair; } diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetAction.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetAction.java index d447ccc7..8a658652 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetAction.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetAction.java @@ -19,13 +19,15 @@ import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation; -import org.eclipse.m2e.core.embedder.ArtifactKey; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IActionDelegate; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IFileEditorInput; import org.eclipse.ui.PlatformUI; +import org.eclipse.m2e.core.embedder.ArtifactKey; + + /** * This action is intended to be used in popup menus * @@ -34,12 +36,13 @@ import org.eclipse.ui.PlatformUI; public class DependencySetAction implements IActionDelegate { public static final String ID = "org.eclipse.m2e.refactoring.DependencySet"; //$NON-NLS-1$ - + private IFile file; + private List<ArtifactKey> keys; public void run(IAction action) { - if (keys != null && keys.size() > 0 && file != null) { + if(keys != null && keys.size() > 0 && file != null) { Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); MavenDependencySetWizard wizard = new MavenDependencySetWizard(file, keys); try { @@ -55,39 +58,39 @@ public class DependencySetAction implements IActionDelegate { public void selectionChanged(IAction action, ISelection selection) { file = null; keys = new ArrayList<ArtifactKey>(); - - if (selection instanceof IStructuredSelection) { + + if(selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) selection; for(Object selected : structuredSelection.toArray()) { /*if (selected instanceof Artifact) { file = getFileFromEditor(); keys.add(new ArtifactKey((Artifact) selected)); - } else*/ if (selected instanceof org.sonatype.aether.graph.DependencyNode) { + } else*/if(selected instanceof org.sonatype.aether.graph.DependencyNode) { file = getFileFromEditor(); org.sonatype.aether.graph.DependencyNode selected2 = (org.sonatype.aether.graph.DependencyNode) selected; - if (selected2.getData().get("LEVEL") == null) { + if(selected2.getData().get("LEVEL") == null) { keys.add(new ArtifactKey(selected2.getDependency().getArtifact())); } - + } /*else if (selected instanceof RequiredProjectWrapper) { RequiredProjectWrapper w = (RequiredProjectWrapper) selected; file = getFileFromProject(w.getParentClassPathContainer().getJavaProject()); keys.add(SelectionUtil.getType(selected, ArtifactKey.class)); - - } else { + + } else { keys.add(SelectionUtil.getType(selected, ArtifactKey.class)); if (selected instanceof IJavaElement) { IJavaElement el = (IJavaElement) selected; file = getFileFromProject(el.getParent().getJavaProject()); } - - } - */ + + } + */ } } - - if (keys.size() > 0 && file != null) { + + if(keys.size() > 0 && file != null) { action.setEnabled(true); } else { action.setEnabled(false); @@ -97,7 +100,7 @@ public class DependencySetAction implements IActionDelegate { //mkleint: scary private IFile getFileFromEditor() { IEditorPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); - if (part != null && part.getEditorInput() instanceof IFileEditorInput) { + if(part != null && part.getEditorInput() instanceof IFileEditorInput) { IFileEditorInput input = (IFileEditorInput) part.getEditorInput(); return input.getFile(); } diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetRefactoring.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetRefactoring.java index c0784866..82587deb 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetRefactoring.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/DependencySetRefactoring.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.refactoring.dependencyset; import static org.eclipse.m2e.core.ui.internal.editing.PomEdits.ARTIFACT_ID; @@ -24,6 +25,9 @@ import static org.eclipse.m2e.core.ui.internal.editing.PomEdits.setText; import java.util.ArrayList; import java.util.List; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; @@ -31,19 +35,19 @@ import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.ltk.core.refactoring.Change; import org.eclipse.ltk.core.refactoring.Refactoring; import org.eclipse.ltk.core.refactoring.RefactoringStatus; + import org.eclipse.m2e.core.embedder.ArtifactKey; import org.eclipse.m2e.core.ui.internal.editing.PomEdits.CompoundOperation; import org.eclipse.m2e.core.ui.internal.editing.PomEdits.Operation; import org.eclipse.m2e.core.ui.internal.editing.PomHelper; -import org.w3c.dom.Document; -import org.w3c.dom.Element; + /** * @author mkleint - * */ public class DependencySetRefactoring extends Refactoring { private final IFile file; + private final List<ArtifactKey> keys; public DependencySetRefactoring(IFile file, List<ArtifactKey> keys) { @@ -78,24 +82,27 @@ public class DependencySetRefactoring extends Refactoring { */ public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException { List<Operation> operations = new ArrayList<Operation>(); - for (ArtifactKey key : keys) { + for(ArtifactKey key : keys) { operations.add(new OneDependency(key)); } CompoundOperation compound = new CompoundOperation(operations.toArray(new Operation[0])); return PomHelper.createChange(file, compound, getName()); } - + private static class OneDependency implements Operation { private final String groupId; + private final String artifactId; + private final String version; - + public OneDependency(ArtifactKey key) { this.groupId = key.getGroupId(); this.artifactId = key.getArtifactId(); this.version = key.getVersion(); } + /* (non-Javadoc) * @see org.eclipse.m2e.core.ui.internal.editing.PomEdits.Operation#process(org.w3c.dom.Document) */ @@ -113,8 +120,7 @@ public class DependencySetRefactoring extends Refactoring { } else { //is transitive dependency Element dm = getChild(document.getDocumentElement(), DEPENDENCY_MANAGEMENT, DEPENDENCIES); - existing = findChild(dm, DEPENDENCY, childEquals(GROUP_ID, groupId), - childEquals(ARTIFACT_ID, artifactId)); + existing = findChild(dm, DEPENDENCY, childEquals(GROUP_ID, groupId), childEquals(ARTIFACT_ID, artifactId)); if(existing != null) { setText(getChild(existing, VERSION), version); } else { diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/MavenDependencySetWizard.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/MavenDependencySetWizard.java index 5f92957b..030ff01e 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/MavenDependencySetWizard.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/dependencyset/MavenDependencySetWizard.java @@ -15,6 +15,7 @@ import java.util.List; import org.eclipse.core.resources.IFile; import org.eclipse.ltk.ui.refactoring.RefactoringWizard; + import org.eclipse.m2e.core.embedder.ArtifactKey; diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/DependencyExcludeAction.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/DependencyExcludeAction.java index fbbd5fa4..f1e6d784 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/DependencyExcludeAction.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/DependencyExcludeAction.java @@ -14,7 +14,6 @@ package org.eclipse.m2e.refactoring.exclude; import java.util.ArrayList; import java.util.List; -import org.apache.maven.artifact.Artifact; import org.eclipse.core.resources.IFile; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IJavaProject; @@ -23,14 +22,18 @@ import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation; -import org.eclipse.m2e.core.embedder.ArtifactKey; -import org.eclipse.m2e.core.ui.internal.actions.SelectionUtil; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IActionDelegate; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IFileEditorInput; import org.eclipse.ui.PlatformUI; +import org.apache.maven.artifact.Artifact; + +import org.eclipse.m2e.core.embedder.ArtifactKey; +import org.eclipse.m2e.core.ui.internal.actions.SelectionUtil; + + /** * This action is intended to be used in popup menus * @@ -40,7 +43,7 @@ import org.eclipse.ui.PlatformUI; public class DependencyExcludeAction implements IActionDelegate { public static final String ID = "org.eclipse.m2e.refactoring.DependencyExclude"; //$NON-NLS-1$ - + private IFile file; private ArtifactKey[] keys; @@ -63,26 +66,26 @@ public class DependencyExcludeAction implements IActionDelegate { public void selectionChanged(IAction action, ISelection selection) { file = null; keys = null; - + // TODO move logic into adapters - if (selection instanceof IStructuredSelection) { + if(selection instanceof IStructuredSelection) { IStructuredSelection structuredSelection = (IStructuredSelection) selection; List<ArtifactKey> keys = new ArrayList<ArtifactKey>(structuredSelection.size()); for(Object selected : structuredSelection.toArray()) { - if (selected instanceof Artifact) { + if(selected instanceof Artifact) { file = getFileFromEditor(); keys.add(new ArtifactKey((Artifact) selected)); - } else if (selected instanceof org.sonatype.aether.graph.DependencyNode) { + } else if(selected instanceof org.sonatype.aether.graph.DependencyNode) { file = getFileFromEditor(); keys.add(new ArtifactKey(((org.sonatype.aether.graph.DependencyNode) selected).getDependency().getArtifact())); - } else if (selected instanceof RequiredProjectWrapper) { + } else if(selected instanceof RequiredProjectWrapper) { RequiredProjectWrapper w = (RequiredProjectWrapper) selected; file = getFileFromProject(w.getParentClassPathContainer().getJavaProject()); keys.add(SelectionUtil.getType(selected, ArtifactKey.class)); } else { keys.add(SelectionUtil.getType(selected, ArtifactKey.class)); - if (selected instanceof IJavaElement) { + if(selected instanceof IJavaElement) { IJavaElement el = (IJavaElement) selected; file = getFileFromProject(el.getParent().getJavaProject()); } @@ -104,7 +107,7 @@ public class DependencyExcludeAction implements IActionDelegate { //mkleint: scary private IFile getFileFromEditor() { IEditorPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); - if (part != null && part.getEditorInput() instanceof IFileEditorInput) { + if(part != null && part.getEditorInput() instanceof IFileEditorInput) { IFileEditorInput input = (IFileEditorInput) part.getEditorInput(); return input.getFile(); } diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/ExcludeArtifactRefactoring.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/ExcludeArtifactRefactoring.java index 6cb39e16..0ee0939c 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/ExcludeArtifactRefactoring.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/ExcludeArtifactRefactoring.java @@ -8,6 +8,7 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.refactoring.exclude; import java.util.ArrayList; @@ -19,9 +20,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import org.apache.maven.model.Dependency; -import org.apache.maven.model.Exclusion; -import org.apache.maven.project.MavenProject; import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; @@ -35,6 +33,17 @@ import org.eclipse.ltk.core.refactoring.Change; import org.eclipse.ltk.core.refactoring.CompositeChange; import org.eclipse.ltk.core.refactoring.Refactoring; import org.eclipse.ltk.core.refactoring.RefactoringStatus; +import org.eclipse.osgi.util.NLS; + +import org.apache.maven.model.Dependency; +import org.apache.maven.model.Exclusion; +import org.apache.maven.project.MavenProject; + +import org.sonatype.aether.artifact.Artifact; +import org.sonatype.aether.graph.DependencyNode; +import org.sonatype.aether.graph.DependencyVisitor; +import org.sonatype.aether.util.artifact.JavaScopes; + import org.eclipse.m2e.core.MavenPlugin; import org.eclipse.m2e.core.embedder.ArtifactKey; import org.eclipse.m2e.core.internal.M2EUtils; @@ -46,11 +55,6 @@ import org.eclipse.m2e.core.ui.internal.editing.PomEdits.Operation; import org.eclipse.m2e.core.ui.internal.editing.PomHelper; import org.eclipse.m2e.core.ui.internal.editing.RemoveDependencyOperation; import org.eclipse.m2e.refactoring.Messages; -import org.eclipse.osgi.util.NLS; -import org.sonatype.aether.artifact.Artifact; -import org.sonatype.aether.graph.DependencyNode; -import org.sonatype.aether.graph.DependencyVisitor; -import org.sonatype.aether.util.artifact.JavaScopes; public class ExcludeArtifactRefactoring extends Refactoring { @@ -86,8 +90,8 @@ public class ExcludeArtifactRefactoring extends Refactoring { } protected IMavenProjectFacade getMavenProjectFacade(MavenProject mavenProject) { - return MavenPlugin.getMavenProjectRegistry() - .getMavenProject(mavenProject.getGroupId(), mavenProject.getArtifactId(), mavenProject.getVersion()); + return MavenPlugin.getMavenProjectRegistry().getMavenProject(mavenProject.getGroupId(), + mavenProject.getArtifactId(), mavenProject.getVersion()); } /* (non-Javadoc) @@ -108,8 +112,7 @@ public class ExcludeArtifactRefactoring extends Refactoring { public RefactoringStatus checkInitialConditions(IProgressMonitor pm) throws CoreException, OperationCanceledException { exclusionPoint = getMavenProjectFacade(pomFile).getMavenProject(pm); if(exclusionPoint == null) { - return RefactoringStatus - .createFatalErrorStatus(Messages.ExcludeArtifactRefactoring_unableToLocateProject); + return RefactoringStatus.createFatalErrorStatus(Messages.ExcludeArtifactRefactoring_unableToLocateProject); } return new RefactoringStatus(); } @@ -129,7 +132,7 @@ public class ExcludeArtifactRefactoring extends Refactoring { // Exclusion point Visitor visitor = locate(exclusionPoint, monitor.newChild(1)); for(Entry<Dependency, Set<ArtifactKey>> entry : visitor.getSourceMap().entrySet()) { - locatedKeys.addAll(entry.getValue()); + locatedKeys.addAll(entry.getValue()); Dependency dependency = entry.getKey(); if(contains(entry.getValue(), dependency)) { exclusionOp.add(new RemoveDependencyOperation(dependency)); @@ -176,8 +179,9 @@ public class ExcludeArtifactRefactoring extends Refactoring { Dependency dependency = entry.getKey(); if(contains(entry.getValue(), dependency)) { if(project.getFile() != null) { - statuses.add(new Status(IStatus.INFO, PLUGIN_ID, NLS.bind(Messages.ExcludeArtifactRefactoring_removeDependencyFrom, - toString(dependency), getMavenProjectFacade(project).getPom().getFullPath()))); + statuses.add(new Status(IStatus.INFO, PLUGIN_ID, NLS.bind( + Messages.ExcludeArtifactRefactoring_removeDependencyFrom, toString(dependency), + getMavenProjectFacade(project).getPom().getFullPath()))); IFile pom = getFile(project); changes.add(PomHelper.createChange(getFile(project), new RemoveDependencyOperation(dependency), getName(pom))); @@ -201,8 +205,8 @@ public class ExcludeArtifactRefactoring extends Refactoring { if(statuses.size() == 1) { return RefactoringStatus.create(statuses.get(0)); } else if(statuses.size() > 1) { - return RefactoringStatus.create(new MultiStatus(PLUGIN_ID, 0, statuses - .toArray(new IStatus[statuses.size()]), Messages.ExcludeArtifactRefactoring_errorCreatingRefactoring, null)); + return RefactoringStatus.create(new MultiStatus(PLUGIN_ID, 0, statuses.toArray(new IStatus[statuses.size()]), + Messages.ExcludeArtifactRefactoring_errorCreatingRefactoring, null)); } else if(locatedKeys.isEmpty()) { return RefactoringStatus.createFatalErrorStatus(Messages.ExcludeArtifactRefactoring_noTargets); } else if(locatedKeys.size() != keys.length) { @@ -220,13 +224,11 @@ public class ExcludeArtifactRefactoring extends Refactoring { } private String getName(IFile file) { - return new StringBuilder().append(file.getName()) - .append(" - ").append(file.getProject().getName()).toString(); //$NON-NLS-1$ + return new StringBuilder().append(file.getName()).append(" - ").append(file.getProject().getName()).toString(); //$NON-NLS-1$ } private Visitor locate(MavenProject project, IProgressMonitor monitor) throws CoreException { - DependencyNode root = MavenPlugin.getMavenModelManager() - .readDependencyTree(project, JavaScopes.TEST, monitor); + DependencyNode root = MavenPlugin.getMavenModelManager().readDependencyTree(project, JavaScopes.TEST, monitor); Visitor visitor = new Visitor(project); root.accept(visitor); return visitor; @@ -413,4 +415,4 @@ public class ExcludeArtifactRefactoring extends Refactoring { return findDependency(artifact.getGroupId(), artifact.getArtifactId()); } } -}
\ No newline at end of file +} diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/ExcludeWizardPage.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/ExcludeWizardPage.java index bd2029b9..1ff2a91e 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/ExcludeWizardPage.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/ExcludeWizardPage.java @@ -8,15 +8,12 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.refactoring.exclude; -import org.apache.maven.project.MavenProject; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.ltk.ui.refactoring.UserInputWizardPage; -import org.eclipse.m2e.core.project.IMavenProjectFacade; -import org.eclipse.m2e.core.ui.internal.components.PomHierarchyComposite; -import org.eclipse.m2e.refactoring.Messages; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; @@ -31,6 +28,12 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.PlatformUI; +import org.apache.maven.project.MavenProject; + +import org.eclipse.m2e.core.project.IMavenProjectFacade; +import org.eclipse.m2e.core.ui.internal.components.PomHierarchyComposite; +import org.eclipse.m2e.refactoring.Messages; + public class ExcludeWizardPage extends UserInputWizardPage implements SelectionListener, ISelectionChangedListener { @@ -125,7 +128,7 @@ public class ExcludeWizardPage extends UserInputWizardPage implements SelectionL private void updateState() { ExcludeArtifactRefactoring refactoring = (ExcludeArtifactRefactoring) getRefactoring(); - if (hierarchy.getSelection()) { + if(hierarchy.getSelection()) { MavenProject project = pomHierarchy.fromSelection(); updateStatusBar(project); refactoring.setExclusionPoint(project); @@ -143,8 +146,7 @@ public class ExcludeWizardPage extends UserInputWizardPage implements SelectionL setStatus(Messages.ExcludeWizardPage_errorNonWorkspacePom); setPageComplete(false); } else if((project = isAboveDependencyManagement(project)) != null) { - setStatus(NLS.bind(Messages.ExcludeWizardPage_dependenciesManagedIn, - toString(project))); + setStatus(NLS.bind(Messages.ExcludeWizardPage_dependenciesManagedIn, toString(project))); setPageComplete(false); } else { setStatus(null); diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/MavenExcludeWizard.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/MavenExcludeWizard.java index 803be06e..907e4f7f 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/MavenExcludeWizard.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/exclude/MavenExcludeWizard.java @@ -13,6 +13,7 @@ package org.eclipse.m2e.refactoring.exclude; import org.eclipse.ltk.ui.refactoring.RefactoringWizard; + /** * @author Anton Kraev */ diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/Activator.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/Activator.java index 060a6f99..d7699388 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/Activator.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/Activator.java @@ -11,9 +11,11 @@ package org.eclipse.m2e.refactoring.internal; -import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; +import org.eclipse.ui.plugin.AbstractUIPlugin; + + /** * The activator class controls the plug-in life cycle * @@ -21,43 +23,43 @@ import org.osgi.framework.BundleContext; */ public class Activator extends AbstractUIPlugin { - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.m2e.refactoring"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.m2e.refactoring"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } } diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/RefactoringImages.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/RefactoringImages.java index 41cb9dfe..c9374e08 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/RefactoringImages.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/RefactoringImages.java @@ -11,11 +11,13 @@ package org.eclipse.m2e.refactoring.internal; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; + /** * @author Eugene Kuleshov @@ -24,23 +26,22 @@ public class RefactoringImages { private static final Logger log = LoggerFactory.getLogger(RefactoringImages.class); // images - + // public static final Image IMG_CLEAR = createImage("clear.gif"); - + // image descriptors - - public static final ImageDescriptor EXCLUDE = create("exclude.gif"); //$NON-NLS-1$ - + + public static final ImageDescriptor EXCLUDE = create("exclude.gif"); //$NON-NLS-1$ private static ImageDescriptor create(String key) { try { ImageDescriptor imageDescriptor = createDescriptor(key); ImageRegistry imageRegistry = getImageRegistry(); - if(imageRegistry!=null) { + if(imageRegistry != null) { imageRegistry.put(key, imageDescriptor); } return imageDescriptor; - } catch (Exception ex) { + } catch(Exception ex) { log.error(key, ex); return null; } @@ -54,11 +55,11 @@ public class RefactoringImages { private static ImageRegistry getImageRegistry() { Activator plugin = Activator.getDefault(); - return plugin==null ? null : plugin.getImageRegistry(); + return plugin == null ? null : plugin.getImageRegistry(); } private static ImageDescriptor createDescriptor(String image) { return AbstractUIPlugin.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/" + image); //$NON-NLS-1$ } - + } diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/SaveDirtyFilesDialog.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/SaveDirtyFilesDialog.java index 89465ffb..f01cf298 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/SaveDirtyFilesDialog.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/internal/SaveDirtyFilesDialog.java @@ -22,7 +22,6 @@ import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.window.Window; -import org.eclipse.m2e.refactoring.Messages; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; @@ -35,61 +34,54 @@ import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.dialogs.ListDialog; +import org.eclipse.m2e.refactoring.Messages; + + /** - * Taken from org.eclipse.wst.common.ui.internal.dialogs - * - * A generic save files dialog. The bulk of the code for this dialog was taken - * from the JDT refactoring support in - * org.eclipse.jdt.internal.ui.refactoring.RefactoringSaveHelper. This class is - * a good candidate for reuse amoung components. + * Taken from org.eclipse.wst.common.ui.internal.dialogs A generic save files dialog. The bulk of the code for this + * dialog was taken from the JDT refactoring support in org.eclipse.jdt.internal.ui.refactoring.RefactoringSaveHelper. + * This class is a good candidate for reuse amoung components. */ public class SaveDirtyFilesDialog extends ListDialog { public static final String ALL_MODIFIED_RESOURCES_MUST_BE_SAVED_BEFORE_THIS_OPERATION = Messages.SaveDirtyFilesDialog_message_not_saved; - public static boolean saveDirtyFiles(String mask) - { + public static boolean saveDirtyFiles(String mask) { boolean result = true; // TODO (cs) add support for save automatically Shell shell = Display.getCurrent().getActiveShell(); IEditorPart[] dirtyEditors = getDirtyEditors(mask); - if (dirtyEditors.length > 0) - { + if(dirtyEditors.length > 0) { result = false; SaveDirtyFilesDialog saveDirtyFilesDialog = new SaveDirtyFilesDialog(shell); saveDirtyFilesDialog.setInput(Arrays.asList(dirtyEditors)); // Save all open editors. - if (saveDirtyFilesDialog.open() == Window.OK) - { - result = true; + if(saveDirtyFilesDialog.open() == Window.OK) { + result = true; int numDirtyEditors = dirtyEditors.length; - for (int i = 0; i < numDirtyEditors; i++) - { + for(int i = 0; i < numDirtyEditors; i++ ) { dirtyEditors[i].doSave(null); } - } - else - { - MessageDialog dlg = new MessageDialog(shell, Messages.SaveDirtyFilesDialog_title_error, null, - ALL_MODIFIED_RESOURCES_MUST_BE_SAVED_BEFORE_THIS_OPERATION, - MessageDialog.ERROR, new String[] {IDialogConstants.OK_LABEL}, 0); + } else { + MessageDialog dlg = new MessageDialog(shell, Messages.SaveDirtyFilesDialog_title_error, null, + ALL_MODIFIED_RESOURCES_MUST_BE_SAVED_BEFORE_THIS_OPERATION, MessageDialog.ERROR, + new String[] {IDialogConstants.OK_LABEL}, 0); dlg.open(); } } - return result; + return result; } - private static IEditorPart[] getDirtyEditors(String mask) - { + private static IEditorPart[] getDirtyEditors(String mask) { List<IEditorPart> result = new ArrayList<IEditorPart>(0); IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); - for (int i = 0; i < windows.length; i++) { + for(int i = 0; i < windows.length; i++ ) { IWorkbenchPage[] pages = windows[i].getPages(); - for (int x = 0; x < pages.length; x++) { + for(int x = 0; x < pages.length; x++ ) { IEditorPart[] editors = pages[x].getDirtyEditors(); - for (int z = 0; z < editors.length; z++) { + for(int z = 0; z < editors.length; z++ ) { IEditorPart ep = editors[z]; - if (ep.getTitle().indexOf(mask) > 0) { + if(ep.getTitle().indexOf(mask) > 0) { result.add(ep); } } @@ -98,8 +90,7 @@ public class SaveDirtyFilesDialog extends ListDialog { return result.toArray(new IEditorPart[result.size()]); } - public SaveDirtyFilesDialog(Shell parent) - { + public SaveDirtyFilesDialog(Shell parent) { super(parent); setTitle(Messages.SaveDirtyFilesDialog_title); setAddCancelButton(true); @@ -108,35 +99,29 @@ public class SaveDirtyFilesDialog extends ListDialog { setContentProvider(new ListContentProvider()); } - protected Control createDialogArea(Composite container) - { + protected Control createDialogArea(Composite container) { Composite result = (Composite) super.createDialogArea(container); // TODO... provide preference that supports 'always save' return result; } - - private ILabelProvider createDialogLabelProvider() - { - return new LabelProvider() - { - public Image getImage(Object element) - { + private ILabelProvider createDialogLabelProvider() { + return new LabelProvider() { + public Image getImage(Object element) { return ((IEditorPart) element).getTitleImage(); } - public String getText(Object element) - { + public String getText(Object element) { return ((IEditorPart) element).getTitle(); } }; } - - /** - * A specialized content provider to show a list of editor parts. - * This class has been copied from org.eclipse.jdt.internal.ui.viewsupport.ListContentProvider - * This class should be removed once a generic solution is made available. - */ + + /** + * A specialized content provider to show a list of editor parts. This class has been copied from + * org.eclipse.jdt.internal.ui.viewsupport.ListContentProvider This class should be removed once a generic solution is + * made available. + */ @SuppressWarnings("rawtypes") static class ListContentProvider implements IStructuredContentProvider { List fContents; diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/MavenRenameWizard.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/MavenRenameWizard.java index 401ce95b..09e73462 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/MavenRenameWizard.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/MavenRenameWizard.java @@ -13,6 +13,7 @@ package org.eclipse.m2e.refactoring.rename; import org.eclipse.core.resources.IFile; import org.eclipse.ltk.ui.refactoring.RefactoringWizard; + import org.eclipse.m2e.model.edit.pom.Model; import org.eclipse.m2e.refactoring.AbstractPomRefactoring; diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/MavenRenameWizardPage.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/MavenRenameWizardPage.java index 19d47b00..7acbb24a 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/MavenRenameWizardPage.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/MavenRenameWizardPage.java @@ -13,7 +13,6 @@ package org.eclipse.m2e.refactoring.rename; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.ltk.ui.refactoring.UserInputWizardPage; -import org.eclipse.m2e.refactoring.Messages; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; @@ -26,22 +25,33 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import org.eclipse.m2e.refactoring.Messages; + /** * @author Anton Kraev */ public class MavenRenameWizardPage extends UserInputWizardPage { private Text groupIdText; + private Text artifactIdText; + private Text versionText; + private Button renameCheckbox; - + private String groupId; + private String artifactId; + private String version; + private String newGroupId = ""; //$NON-NLS-1$ + private String newArtifactId = ""; //$NON-NLS-1$ + private String newVersion = ""; //$NON-NLS-1$ + private boolean renamed; protected MavenRenameWizardPage() { @@ -72,7 +82,7 @@ public class MavenRenameWizardPage extends UserInputWizardPage { public boolean isPageComplete() { boolean renamedArtifact = !newArtifactId.equals(artifactId); renameCheckbox.setEnabled(renamedArtifact); - if (!renamedArtifact) { + if(!renamedArtifact) { renameCheckbox.setSelection(false); renamed = false; } @@ -115,7 +125,7 @@ public class MavenRenameWizardPage extends UserInputWizardPage { versionText = new Text(composite, SWT.BORDER); versionText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); versionText.setData("name", "version"); //$NON-NLS-1$ //$NON-NLS-2$ - + new Label(composite, SWT.NONE); renameCheckbox = new Button(composite, SWT.CHECK); @@ -129,7 +139,7 @@ public class MavenRenameWizardPage extends UserInputWizardPage { getWizard().getContainer().updateButtons(); } }); - + ModifyListener listener = new ModifyListener() { public void modifyText(ModifyEvent e) { newGroupId = groupIdText.getText(); @@ -147,7 +157,7 @@ public class MavenRenameWizardPage extends UserInputWizardPage { artifactIdText.addModifyListener(listener); versionText.addModifyListener(listener); } - + private String nvl(String str) { return str == null ? "" : str; //$NON-NLS-1$ } diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/RenameArtifactHandler.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/RenameArtifactHandler.java index c0afda28..10580726 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/RenameArtifactHandler.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/RenameArtifactHandler.java @@ -8,8 +8,12 @@ * Contributors: * Sonatype, Inc. - initial API and implementation *******************************************************************************/ + package org.eclipse.m2e.refactoring.rename; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; @@ -18,12 +22,12 @@ import org.eclipse.core.resources.IProject; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation; -import org.eclipse.m2e.refactoring.internal.SaveDirtyFilesDialog; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.handlers.HandlerUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; + +import org.eclipse.m2e.refactoring.internal.SaveDirtyFilesDialog; + public class RenameArtifactHandler extends AbstractHandler { private static final Logger log = LoggerFactory.getLogger(RenameArtifactHandler.class); @@ -33,28 +37,28 @@ public class RenameArtifactHandler extends AbstractHandler { */ public Object execute(ExecutionEvent event) throws ExecutionException { ISelection selection = computeSelection(event); - if (! (selection instanceof IStructuredSelection)) { + if(!(selection instanceof IStructuredSelection)) { return null; } Object element = ((IStructuredSelection) selection).getFirstElement(); if(element instanceof IFile) { rename((IFile) element); - } else if (element instanceof IProject) { + } else if(element instanceof IProject) { IProject project = (IProject) element; IFile file = project.getFile("pom.xml"); //$NON-NLS-1$ - if(file!=null) { + if(file != null) { rename(file); } } return null; } - + private void rename(IFile file) { try { // get the model from existing file Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); boolean rc = SaveDirtyFilesDialog.saveDirtyFiles("pom.xml"); //$NON-NLS-1$ - if (!rc) + if(!rc) return; MavenRenameWizard wizard = new MavenRenameWizard(file); RefactoringWizardOpenOperation op = new RefactoringWizardOpenOperation(wizard); @@ -64,16 +68,16 @@ public class RenameArtifactHandler extends AbstractHandler { log.error("Unable to rename " + file, e); } } - + protected ISelection computeSelection(ExecutionEvent event) { ISelection selection = HandlerUtil.getActiveMenuSelection(event); - if (!(selection instanceof IStructuredSelection)) { + if(!(selection instanceof IStructuredSelection)) { selection = HandlerUtil.getActiveMenuEditorInput(event); } - if (!(selection instanceof IStructuredSelection)) { + if(!(selection instanceof IStructuredSelection)) { selection = HandlerUtil.getCurrentSelection(event); } - if (!(selection instanceof IStructuredSelection)) { + if(!(selection instanceof IStructuredSelection)) { selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getSelection(); } return selection; diff --git a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/RenameRefactoring.java b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/RenameRefactoring.java index 276cf676..5a61258d 100644 --- a/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/RenameRefactoring.java +++ b/org.eclipse.m2e.refactoring/src/org/eclipse/m2e/refactoring/rename/RenameRefactoring.java @@ -26,6 +26,8 @@ import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.edit.command.SetCommand; import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; import org.eclipse.ltk.core.refactoring.RefactoringStatus; +import org.eclipse.osgi.util.NLS; + import org.eclipse.m2e.model.edit.pom.Model; import org.eclipse.m2e.model.edit.pom.util.PomResourceImpl; import org.eclipse.m2e.refactoring.AbstractPomRefactoring; @@ -33,7 +35,6 @@ import org.eclipse.m2e.refactoring.Messages; import org.eclipse.m2e.refactoring.PomVisitor; import org.eclipse.m2e.refactoring.RefactoringModelResources; import org.eclipse.m2e.refactoring.RefactoringModelResources.PropertyInfo; -import org.eclipse.osgi.util.NLS; /** @@ -44,11 +45,17 @@ import org.eclipse.osgi.util.NLS; @SuppressWarnings("rawtypes") public class RenameRefactoring extends AbstractPomRefactoring { private static final Object[] EMPTY_OBJECT_ARRAY = new Object[] {}; + private static final String VERSION = "version"; //$NON-NLS-1$ + private static final String GETVERSION = Messages.RenameRefactoring_1; + private static final String ARTIFACT_ID = "artifactId"; //$NON-NLS-1$ + private static final String GETARTIFACT_ID = "getArtifactId"; //$NON-NLS-1$ + private static final String GROUP_ID = "groupId"; //$NON-NLS-1$ + private static final String GETGROUP_ID = "getGroupId"; //$NON-NLS-1$ // this page contains new values @@ -56,35 +63,37 @@ public class RenameRefactoring extends AbstractPomRefactoring { // old values String oldGroupId; + String oldArtifactId; + String oldVersion; public RenameRefactoring(IFile file, MavenRenameWizardPage page) { super(file); this.page = page; } - + // gets element from effective model based on path private Object getElement(Object root, Path path) { - if (path == null || path.path.size() == 0) { + if(path == null || path.path.size() == 0) { return root; } - + PathElement current = path.path.remove(0); String getterName = "get" + current.element; //$NON-NLS-1$ - + try { Method getter = root.getClass().getMethod(getterName, new Class[] {}); root = getElement(getter.invoke(root, EMPTY_OBJECT_ARRAY), path); - if (root instanceof List) { + if(root instanceof List) { List children = (List) root; - for (int i=0; i<children.size(); i++) { + for(int i = 0; i < children.size(); i++ ) { Object child = children.get(i); Method artifact = child.getClass().getMethod(GETARTIFACT_ID, new Class[] {}); String artifactId = (String) artifact.invoke(child, EMPTY_OBJECT_ARRAY); - if (current.artifactId != null && !current.artifactId.equals(artifactId)) + if(current.artifactId != null && !current.artifactId.equals(artifactId)) continue; - + //found, names are correct return getElement(child, path); } @@ -96,11 +105,12 @@ public class RenameRefactoring extends AbstractPomRefactoring { return null; } } - + /** * Finds all potential matched objects in model */ - private List<EObjectWithPath> scanModel(Model model, String groupId, String artifactId, String version, boolean processRoot) { + private List<EObjectWithPath> scanModel(Model model, String groupId, String artifactId, String version, + boolean processRoot) { List<EObjectWithPath> res = new ArrayList<EObjectWithPath>(); Path path = new Path(); if(processRoot) { @@ -112,8 +122,9 @@ public class RenameRefactoring extends AbstractPomRefactoring { } // add candidate objects with same artifactId - private List<EObjectWithPath> scanObject(Path current, EObject obj, String groupId, String artifactId, String version, List<EObjectWithPath> res) { - if (scanFeature(obj, ARTIFACT_ID, artifactId)) { + private List<EObjectWithPath> scanObject(Path current, EObject obj, String groupId, String artifactId, + String version, List<EObjectWithPath> res) { + if(scanFeature(obj, ARTIFACT_ID, artifactId)) { // System.out.println("found object " + obj + " : " + current); res.add(new EObjectWithPath(obj, current)); } @@ -121,7 +132,8 @@ public class RenameRefactoring extends AbstractPomRefactoring { return res; } - private List<EObjectWithPath> scanChildren(Path current, EObject obj, String groupId, String artifactId, String version, List<EObjectWithPath> res) { + private List<EObjectWithPath> scanChildren(Path current, EObject obj, String groupId, String artifactId, + String version, List<EObjectWithPath> res) { Iterator<EObject> it = obj.eContents().iterator(); while(it.hasNext()) { obj = it.next(); @@ -159,28 +171,30 @@ public class RenameRefactoring extends AbstractPomRefactoring { } public String getNewProjectName() { - return page.getRenameEclipseProject()? page.getNewArtifactId(): null; + return page.getRenameEclipseProject() ? page.getNewArtifactId() : null; } - + /** * Applies new values in model + * * @param editingDomain - * @param renameProject - * @throws NoSuchMethodException - * @throws Exception + * @param renameProject + * @throws NoSuchMethodException + * @throws Exception */ - public CompoundCommand applyModel(RefactoringModelResources model, - String newGroupId, String newArtifactId, String newVersion, boolean processRoot) throws Exception { + public CompoundCommand applyModel(RefactoringModelResources model, String newGroupId, String newArtifactId, + String newVersion, boolean processRoot) throws Exception { // find all affected objects in EMF model - List<EObjectWithPath> affected = scanModel(model.getTmpModel(), this.oldGroupId, this.oldArtifactId, this.oldVersion, processRoot); - + List<EObjectWithPath> affected = scanModel(model.getTmpModel(), this.oldGroupId, this.oldArtifactId, + this.oldVersion, processRoot); + // go through all affected objects, check in effective model Iterator<EObjectWithPath> i = affected.iterator(); CompoundCommand command = new CompoundCommand(); - while (i.hasNext()) { + while(i.hasNext()) { EObjectWithPath obj = i.next(); Object effectiveObj = getElement(model.getEffective(), obj.path.clone()); - if (effectiveObj == null) { + if(effectiveObj == null) { // System.out.println("cannot find effective for: " + obj.object); continue; } @@ -189,38 +203,39 @@ public class RenameRefactoring extends AbstractPomRefactoring { method = effectiveObj.getClass().getMethod(GETGROUP_ID, new Class[] {}); String effectiveGroupId = (String) method.invoke(effectiveObj, EMPTY_OBJECT_ARRAY); // if version from effective POM is different from old version, skip it - if (this.oldVersion != null && !this.oldVersion.equals(effectiveVersion)) { + if(this.oldVersion != null && !this.oldVersion.equals(effectiveVersion)) { continue; } - + // only set groupId if effective group id is the same as old group id - if (oldGroupId != null && oldGroupId.equals(effectiveGroupId)) + if(oldGroupId != null && oldGroupId.equals(effectiveGroupId)) applyFeature(editingDomain, model, GROUP_ID, newGroupId, command, obj); // set artifact id unconditionally applyFeature(editingDomain, model, ARTIFACT_ID, newArtifactId, command, obj); // only set version if effective version is the same (already checked by the above) // and new version is not empty - if (!"".equals(newVersion)) { //$NON-NLS-1$ + if(!"".equals(newVersion)) { //$NON-NLS-1$ applyFeature(editingDomain, model, VERSION, newVersion, command, obj); } } - return command.isEmpty()? null: command; + return command.isEmpty() ? null : command; } // apply the value, considering properties - private void applyFeature(AdapterFactoryEditingDomain editingDomain, RefactoringModelResources model, - String feature, String newValue, CompoundCommand command, EObjectWithPath obj) { + private void applyFeature(AdapterFactoryEditingDomain editingDomain, RefactoringModelResources model, String feature, + String newValue, CompoundCommand command, EObjectWithPath obj) { PropertyInfo info = null; String old = getValue(obj.object, feature); - if (old != null && old.startsWith("${")) { //$NON-NLS-1$ + if(old != null && old.startsWith("${")) { //$NON-NLS-1$ // this is a property, go find it String pName = old.substring(2); pName = pName.substring(0, pName.length() - 1).trim(); info = model.getProperties().get(pName); } - if (info != null) - info.setNewValue(new SetCommand(editingDomain, info.getPair(), info.getPair().eClass().getEStructuralFeature("value"), newValue)); //$NON-NLS-1$ + if(info != null) + info.setNewValue(new SetCommand(editingDomain, info.getPair(), info.getPair().eClass() + .getEStructuralFeature("value"), newValue)); //$NON-NLS-1$ else applyObject(editingDomain, command, obj.object, feature, newValue); } @@ -229,7 +244,7 @@ public class RenameRefactoring extends AbstractPomRefactoring { String featureName, String value) { EStructuralFeature feature = obj.eClass().getEStructuralFeature(featureName); if(feature == null) { - return; + return; } Object old = obj.eGet(feature); if(old == null || old.equals(value)) { @@ -242,7 +257,7 @@ public class RenameRefactoring extends AbstractPomRefactoring { public RefactoringStatus checkInitialConditions(IProgressMonitor pm) throws CoreException, OperationCanceledException { PomResourceImpl resource = AbstractPomRefactoring.loadResource(file); try { - Model model = (Model)resource.getContents().get(0); + Model model = (Model) resource.getContents().get(0); this.oldArtifactId = model.getArtifactId(); this.oldGroupId = model.getGroupId(); this.oldVersion = model.getVersion(); @@ -265,19 +280,19 @@ public class RenameRefactoring extends AbstractPomRefactoring { public CompoundCommand applyChanges(RefactoringModelResources current, IProgressMonitor pm) throws Exception { //process <project> element only for the refactored file itself boolean processRoot = current.getPomFile().equals(file); - return RenameRefactoring.this.applyModel(current, page.getNewGroupId(), - page.getNewArtifactId(), page.getNewVersion(), processRoot); + return RenameRefactoring.this.applyModel(current, page.getNewGroupId(), page.getNewArtifactId(), + page.getNewVersion(), processRoot); } }; } static class Path { List<PathElement> path = new ArrayList<PathElement>(); - + public void addElement(String element, String artifactId) { path.add(new PathElement(element, artifactId)); } - + public String toString() { return path.toString(); } @@ -288,32 +303,34 @@ public class RenameRefactoring extends AbstractPomRefactoring { return res; } } - + // path (built during traversal of EMF model, used to find in effective model) static class PathElement { String element; + String artifactId; - + public PathElement(String element, String artifactId) { this.element = element; this.artifactId = artifactId; } - + public String toString() { return "/" + element + "[artifactId=" + artifactId + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } } - + static class EObjectWithPath { public EObject object; + public Path path; - + public EObjectWithPath(EObject object, Path path) { this.object = object; this.path = path; } } - + // XXX move stuff UP after implementing another refactoring // after moving up, use this interface ScanVisitor { @@ -327,5 +344,5 @@ public class RenameRefactoring extends AbstractPomRefactoring { public String getTitle() { return NLS.bind(Messages.RenameRefactoring_title, file.getParent().getName()); } - + } |