From a8b5512972ebd9a273b8955fd1306e039428d400 Mon Sep 17 00:00:00 2001 From: Igor Fedorenko Date: Mon, 31 Dec 2012 23:21:03 -0500 Subject: 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 --- .../.settings/org.eclipse.jdt.core.prefs | 120 +++++++++++++++++- .../.settings/org.eclipse.jdt.ui.prefs | 67 +++++++++- .../eclipse/m2e/scm/MavenCheckoutOperation.java | 27 ++-- .../eclipse/m2e/scm/MavenProjectPomScanner.java | 86 +++++++------ .../org/eclipse/m2e/scm/MavenProjectScmInfo.java | 21 +++- .../src/org/eclipse/m2e/scm/ScmTag.java | 9 +- .../src/org/eclipse/m2e/scm/ScmUrl.java | 25 ++-- .../src/org/eclipse/m2e/scm/internal/Messages.java | 4 +- .../m2e/scm/internal/ScmHandlerFactory.java | 16 +-- .../internal/actions/CheckoutAsMavenAction.java | 21 ++-- .../scm/internal/actions/MaterializeAction.java | 6 +- .../wizards/MavenCheckoutLocationPage.java | 140 +++++++++++---------- .../scm/internal/wizards/MavenCheckoutWizard.java | 47 +++---- .../wizards/MavenMaterializePomWizard.java | 63 +++++----- .../internal/wizards/MavenProjectCheckoutJob.java | 68 +++++----- .../src/org/eclipse/m2e/scm/spi/ScmHandler.java | 36 +++--- .../src/org/eclipse/m2e/scm/spi/ScmHandlerUi.java | 21 ++-- 17 files changed, 498 insertions(+), 279 deletions(-) (limited to 'org.eclipse.m2e.scm') diff --git a/org.eclipse.m2e.scm/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.m2e.scm/.settings/org.eclipse.jdt.core.prefs index 063a9813..80d9c54b 100644 --- a/org.eclipse.m2e.scm/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.m2e.scm/.settings/org.eclipse.jdt.core.prefs @@ -1,11 +1,114 @@ -#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= +org.eclipse.jdt.core.codeComplete.fieldSuffixes= +org.eclipse.jdt.core.codeComplete.localPrefixes= +org.eclipse.jdt.core.codeComplete.localSuffixes= +org.eclipse.jdt.core.codeComplete.staticFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFieldSuffixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes= +org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes= org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 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=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled +org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH +org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 @@ -23,12 +126,14 @@ 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 @@ -66,11 +171,12 @@ org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not inse 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= -org.eclipse.jdt.core.formatter.enabling_tag= +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 @@ -157,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 @@ -186,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 @@ -241,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 @@ -250,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 @@ -276,4 +387,7 @@ 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.scm/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.m2e.scm/.settings/org.eclipse.jdt.ui.prefs index 97bf99cc..595d9975 100644 --- a/org.eclipse.m2e.scm/.settings/org.eclipse.jdt.ui.prefs +++ b/org.eclipse.m2e.scm/.settings/org.eclipse.jdt.ui.prefs @@ -1,5 +1,66 @@ eclipse.preferences.version=1 -formatter_profile=_m2eclipse +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_m2 plugin formatter_settings_version=12 -org.eclipse.jdt.ui.javadoc=false -org.eclipse.jdt.ui.text.custom_code_templates= +org.eclipse.jdt.ui.exception.name=ex +org.eclipse.jdt.ui.gettersetter.use.is=true +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=java;javax;org;org.w3c;org.xml;org.apache;com;junit;org.eclipse;org.codehaus;org.apache.lucene;org.apache.maven;org.sonatype;org.eclipse.m2e; +org.eclipse.jdt.ui.javadoc=true +org.eclipse.jdt.ui.keywordthis=true +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.overrideannotation=false +org.eclipse.jdt.ui.staticondemandthreshold=99 +org.eclipse.jdt.ui.text.custom_code_templates= +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.scm/src/org/eclipse/m2e/scm/MavenCheckoutOperation.java b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/MavenCheckoutOperation.java index 26af0f5e..a38e0488 100644 --- a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/MavenCheckoutOperation.java +++ b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/MavenCheckoutOperation.java @@ -16,15 +16,17 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.osgi.util.NLS; + import org.eclipse.m2e.scm.internal.Messages; import org.eclipse.m2e.scm.internal.ScmHandlerFactory; import org.eclipse.m2e.scm.spi.ScmHandler; -import org.eclipse.osgi.util.NLS; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** @@ -36,9 +38,9 @@ public class MavenCheckoutOperation { private static final Logger log = LoggerFactory.getLogger(MavenCheckoutOperation.class); private final File location; - + private final Collection mavenProjects; - + private final List locations = new ArrayList(); public MavenCheckoutOperation(File location, Collection mavenProjects) { @@ -56,8 +58,9 @@ public class MavenCheckoutOperation { } String folderUrl = info.getFolderUrl(); - - monitor.setTaskName(NLS.bind(Messages.MavenCheckoutOperation_task_scanning, info.getLabel(), info.getFolderUrl())); + + monitor + .setTaskName(NLS.bind(Messages.MavenCheckoutOperation_task_scanning, info.getLabel(), info.getFolderUrl())); // XXX check if projects already exist boolean isNestedPath = false; @@ -80,7 +83,8 @@ public class MavenCheckoutOperation { throw new InterruptedException(); } - monitor.setTaskName(NLS.bind(Messages.MavenCheckoutOperation_task_checking,info.getLabel(), info.getFolderUrl())); + monitor + .setTaskName(NLS.bind(Messages.MavenCheckoutOperation_task_checking, info.getLabel(), info.getFolderUrl())); // XXX if location is pointing to workspace folder need to create unique dir too File workspaceRoot = ResourcesPlugin.getWorkspace().getRoot().getLocation().toFile(); @@ -104,7 +108,7 @@ public class MavenCheckoutOperation { if(!tempDir.exists()) { return tempDir; } - suffix++; + suffix++ ; } } @@ -114,13 +118,12 @@ public class MavenCheckoutOperation { public Collection getMavenProjects() { return this.mavenProjects; } - + /** * @return Returns list of String paths for the checked out locations */ public List getLocations() { return this.locations; } - -} +} diff --git a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/MavenProjectPomScanner.java b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/MavenProjectPomScanner.java index 1b9374e2..28c9d270 100644 --- a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/MavenProjectPomScanner.java +++ b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/MavenProjectPomScanner.java @@ -17,6 +17,15 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.osgi.util.NLS; + +import org.codehaus.plexus.util.xml.pull.XmlPullParserException; + import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.artifact.resolver.ArtifactNotFoundException; @@ -26,30 +35,26 @@ import org.apache.maven.model.Model; import org.apache.maven.model.Parent; import org.apache.maven.model.Profile; import org.apache.maven.model.Scm; -import org.codehaus.plexus.util.xml.pull.XmlPullParserException; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; + import org.eclipse.m2e.core.MavenPlugin; import org.eclipse.m2e.core.embedder.IMaven; import org.eclipse.m2e.core.internal.IMavenConstants; import org.eclipse.m2e.core.internal.Messages; import org.eclipse.m2e.core.project.AbstractProjectScanner; -import org.eclipse.osgi.util.NLS; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; + /** * Maven project scanner using dependency list - * + * * @author Eugene Kuleshov */ public class MavenProjectPomScanner extends AbstractProjectScanner { private static final Logger log = LoggerFactory.getLogger(MavenProjectPomScanner.class); private final boolean developer; - + private final Dependency[] dependencies; - + private IMaven maven; public MavenProjectPomScanner(boolean developer, Dependency[] dependencies) { @@ -59,24 +64,25 @@ public class MavenProjectPomScanner extends AbstractProjectScanner extends AbstractProjectScanner extends AbstractProjectScanner extends AbstractProjectScanner extends AbstractProjectScanner extends AbstractProjectScanner extends AbstractProjectScanner modules = new HashSet(parentModel.getModules()); List parentModelProfiles = parentModel.getProfiles(); for(Profile profile : parentModelProfiles) { modules.addAll(profile.getModules()); } - + // heuristics for matching module names to artifactId String artifactId = model.getArtifactId(); for(String module : modules) { if(module.equals(artifactId) || module.endsWith("/" + artifactId)) { //$NON-NLS-1$ - if(parentScm.getConnection()!=null) { + if(parentScm.getConnection() != null) { parentScm.setConnection(parentScm.getConnection() + "/" + module); //$NON-NLS-1$ } - if(parentScm.getDeveloperConnection()!=null) { + if(parentScm.getDeveloperConnection() != null) { parentScm.setDeveloperConnection(parentScm.getDeveloperConnection() + "/" + module); //$NON-NLS-1$ } - return parentScm; + return parentScm; } } - + // XXX read modules from profiles - + return parentScm; } private Model resolveModel(String groupId, String artifactId, String version, IProgressMonitor monitor) throws CoreException { - monitor.subTask(NLS.bind(Messages.MavenProjectPomScanner_task_resolving, new Object[] { groupId, artifactId, version})); + monitor.subTask(NLS.bind(Messages.MavenProjectPomScanner_task_resolving, + new Object[] {groupId, artifactId, version})); List repositories = maven.getArtifactRepositories(); Artifact artifact = maven.resolve(groupId, artifactId, version, "pom", null, repositories, monitor); //$NON-NLS-1$ @@ -204,13 +211,12 @@ public class MavenProjectPomScanner extends AbstractProjectScanner> scms; private static volatile Map scmUis; @@ -128,7 +130,7 @@ public class ScmHandlerFactory { } return scmHandlers; } - + private static List readScmHandlerUiExtensions() { ArrayList scmHandlerUis = new ArrayList(); IExtensionRegistry registry = Platform.getExtensionRegistry(); diff --git a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/actions/CheckoutAsMavenAction.java b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/actions/CheckoutAsMavenAction.java index 706b2f27..d5c70b58 100644 --- a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/actions/CheckoutAsMavenAction.java +++ b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/actions/CheckoutAsMavenAction.java @@ -17,39 +17,40 @@ import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.WizardDialog; -import org.eclipse.m2e.core.ui.internal.M2EUIPluginActivator; -import org.eclipse.m2e.scm.ScmUrl; -import org.eclipse.m2e.scm.internal.wizards.MavenCheckoutWizard; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IObjectActionDelegate; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.m2e.core.ui.internal.M2EUIPluginActivator; +import org.eclipse.m2e.scm.ScmUrl; +import org.eclipse.m2e.scm.internal.wizards.MavenCheckoutWizard; + /** * Checkout as Maven project action - * + * * @author @author Eugene Kuleshov */ public class CheckoutAsMavenAction implements IObjectActionDelegate { private IStructuredSelection selection; + private IWorkbenchPart targetPart; /* (non-Javadoc) * @see org.eclipse.ui.actions.ActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) */ public void selectionChanged(IAction action, ISelection selection) { - if (selection instanceof IStructuredSelection) { + if(selection instanceof IStructuredSelection) { this.selection = (IStructuredSelection) selection; } } - + public void setActivePart(IAction action, IWorkbenchPart targetPart) { this.targetPart = targetPart; } - /* (non-Javadoc) * @see org.eclipse.ui.actions.ActionDelegate#run(org.eclipse.jface.action.IAction) @@ -60,10 +61,10 @@ public class CheckoutAsMavenAction implements IObjectActionDelegate { urls = new ScmUrl[selection.size()]; int i = 0; for(Iterator it = selection.iterator(); it.hasNext();) { - urls[i++] = (ScmUrl) it.next(); + urls[i++ ] = (ScmUrl) it.next(); } } - + MavenCheckoutWizard wizard = new MavenCheckoutWizard(urls); WizardDialog dialog = new WizardDialog(getShell(), wizard); dialog.open(); @@ -86,5 +87,5 @@ public class CheckoutAsMavenAction implements IObjectActionDelegate { IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); return window == null ? null : window.getShell(); } - + } diff --git a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/actions/MaterializeAction.java b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/actions/MaterializeAction.java index 7911b715..37a3523e 100644 --- a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/actions/MaterializeAction.java +++ b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/actions/MaterializeAction.java @@ -11,17 +11,19 @@ package org.eclipse.m2e.scm.internal.actions; -import org.apache.maven.model.Dependency; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.WizardDialog; -import org.eclipse.m2e.scm.internal.wizards.MavenMaterializePomWizard; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.IObjectActionDelegate; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.PlatformUI; +import org.apache.maven.model.Dependency; + +import org.eclipse.m2e.scm.internal.wizards.MavenMaterializePomWizard; + public class MaterializeAction implements IObjectActionDelegate { diff --git a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenCheckoutLocationPage.java b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenCheckoutLocationPage.java index 00803275..dd314beb 100644 --- a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenCheckoutLocationPage.java +++ b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenCheckoutLocationPage.java @@ -14,7 +14,6 @@ package org.eclipse.m2e.scm.internal.wizards; import java.util.LinkedHashSet; import java.util.Set; -import org.apache.maven.model.Scm; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IExtension; @@ -24,14 +23,6 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.RegistryFactory; import org.eclipse.jface.wizard.IWizardContainer; import org.eclipse.jface.wizard.WizardDialog; -import org.eclipse.m2e.core.project.ProjectImportConfiguration; -import org.eclipse.m2e.core.ui.internal.IMavenDiscovery; -import org.eclipse.m2e.core.ui.internal.wizards.AbstractMavenWizardPage; -import org.eclipse.m2e.scm.ScmTag; -import org.eclipse.m2e.scm.ScmUrl; -import org.eclipse.m2e.scm.internal.Messages; -import org.eclipse.m2e.scm.internal.ScmHandlerFactory; -import org.eclipse.m2e.scm.spi.ScmHandlerUi; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; @@ -49,6 +40,17 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Link; import org.eclipse.swt.widgets.Text; +import org.apache.maven.model.Scm; + +import org.eclipse.m2e.core.project.ProjectImportConfiguration; +import org.eclipse.m2e.core.ui.internal.IMavenDiscovery; +import org.eclipse.m2e.core.ui.internal.wizards.AbstractMavenWizardPage; +import org.eclipse.m2e.scm.ScmTag; +import org.eclipse.m2e.scm.ScmUrl; +import org.eclipse.m2e.scm.internal.Messages; +import org.eclipse.m2e.scm.internal.ScmHandlerFactory; +import org.eclipse.m2e.scm.spi.ScmHandlerUi; + /** * @author Eugene Kuleshov @@ -56,25 +58,27 @@ import org.eclipse.swt.widgets.Text; public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { String scmType; + ScmUrl[] scmUrls; + String scmParentUrl; - + Combo scmTypeCombo; - + Combo scmUrlCombo; - + Button scmUrlBrowseButton; - + Button headRevisionButton; Label revisionLabel; - + Text revisionText; - + Button revisionBrowseButton; - + private Button checkoutAllProjectsButton; - + private Link m2eMarketplace; protected MavenCheckoutLocationPage(ProjectImportConfiguration projectImportConfiguration) { @@ -119,8 +123,8 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { } } }); - - if(scmUrls!=null && scmUrls.length == 1) { + + if(scmUrls != null && scmUrls.length == 1) { try { scmType = ScmUrl.getType(scmUrls[0].getUrl()); } catch(CoreException ex) { @@ -155,15 +159,15 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { revisionTextData.widthHint = 115; revisionTextData.verticalIndent = 3; revisionText.setLayoutData(revisionTextData); - + if(scmUrls != null) { ScmTag tag = scmUrls[0].getTag(); - if(tag!=null) { + if(tag != null) { headRevisionButton.setSelection(false); revisionText.setText(tag.getName()); } } - + revisionText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { updatePage(); @@ -178,15 +182,15 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { revisionBrowseButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { String url = scmParentUrl; - if(url==null) { + if(url == null) { return; } - + String scmType = scmTypeCombo.getText(); - + ScmHandlerUi handlerUi = ScmHandlerFactory.getHandlerUiByType(scmType); String revision = handlerUi.selectRevision(getShell(), scmUrls[0], revisionText.getText()); - if(revision!=null) { + if(revision != null) { revisionText.setText(revision); headRevisionButton.setSelection(false); updatePage(); @@ -210,7 +214,7 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { advancedSettingsData.verticalIndent = 10; createAdvancedSettings(composite, advancedSettingsData); - if(scmUrls!=null && scmUrls.length == 1) { + if(scmUrls != null && scmUrls.length == 1) { scmTypeCombo.setText(scmType == null ? "" : scmType); //$NON-NLS-1$ scmUrlCombo.setText(scmUrls[0].getProviderUrl()); } @@ -220,11 +224,11 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { public void widgetSelected(SelectionEvent e) { ScmHandlerUi handlerUi = ScmHandlerFactory.getHandlerUiByType(scmType); // XXX should use null if there is no scmUrl selected - ScmUrl currentUrl = scmUrls==null || scmUrls.length==0 ? new ScmUrl("scm:" + scmType + ":") : scmUrls[0]; //$NON-NLS-1$ //$NON-NLS-2$ + ScmUrl currentUrl = scmUrls == null || scmUrls.length == 0 ? new ScmUrl("scm:" + scmType + ":") : scmUrls[0]; //$NON-NLS-1$ //$NON-NLS-2$ ScmUrl scmUrl = handlerUi.selectUrl(getShell(), currentUrl); - if(scmUrl!=null) { + if(scmUrl != null) { scmUrlCombo.setText(scmUrl.getProviderUrl()); - if(scmUrls==null) { + if(scmUrls == null) { scmUrls = new ScmUrl[1]; } scmUrls[0] = scmUrl; @@ -233,7 +237,7 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { } } }); - + scmUrlCombo.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { final String url = scmUrlCombo.getText(); @@ -251,11 +255,11 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { } return; } - - if(scmUrls==null) { + + if(scmUrls == null) { scmUrls = new ScmUrl[1]; } - + ScmUrl scmUrl = new ScmUrl("scm:" + scmType + ":" + url); //$NON-NLS-1$ //$NON-NLS-2$ scmUrls[0] = scmUrl; scmParentUrl = scmUrl.getUrl(); @@ -307,29 +311,29 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { */ public void setVisible(boolean visible) { super.setVisible(visible); - - if(dialogSettings!=null && scmUrlCombo!=null) { + + if(dialogSettings != null && scmUrlCombo != null) { String[] items = dialogSettings.getArray("scmUrl"); //$NON-NLS-1$ if(items != null) { String text = scmUrlCombo.getText(); scmUrlCombo.setItems(items); - if (text.length() > 0) { + if(text.length() > 0) { // setItems() clears the text input, so we need to restore it scmUrlCombo.setText(text); } } } } - + /* (non-Javadoc) * @see org.eclipse.m2e.wizards.AbstractMavenWizardPage#dispose() */ public void dispose() { - if(dialogSettings != null && scmUrlCombo!=null) { + if(dialogSettings != null && scmUrlCombo != null) { Set history = new LinkedHashSet(MAX_HISTORY); - + String lastValue = scmUrlCombo.getText(); - if ( lastValue!=null && lastValue.trim().length() > 0 ) { + if(lastValue != null && lastValue.trim().length() > 0) { history.add("scm:" + scmType + ":" + lastValue); //$NON-NLS-1$ //$NON-NLS-2$ } @@ -337,27 +341,27 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { for(int j = 0; j < items.length && history.size() < MAX_HISTORY; j++ ) { history.add(items[j]); } - + dialogSettings.put("scmUrl", history.toArray(new String[history.size()])); //$NON-NLS-1$ } - + super.dispose(); } - + public IWizardContainer getContainer() { return super.getContainer(); } - + void updatePage() { - boolean canSelectUrl = false ; + boolean canSelectUrl = false; boolean canSelectRevision = false; ScmHandlerUi handlerUi = ScmHandlerFactory.getHandlerUiByType(scmType); - if(handlerUi!=null) { + if(handlerUi != null) { canSelectUrl = handlerUi.canSelectUrl(); canSelectRevision = handlerUi.canSelectRevision(); } - - if(scmUrlBrowseButton!=null) { + + if(scmUrlBrowseButton != null) { scmUrlBrowseButton.setEnabled(canSelectUrl); scmUrlBrowseButton.setVisible(canSelectUrl); } @@ -367,14 +371,14 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { boolean isHeadRevision = isHeadRevision(); revisionLabel.setEnabled(!isHeadRevision); revisionText.setEnabled(!isHeadRevision); - + setPageComplete(isPageValid()); } private boolean isPageValid() { setErrorMessage(null); - - if(scmUrls != null && scmUrls.length < 2) { + + if(scmUrls != null && scmUrls.length < 2) { if(scmType == null) { setErrorMessage(Messages.MavenCheckoutLocationPage_error_empty); return false; @@ -382,52 +386,52 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { } ScmHandlerUi handlerUi = ScmHandlerFactory.getHandlerUiByType(scmType); - + if(scmUrls == null || scmUrls.length < 2) { if(scmUrls == null || scmUrls.length == 0) { setErrorMessage(Messages.MavenCheckoutLocationPage_error_empty_url); return false; } - - if(handlerUi!=null && !handlerUi.isValidUrl(scmUrls[0].getUrl())) { + + if(handlerUi != null && !handlerUi.isValidUrl(scmUrls[0].getUrl())) { setErrorMessage(Messages.MavenCheckoutLocationPage_error_url_empty); return false; } } - + if(!isHeadRevision()) { String revision = revisionText.getText().trim(); - if(revision.length()==0) { + if(revision.length() == 0) { setErrorMessage(Messages.MavenCheckoutLocationPage_error_scm_empty); return false; } - - if(handlerUi!=null && !handlerUi.isValidRevision(null, revision)) { + + if(handlerUi != null && !handlerUi.isValidRevision(null, revision)) { setErrorMessage(Messages.MavenCheckoutLocationPage_error_scm_invalid); return false; - } + } } - + return true; } - + public void setParent(String parentUrl) { this.scmParentUrl = parentUrl; } - + public void setUrls(ScmUrl[] urls) { this.scmUrls = urls; } - + public ScmUrl[] getUrls() { return scmUrls; } - + public Scm[] getScms() { - if(scmUrls==null) { + if(scmUrls == null) { return new Scm[0]; } - + String revision = getRevision(); Scm[] scms = new Scm[scmUrls.length]; for(int i = 0; i < scms.length; i++ ) { @@ -438,7 +442,7 @@ public class MavenCheckoutLocationPage extends AbstractMavenWizardPage { } return scms; } - + public boolean isCheckoutAllProjects() { return checkoutAllProjectsButton.getSelection(); } diff --git a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenCheckoutWizard.java b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenCheckoutWizard.java index 804a816f..a537a832 100644 --- a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenCheckoutWizard.java +++ b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenCheckoutWizard.java @@ -15,21 +15,23 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; -import org.apache.maven.model.Scm; import org.eclipse.core.runtime.IAdapterManager; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.Platform; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.IImportWizard; +import org.eclipse.ui.INewWizard; +import org.eclipse.ui.IWorkbench; + +import org.apache.maven.model.Scm; + import org.eclipse.m2e.core.internal.IMavenConstants; -import org.eclipse.m2e.scm.internal.Messages; import org.eclipse.m2e.core.ui.internal.actions.SelectionUtil; import org.eclipse.m2e.core.ui.internal.wizards.AbstractMavenProjectWizard; import org.eclipse.m2e.core.ui.internal.wizards.MavenProjectWizardLocationPage; import org.eclipse.m2e.scm.MavenProjectScmInfo; import org.eclipse.m2e.scm.ScmUrl; -import org.eclipse.ui.IImportWizard; -import org.eclipse.ui.INewWizard; -import org.eclipse.ui.IWorkbench; +import org.eclipse.m2e.scm.internal.Messages; /** @@ -42,11 +44,11 @@ public class MavenCheckoutWizard extends AbstractMavenProjectWizard implements I private ScmUrl[] urls; private String parentUrl; - + private MavenCheckoutLocationPage scheckoutPage; private MavenProjectWizardLocationPage locationPage; - + public MavenCheckoutWizard() { this(null); setNeedsProgressMonitor(true); @@ -73,21 +75,21 @@ public class MavenCheckoutWizard extends AbstractMavenProjectWizard implements I } setUrls(urls.toArray(new ScmUrl[urls.size()])); } - + private void setUrls(ScmUrl[] urls) { - if(urls!=null && urls.length>0) { + if(urls != null && urls.length > 0) { this.urls = urls; this.parentUrl = getParentUrl(urls); } } private String getParentUrl(ScmUrl[] urls) { - if(urls.length==1) { + if(urls.length == 1) { return urls[0].getUrl(); } - + String parent = urls[0].getParentUrl(); - for(int i = 1; parent!=null && i < urls.length; i++ ) { + for(int i = 1; parent != null && i < urls.length; i++ ) { String url = urls[i].getParentUrl(); if(!parent.equals(url)) { parent = null; @@ -95,21 +97,20 @@ public class MavenCheckoutWizard extends AbstractMavenProjectWizard implements I } return parent; } - + public void addPages() { scheckoutPage = new MavenCheckoutLocationPage(importConfiguration); scheckoutPage.setUrls(urls); scheckoutPage.setParent(parentUrl); - + locationPage = new MavenProjectWizardLocationPage(importConfiguration, // - Messages.MavenCheckoutWizard_location1, - Messages.MavenCheckoutWizard_location2, workingSets); + Messages.MavenCheckoutWizard_location1, Messages.MavenCheckoutWizard_location2, workingSets); locationPage.setLocationPath(SelectionUtil.getSelectedLocation(selection)); - + addPage(scheckoutPage); addPage(locationPage); } - + // /** Adds the listeners after the page controls are created. */ // public void createPageControls(Composite pageContainer) { // super.createPageControls(pageContainer); @@ -138,16 +139,16 @@ public class MavenCheckoutWizard extends AbstractMavenProjectWizard implements I final boolean checkoutAllProjects = scheckoutPage.isCheckoutAllProjects(); Scm[] scms = scheckoutPage.getScms(); - + final Collection mavenProjects = new ArrayList(); for(int i = 0; i < scms.length; i++ ) { String url = scms[i].getConnection(); String revision = scms[i].getTag(); - + if(url.endsWith("/")) { //$NON-NLS-1$ - url = url.substring(0, url.length()-1); + url = url.substring(0, url.length() - 1); } - + int n = url.lastIndexOf("/"); //$NON-NLS-1$ String label = (n == -1 ? url : url.substring(n)) + "/" + IMavenConstants.POM_FILE_NAME; //$NON-NLS-1$ MavenProjectScmInfo projectInfo = new MavenProjectScmInfo(label, null, // @@ -164,7 +165,7 @@ public class MavenCheckoutWizard extends AbstractMavenProjectWizard implements I if(!locationPage.isInWorkspace()) { job.setLocation(locationPage.getLocationPath().toFile()); } - + job.schedule(); return true; diff --git a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenMaterializePomWizard.java b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenMaterializePomWizard.java index 52de1b47..d960cc7c 100644 --- a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenMaterializePomWizard.java +++ b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenMaterializePomWizard.java @@ -15,9 +15,18 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import org.apache.maven.model.Dependency; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.IImportWizard; +import org.eclipse.ui.INewWizard; +import org.eclipse.ui.IWorkbench; + +import org.apache.maven.model.Dependency; + import org.eclipse.m2e.core.embedder.ArtifactKey; import org.eclipse.m2e.core.project.ProjectImportConfiguration; import org.eclipse.m2e.core.ui.internal.actions.SelectionUtil; @@ -27,30 +36,23 @@ import org.eclipse.m2e.core.ui.internal.wizards.MavenProjectWizardLocationPage; import org.eclipse.m2e.scm.MavenProjectPomScanner; import org.eclipse.m2e.scm.MavenProjectScmInfo; import org.eclipse.m2e.scm.internal.Messages; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.IImportWizard; -import org.eclipse.ui.INewWizard; -import org.eclipse.ui.IWorkbench; /** - * A wizard used to import projects for Maven artifacts + * A wizard used to import projects for Maven artifacts * * @author Eugene Kuleshov */ public class MavenMaterializePomWizard extends AbstractMavenProjectWizard implements IImportWizard, INewWizard { - + MavenDependenciesWizardPage selectionPage; - + MavenProjectWizardLocationPage locationPage; - + Button checkOutAllButton; - + Button useDeveloperConnectionButton; - + // TODO replace with ArtifactKey private Dependency[] dependencies; @@ -63,7 +65,7 @@ public class MavenMaterializePomWizard extends AbstractMavenProjectWizard implem public void setDependencies(Dependency[] dependencies) { this.dependencies = dependencies; } - + public Dependency[] getDependencies() { return dependencies; } @@ -76,7 +78,7 @@ public class MavenMaterializePomWizard extends AbstractMavenProjectWizard implem for(Iterator it = selection.iterator(); it.hasNext();) { Object element = it.next(); ArtifactKey artifactKey = SelectionUtil.getType(element, ArtifactKey.class); - if(artifactKey!=null) { + if(artifactKey != null) { Dependency d = new Dependency(); d.setGroupId(artifactKey.getGroupId()); d.setArtifactId(artifactKey.getArtifactId()); @@ -85,7 +87,7 @@ public class MavenMaterializePomWizard extends AbstractMavenProjectWizard implem dependencies.add(d); } } - + setDependencies(dependencies.toArray(new Dependency[dependencies.size()])); } @@ -97,25 +99,26 @@ public class MavenMaterializePomWizard extends AbstractMavenProjectWizard implem checkOutAllButton = new Button(composite, SWT.CHECK); checkOutAllButton.setText(Messages.MavenMaterializePomWizard_btnCheckout); checkOutAllButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 3, 1)); - + useDeveloperConnectionButton = new Button(composite, SWT.CHECK); useDeveloperConnectionButton.setText(Messages.MavenMaterializePomWizard_btnDev); useDeveloperConnectionButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 3, 1)); - + super.createAdvancedSettings(composite, gridData); } }; selectionPage.setDependencies(dependencies); - - locationPage = new MavenProjectWizardLocationPage(importConfiguration, // - Messages.MavenMaterializePomWizard_location_title, - Messages.MavenMaterializePomWizard_location_message, workingSets); + + locationPage = new MavenProjectWizardLocationPage( + importConfiguration, // + Messages.MavenMaterializePomWizard_location_title, Messages.MavenMaterializePomWizard_location_message, + workingSets); locationPage.setLocationPath(SelectionUtil.getSelectedLocation(selection)); - + addPage(selectionPage); addPage(locationPage); } - + public boolean canFinish() { return super.canFinish(); } @@ -126,25 +129,25 @@ public class MavenMaterializePomWizard extends AbstractMavenProjectWizard implem } final Dependency[] dependencies = selectionPage.getDependencies(); - + final boolean checkoutAllProjects = checkOutAllButton.getSelection(); final boolean developer = useDeveloperConnectionButton.getSelection(); - + MavenProjectCheckoutJob job = new MavenProjectCheckoutJob(importConfiguration, checkoutAllProjects, workingSets) { protected List getProjects(IProgressMonitor monitor) throws InterruptedException { MavenProjectPomScanner scanner = new MavenProjectPomScanner( developer, dependencies); scanner.run(monitor); // XXX handle errors/warnings - + return scanner.getProjects(); } }; - + if(!locationPage.isInWorkspace()) { job.setLocation(locationPage.getLocationPath().toFile()); } - + job.schedule(); return true; diff --git a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenProjectCheckoutJob.java b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenProjectCheckoutJob.java index 85bd4a69..51310086 100644 --- a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenProjectCheckoutJob.java +++ b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/internal/wizards/MavenProjectCheckoutJob.java @@ -18,9 +18,9 @@ import java.util.Collection; import java.util.List; import java.util.Set; -import org.apache.maven.model.Model; -import org.codehaus.plexus.util.DirectoryScanner; -import org.codehaus.plexus.util.FileUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; @@ -37,6 +37,20 @@ import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.window.Window; import org.eclipse.jface.wizard.IWizard; import org.eclipse.jface.wizard.WizardDialog; +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.swt.dnd.Transfer; +import org.eclipse.ui.IWorkingSet; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.actions.NewProjectAction; +import org.eclipse.ui.progress.IProgressConstants; +import org.eclipse.ui.wizards.datatransfer.ExternalProjectImportWizard; + +import org.codehaus.plexus.util.DirectoryScanner; +import org.codehaus.plexus.util.FileUtils; + +import org.apache.maven.model.Model; + import org.eclipse.m2e.core.MavenPlugin; import org.eclipse.m2e.core.embedder.MavenModelManager; import org.eclipse.m2e.core.internal.lifecyclemapping.discovery.LifecycleMappingConfiguration; @@ -51,16 +65,6 @@ import org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizard; import org.eclipse.m2e.scm.MavenCheckoutOperation; import org.eclipse.m2e.scm.MavenProjectScmInfo; import org.eclipse.m2e.scm.internal.Messages; -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.swt.dnd.Transfer; -import org.eclipse.ui.IWorkingSet; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.actions.NewProjectAction; -import org.eclipse.ui.progress.IProgressConstants; -import org.eclipse.ui.wizards.datatransfer.ExternalProjectImportWizard; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** @@ -72,13 +76,13 @@ public abstract class MavenProjectCheckoutJob extends WorkspaceJob { private static final Logger log = LoggerFactory.getLogger(MavenProjectCheckoutJob.class); final ProjectImportConfiguration configuration; - + boolean checkoutAllProjects; Collection projects; File location; - + List collectedLocations = new ArrayList(); final List workingSets; @@ -93,16 +97,15 @@ public abstract class MavenProjectCheckoutJob extends WorkspaceJob { setProperty(IProgressConstants.ACTION_PROPERTY, new OpenMavenConsoleAction()); addJobChangeListener(new CheckoutJobChangeListener()); } - + public void setLocation(File location) { this.location = location; } - + protected abstract Collection getProjects(IProgressMonitor monitor) throws InterruptedException; - - + // WorkspaceJob - + public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException { try { MavenCheckoutOperation operation = new MavenCheckoutOperation(location, getProjects(monitor)); @@ -112,13 +115,13 @@ public abstract class MavenProjectCheckoutJob extends WorkspaceJob { IWorkspaceRoot workspace = ResourcesPlugin.getWorkspace().getRoot(); MavenModelManager modelManager = MavenPlugin.getMavenModelManager(); - + LocalProjectScanner scanner = new LocalProjectScanner(workspace.getLocation().toFile(), operation.getLocations(), true, modelManager); scanner.run(monitor); this.projects = MavenPlugin.getProjectConfigurationManager().collectProjects(scanner.getProjects()); - + if(checkoutAllProjects) { // check if there any project name conflicts for(MavenProjectInfo projectInfo : projects) { @@ -160,17 +163,17 @@ public abstract class MavenProjectCheckoutJob extends WorkspaceJob { if(projects.isEmpty()) { log.info("No Maven projects to import"); - - if(collectedLocations.size()==1) { + + if(collectedLocations.size() == 1) { final String location = collectedLocations.get(0); - + DirectoryScanner projectScanner = new DirectoryScanner(); projectScanner.setBasedir(location); projectScanner.setIncludes(new String[] {"**/.project"}); //$NON-NLS-1$ projectScanner.scan(); - + String[] projectFiles = projectScanner.getIncludedFiles(); - if(projectFiles!=null && projectFiles.length>0) { + if(projectFiles != null && projectFiles.length > 0) { PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { public void run() { boolean res = MessageDialog.openConfirm(PlatformUI.getWorkbench().getDisplay().getActiveShell(), // @@ -188,7 +191,7 @@ public abstract class MavenProjectCheckoutJob extends WorkspaceJob { }); return; } - + PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() { public void run() { boolean res = MessageDialog.openConfirm(PlatformUI.getWorkbench().getDisplay().getActiveShell(), // @@ -196,9 +199,10 @@ public abstract class MavenProjectCheckoutJob extends WorkspaceJob { Messages.MavenProjectCheckoutJob_confirm2_message); if(res) { Clipboard clipboard = new Clipboard(PlatformUI.getWorkbench().getDisplay()); - clipboard.setContents(new Object[] { location }, new Transfer[] { TextTransfer.getInstance() }); - - NewProjectAction newProjectAction = new NewProjectAction(PlatformUI.getWorkbench().getActiveWorkbenchWindow()); + clipboard.setContents(new Object[] {location}, new Transfer[] {TextTransfer.getInstance()}); + + NewProjectAction newProjectAction = new NewProjectAction(PlatformUI.getWorkbench() + .getActiveWorkbenchWindow()); newProjectAction.run(); } else { cleanup(collectedLocations); @@ -210,7 +214,7 @@ public abstract class MavenProjectCheckoutJob extends WorkspaceJob { cleanup(collectedLocations); } - + if(checkoutAllProjects) { if(M2EUIPluginActivator.getDefault().getMavenDiscovery() != null) { final LifecycleMappingConfiguration mappingConfiguration = LifecycleMappingConfiguration.calculate(projects, diff --git a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/spi/ScmHandler.java b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/spi/ScmHandler.java index f5f8efd1..f3a2b2a0 100644 --- a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/spi/ScmHandler.java +++ b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/spi/ScmHandler.java @@ -14,27 +14,33 @@ package org.eclipse.m2e.scm.spi; import java.io.File; import java.io.InputStream; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IExecutableExtension; import org.eclipse.core.runtime.IProgressMonitor; + import org.eclipse.m2e.scm.MavenProjectScmInfo; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; + /** * An SCM handler base class - * + * * @author Eugene Kuleshov */ public abstract class ScmHandler implements Comparable, IExecutableExtension { private static final Logger log = LoggerFactory.getLogger(ScmHandler.class); public static final String ATTR_CLASS = "class"; //$NON-NLS-1$ + public static final String ATTR_TYPE = "type"; //$NON-NLS-1$ + public static final String ATTR_PRIORITY = "priority"; //$NON-NLS-1$ - + private String type; + private int priority; public String getType() { @@ -44,21 +50,19 @@ public abstract class ScmHandler implements Comparable, IExecutableE public int getPriority() { return priority; } - + /** * Opens resource from SCM * * @param url an url in maven-scm format for the resource to open * @param revision a resource revision to open - * * @throws CoreException when selected resource can't be open - * * @see http://maven.apache.org/scm/scm-url-format.html */ public InputStream open(String url, String revision) throws CoreException { return null; } - + /** * @param info * @param location @@ -66,17 +70,17 @@ public abstract class ScmHandler implements Comparable, IExecutableE */ public abstract void checkoutProject(MavenProjectScmInfo info, // File location, IProgressMonitor monitor) throws CoreException, InterruptedException; - + // IExecutableExtension - + public void setInitializationData(IConfigurationElement config, String propertyName, Object data) { String handlerClass = config.getAttribute(propertyName); String type = config.getAttribute(ATTR_TYPE); String priority = config.getAttribute(ATTR_PRIORITY); this.type = type; - - if(priority!=null) { + + if(priority != null) { try { this.priority = Integer.parseInt(priority); } catch(Exception ex) { @@ -84,17 +88,17 @@ public abstract class ScmHandler implements Comparable, IExecutableE } } } - + // Comparable - + public int compareTo(ScmHandler o) { if(o != null) { ScmHandler handler = o; int res = getType().compareTo(handler.getType()); - if(res==0) { + if(res == 0) { res = getPriority() - handler.getPriority(); } - return res; + return res; } return -1; } diff --git a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/spi/ScmHandlerUi.java b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/spi/ScmHandlerUi.java index 865a0214..6f2dde68 100644 --- a/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/spi/ScmHandlerUi.java +++ b/org.eclipse.m2e.scm/src/org/eclipse/m2e/scm/spi/ScmHandlerUi.java @@ -13,20 +13,23 @@ package org.eclipse.m2e.scm.spi; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IExecutableExtension; -import org.eclipse.m2e.scm.ScmUrl; import org.eclipse.swt.widgets.Shell; +import org.eclipse.m2e.scm.ScmUrl; + + /** * An SCM handler UI base class - * + * * @author Eugene Kuleshov */ public abstract class ScmHandlerUi implements IExecutableExtension { public static final String ATTR_TYPE = "type"; //$NON-NLS-1$ + public static final String ATTR_CLASS = "class"; //$NON-NLS-1$ - + private String type; - + public String getType() { return type; } @@ -53,11 +56,11 @@ public abstract class ScmHandlerUi implements IExecutableExtension { public ScmUrl selectUrl(Shell shell, ScmUrl scmUrl) { return null; } - + public boolean isValidUrl(String scmUrl) { return false; } - + public boolean isValidRevision(ScmUrl scmUrl, String scmRevision) { return false; } @@ -70,12 +73,10 @@ public abstract class ScmHandlerUi implements IExecutableExtension { return false; } - // IExecutableExtension - + public void setInitializationData(IConfigurationElement config, String propertyName, Object data) { this.type = config.getAttribute(ATTR_TYPE); } - -} +} -- cgit v1.2.3