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