You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/02/13 10:48:58 UTC

svn commit: r627329 - in /maven/archetype/trunk: archetype-common/src/main/java/org/apache/maven/archetype/ archetype-plugin/ archetype-plugin/src/main/java/org/apache/maven/archetype/ui/ archetype-plugin/src/test/java/ archetype-plugin/src/test/java/o...

Author: brett
Date: Wed Feb 13 01:48:55 2008
New Revision: 627329

URL: http://svn.apache.org/viewvc?rev=627329&view=rev
Log:
[ARCHETYPE-116] Restore the previous defaults for archetype group ID and version

Added:
    maven/archetype/trunk/archetype-plugin/src/test/java/
    maven/archetype/trunk/archetype-plugin/src/test/java/org/
    maven/archetype/trunk/archetype-plugin/src/test/java/org/apache/
    maven/archetype/trunk/archetype-plugin/src/test/java/org/apache/maven/
    maven/archetype/trunk/archetype-plugin/src/test/java/org/apache/maven/archetype/
    maven/archetype/trunk/archetype-plugin/src/test/java/org/apache/maven/archetype/ui/
    maven/archetype/trunk/archetype-plugin/src/test/java/org/apache/maven/archetype/ui/DefaultArchetypeSelectorTest.java   (with props)
Modified:
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java
    maven/archetype/trunk/archetype-plugin/pom.xml
    maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java?rev=627329&r1=627328&r2=627329&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java Wed Feb 13 01:48:55 2008
@@ -19,16 +19,17 @@
 
 package org.apache.maven.archetype;
 
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import java.util.Properties;
 import org.apache.maven.archetype.catalog.Archetype;
+import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.settings.Mirror;
 import org.apache.maven.settings.Proxy;
 import org.apache.maven.settings.Server;
 import org.apache.maven.wagon.events.TransferListener;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
 /** @author Jason van Zyl */
 public class ArchetypeGenerationRequest
 {
@@ -72,6 +73,10 @@
 
     private Properties properties = new Properties(  );
 
+    private static final String DEFAULT_ARCHETYPE_GROUP = "org.apache.maven.archetypes";
+
+    private static final String DEFAULT_ARCHETYPE_VERSION = "RELEASE";
+
     public ArchetypeGenerationRequest( )
     {
     }
@@ -89,6 +94,10 @@
 
     public String getArchetypeGroupId( )
     {
+        if ( archetypeGroupId == null )
+        {
+            return DEFAULT_ARCHETYPE_GROUP;
+        }
         return archetypeGroupId;
     }
 
@@ -113,6 +122,10 @@
 
     public String getArchetypeVersion( )
     {
+        if ( archetypeVersion == null )
+        {
+            return DEFAULT_ARCHETYPE_VERSION;
+        }
         return archetypeVersion;
     }
 

Modified: maven/archetype/trunk/archetype-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/pom.xml?rev=627329&r1=627328&r2=627329&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-plugin/pom.xml (original)
+++ maven/archetype/trunk/archetype-plugin/pom.xml Wed Feb 13 01:48:55 2008
@@ -50,6 +50,12 @@
       <artifactId>maven-invoker</artifactId>
       <version>2.0.6</version>
     </dependency>
+    <dependency>
+      <groupId>easymock</groupId>
+      <artifactId>easymock</artifactId>
+      <version>1.2_Java1.3</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>

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=627329&r1=627328&r2=627329&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 Wed Feb 13 01:48:55 2008
@@ -19,6 +19,7 @@
 
 package org.apache.maven.archetype.ui;
 
+import org.apache.commons.collections.iterators.ArrayIterator;
 import org.apache.maven.archetype.ArchetypeGenerationRequest;
 import org.apache.maven.archetype.catalog.Archetype;
 import org.apache.maven.archetype.common.ArchetypeDefinition;
@@ -26,8 +27,6 @@
 import org.apache.maven.archetype.exception.ArchetypeSelectionFailure;
 import org.apache.maven.archetype.exception.UnknownArchetype;
 import org.apache.maven.archetype.exception.UnknownGroup;
-import org.apache.maven.archetype.source.ArchetypeDataSource;
-import org.apache.maven.archetype.source.ArchetypeDataSourceException;
 import org.codehaus.plexus.components.interactivity.PrompterException;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.util.StringUtils;
@@ -38,7 +37,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-import org.apache.commons.collections.iterators.ArrayIterator;
 
 /** @plexus.component */
 public class DefaultArchetypeSelector
@@ -67,7 +65,7 @@
         UnknownGroup,
         IOException,
         PrompterException,
-        ArchetypeSelectionFailure
+        ArchetypeSelectionFailure                    
     {
         //This should be an internal class
         ArchetypeDefinition definition = new ArchetypeDefinition();
@@ -212,6 +210,10 @@
     }
 
     private Map getArchetypesByCatalog(String catalogs) {
+        if ( catalogs == null )
+        {
+            throw new NullPointerException( "catalogs can not be null" );
+        }
 
         Map archetypes = new HashMap();
 
@@ -259,5 +261,10 @@
         }
 
         return p;
+    }
+
+    public void setArchetypeSelectionQueryer( ArchetypeSelectionQueryer archetypeSelectionQueryer )
+    {
+        this.archetypeSelectionQueryer = archetypeSelectionQueryer;
     }
 }

Added: maven/archetype/trunk/archetype-plugin/src/test/java/org/apache/maven/archetype/ui/DefaultArchetypeSelectorTest.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/test/java/org/apache/maven/archetype/ui/DefaultArchetypeSelectorTest.java?rev=627329&view=auto
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/test/java/org/apache/maven/archetype/ui/DefaultArchetypeSelectorTest.java (added)
+++ maven/archetype/trunk/archetype-plugin/src/test/java/org/apache/maven/archetype/ui/DefaultArchetypeSelectorTest.java Wed Feb 13 01:48:55 2008
@@ -0,0 +1,129 @@
+package org.apache.maven.archetype.ui;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.archetype.ArchetypeGenerationRequest;
+import org.apache.maven.archetype.catalog.Archetype;
+import org.apache.maven.archetype.exception.ArchetypeNotDefined;
+import org.apache.maven.archetype.exception.ArchetypeSelectionFailure;
+import org.apache.maven.archetype.exception.UnknownArchetype;
+import org.apache.maven.archetype.exception.UnknownGroup;
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.components.interactivity.PrompterException;
+import org.easymock.MockControl;
+
+import java.io.IOException;
+import java.util.Collections;
+
+public class DefaultArchetypeSelectorTest
+    extends PlexusTestCase
+{
+    private DefaultArchetypeSelector selector;
+
+    public void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        selector = (DefaultArchetypeSelector) lookup( ArchetypeSelector.ROLE );
+    }
+
+    public void testArchetypeCoordinatesInRequest()
+        throws PrompterException, IOException, UnknownGroup, ArchetypeSelectionFailure, UnknownArchetype,
+        ArchetypeNotDefined
+    {
+        ArchetypeGenerationRequest request = new ArchetypeGenerationRequest();
+        request.setArchetypeArtifactId( "preset-artifactId" );
+        request.setArchetypeGroupId( "preset-groupId" );
+        request.setArchetypeVersion( "preset-version" );
+
+        MockControl control = MockControl.createControl( ArchetypeSelectionQueryer.class );
+
+        ArchetypeSelectionQueryer queryer = (ArchetypeSelectionQueryer) control.getMock();
+        // expect it to not be called
+
+        control.replay();
+
+        selector.setArchetypeSelectionQueryer( queryer );
+
+        selector.selectArchetype( request, Boolean.TRUE, "" );
+
+        control.verify();
+
+        assertEquals( "preset-groupId", request.getArchetypeGroupId() );
+        assertEquals( "preset-artifactId", request.getArchetypeArtifactId() );
+        assertEquals( "preset-version", request.getArchetypeVersion() );
+    }
+
+    public void testArchetypeArtifactIdInRequest()
+        throws PrompterException, IOException, UnknownGroup, ArchetypeSelectionFailure, UnknownArchetype,
+        ArchetypeNotDefined
+    {
+        ArchetypeGenerationRequest request = new ArchetypeGenerationRequest();
+        request.setArchetypeArtifactId( "preset-artifactId" );
+
+        MockControl control = MockControl.createControl( ArchetypeSelectionQueryer.class );
+
+        ArchetypeSelectionQueryer queryer = (ArchetypeSelectionQueryer) control.getMock();
+        // expect it to not be called
+
+        control.replay();
+
+        selector.setArchetypeSelectionQueryer( queryer );
+
+        selector.selectArchetype( request, Boolean.TRUE, "" );
+
+        control.verify();
+
+        assertEquals( "org.apache.maven.archetypes", request.getArchetypeGroupId() );
+        assertEquals( "preset-artifactId", request.getArchetypeArtifactId() );
+        assertEquals( "RELEASE", request.getArchetypeVersion() );
+    }
+
+    public void testArchetypeArtifactIdNotInRequest()
+        throws PrompterException, IOException, UnknownGroup, ArchetypeSelectionFailure, UnknownArchetype,
+        ArchetypeNotDefined
+    {
+        ArchetypeGenerationRequest request = new ArchetypeGenerationRequest();
+
+        MockControl control = MockControl.createControl( ArchetypeSelectionQueryer.class );
+
+        ArchetypeSelectionQueryer queryer = (ArchetypeSelectionQueryer) control.getMock();
+        queryer.selectArchetype( Collections.EMPTY_MAP );
+        control.setMatcher( MockControl.ALWAYS_MATCHER );
+        Archetype archetype = new Archetype();
+        archetype.setArtifactId( "set-artifactId" );
+        archetype.setGroupId( "set-groupId" );
+        archetype.setVersion( "set-version" );
+        control.setReturnValue( archetype );
+
+        control.replay();
+
+        selector.setArchetypeSelectionQueryer( queryer );
+
+        selector.selectArchetype( request, Boolean.TRUE, "" );
+
+        control.verify();
+
+        assertEquals( "set-groupId", request.getArchetypeGroupId() );
+        assertEquals( "set-artifactId", request.getArchetypeArtifactId() );
+        assertEquals( "set-version", request.getArchetypeVersion() );
+    }
+}

Propchange: maven/archetype/trunk/archetype-plugin/src/test/java/org/apache/maven/archetype/ui/DefaultArchetypeSelectorTest.java
------------------------------------------------------------------------------
    svn:eol-style = native