Author: rafale
Date: Tue Mar 24 19:59:51 2009
New Revision: 757987

URL: http://svn.apache.org/viewvc?rev=757987&view=rev
Log:
Using remote catalog preferably, but defaulting to internal when remote don't 
exists (remote = http://repo1.maven.org/maven2/archetype-catalog.xml)

Modified:
    
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
    
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java

Modified: 
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
URL: 
http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java?rev=757987&r1=757986&r2=757987&view=diff
==============================================================================
--- 
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
 (original)
+++ 
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
 Tue Mar 24 19:59:51 2009
@@ -131,7 +131,7 @@
      * @required
      */
     private List remoteArtifactRepositories;
-        
+
     /**
      * User settings use to check the interactiveMode.
      *
@@ -143,8 +143,8 @@
     /** @parameter expression="${basedir}" */
     private File basedir;
 
-    /** 
-     *  @parameter expression="${session}" 
+    /**
+     *  @parameter expression="${session}"
      *  @readonly
      */
     private MavenSession session;
@@ -157,9 +157,9 @@
 
     public void execute()
         throws MojoExecutionException, MojoFailureException
-    {        
+    {
         Properties executionProperties = session.getExecutionProperties();
-        
+
         ArchetypeGenerationRequest request = new ArchetypeGenerationRequest()
             .setArchetypeGroupId( archetypeGroupId )
             .setArchetypeArtifactId( archetypeArtifactId )
@@ -179,7 +179,7 @@
             {
                 getLog().info( "Generating project in Batch mode" );
             }
-            
+
             selector.selectArchetype( request, interactiveMode, 
archetypeCatalog );
 
             configurator.configureArchetype( request, interactiveMode, 
executionProperties );

Modified: 
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
URL: 
http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java?rev=757987&r1=757986&r2=757987&view=diff
==============================================================================
--- 
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
 (original)
+++ 
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
 Tue Mar 24 19:59:51 2009
@@ -54,7 +54,7 @@
     /** @plexus.requirement */
     private org.apache.maven.archetype.Archetype archetype;
 
-    public void selectArchetype( ArchetypeGenerationRequest request, 
+    public void selectArchetype( ArchetypeGenerationRequest request,
             Boolean interactiveMode, String catalogs )
         throws
         ArchetypeNotDefined,
@@ -62,7 +62,7 @@
         UnknownGroup,
         IOException,
         PrompterException,
-        ArchetypeSelectionFailure                    
+        ArchetypeSelectionFailure
     {
         //This should be an internal class
         ArchetypeDefinition definition = new ArchetypeDefinition();
@@ -70,7 +70,7 @@
         definition.setGroupId( request.getArchetypeGroupId() );
         definition.setArtifactId( request.getArchetypeArtifactId() );
         definition.setVersion( request.getArchetypeVersion() );
-        
+
         Map archetypes = getArchetypesByCatalog ( catalogs );
 
         if ( definition.isDefined ()
@@ -109,7 +109,7 @@
                         else if ( keySplitted.length > 1 )
                         {
                             int lastIndex = catalogKey.lastIndexOf("/");
-                            String catalogBase = catalogKey.substring(0, 
+                            String catalogBase = catalogKey.substring(0,
                                     (lastIndex > 7 ? lastIndex : 
catalogKey.length()));
                             definition.setRepository ( catalogBase );
                         }
@@ -124,7 +124,7 @@
                 {
                     getLogger ().warn ( "No archetype repository found. 
Falling back to central repository (http://repo1.maven.org/maven2). " );
                     getLogger ().warn ( "Use -DarchetypeRepository=<your 
repository> if archetype's repository is elsewhere." );
-                    
+
                     definition.setRepository("http://repo1.maven.org/maven2";);
                 }
             }
@@ -157,7 +157,7 @@
                         else if ( keySplitted.length > 1 )
                         {
                             int lastIndex = catalogKey.lastIndexOf("/");
-                            String catalogBase = catalogKey.substring(0, 
+                            String catalogBase = catalogKey.substring(0,
                                     (lastIndex > 7 ? lastIndex : 
catalogKey.length()));
                             definition.setRepository ( catalogBase );
                         }
@@ -197,7 +197,7 @@
 
         if ( !definition.isDefined() && !definition.isPartiallyDefined() )
         {
-            // if artifact ID is set to it's default, we still prompt to 
confirm 
+            // if artifact ID is set to it's default, we still prompt to 
confirm
             if ( definition.getArtifactId() == null )
             {
                 getLogger().info( "No archetype defined. Using " + 
DEFAULT_ARCHETYPE_ARTIFACTID + " ("
@@ -225,7 +225,7 @@
                     else if ( keySplitted.length > 1 )
                     {
                         int lastIndex = catalogKey.lastIndexOf("/");
-                        String catalogBase = catalogKey.substring(0, 
+                        String catalogBase = catalogKey.substring(0,
                                 (lastIndex > 7 ? lastIndex : 
catalogKey.length()));
                         definition.setRepository ( catalogBase );
                     }
@@ -275,7 +275,13 @@
             } else if ("local".equalsIgnoreCase(catalog)) {
                 archetypes.put("local", 
archetype.getDefaultLocalCatalog().getArchetypes());
             } else if ("remote".equalsIgnoreCase(catalog)) {
-                archetypes.put("remote", 
archetype.getRemoteCatalog().getArchetypes());
+                List archetypesFromRemote = 
archetype.getRemoteCatalog().getArchetypes();
+                if(archetypesFromRemote.size() > 0) {
+                    archetypes.put("remote", archetypesFromRemote);
+                } else {
+                    getLogger().warn("No archetype found in Remote catalog. 
Defaulting to internal Catalog");
+                    archetypes.put("internal", 
archetype.getInternalCatalog().getArchetypes());
+                }
             } else if (catalog.startsWith("file://")) {
                 String path = catalog.substring(7);
                 archetypes.put(catalog, 
archetype.getLocalCatalog(path).getArchetypes());


Reply via email to