You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ra...@apache.org on 2008/06/11 21:50:00 UTC
svn commit: r666805 - in /maven/archetype/trunk:
archetype-common/src/main/java/org/apache/maven/archetype/exception/
archetype-common/src/main/java/org/apache/maven/archetype/generator/
archetype-common/src/test/java/org/apache/maven/archetype/generat...
Author: rafale
Date: Wed Jun 11 12:50:00 2008
New Revision: 666805
URL: http://svn.apache.org/viewvc?rev=666805&view=rev
Log:
Fix for archetype-174
The Exception thrown when the archetype is not configured now contains the list of the missing properties
Modified:
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeNotConfigured.java
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java
Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeNotConfigured.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeNotConfigured.java?rev=666805&r1=666804&r2=666805&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeNotConfigured.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeNotConfigured.java Wed Jun 11 12:50:00 2008
@@ -19,26 +19,38 @@
package org.apache.maven.archetype.exception;
+import java.util.List;
+
public class ArchetypeNotConfigured
extends Exception
{
- public ArchetypeNotConfigured()
+ private List missingProperties;
+
+ public List getMissingProperties() {
+ return missingProperties;
+ }
+
+ public ArchetypeNotConfigured( List missingProperties )
{
+ this.missingProperties = missingProperties;
}
- public ArchetypeNotConfigured( String msg )
+ public ArchetypeNotConfigured( String msg, List missingProperties )
{
super( msg );
+ this.missingProperties = missingProperties;
}
- public ArchetypeNotConfigured( Throwable cause )
+ public ArchetypeNotConfigured( Throwable cause, List missingProperties )
{
super( cause );
+ this.missingProperties = missingProperties;
}
public ArchetypeNotConfigured( String msg,
- Throwable cause )
+ Throwable cause, List missingProperties )
{
super( msg, cause );
+ this.missingProperties = missingProperties;
}
}
Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java?rev=666805&r1=666804&r2=666805&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java Wed Jun 11 12:50:00 2008
@@ -51,6 +51,7 @@
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.zip.ZipEntry;
@@ -97,11 +98,36 @@
{
if ( request.isInteractiveMode () )
{
- throw new ArchetypeNotConfigured ( "No archetype was chosen" );
+ throw new ArchetypeNotConfigured ( "No archetype was chosen", null );
}
else
{
- throw new ArchetypeNotConfigured ( "The archetype is not configured" );
+ StringBuffer exceptionMessage = new StringBuffer();
+ exceptionMessage.append("Archetype " );
+ exceptionMessage.append( request.getArchetypeGroupId() );
+ exceptionMessage.append( ":" );
+ exceptionMessage.append( request.getArchetypeArtifactId() );
+ exceptionMessage.append( ":" );
+ exceptionMessage.append( request.getArchetypeVersion() );
+ exceptionMessage.append( " is not configured" );
+
+ List missingProperties = new ArrayList( 0 );
+ java.util.Iterator requiredProperties =
+ archetypeDescriptor.getRequiredProperties().iterator();
+ while( requiredProperties.hasNext() )
+ {
+ RequiredProperty requiredProperty = (RequiredProperty) requiredProperties.next ();
+ if (org.codehaus.plexus.util.StringUtils.isEmpty(
+ request.getProperties().getProperty ( requiredProperty.getKey() ) ) )
+ {
+ exceptionMessage.append( "\n\tProperty " );
+ exceptionMessage.append( requiredProperty.getKey() );
+ missingProperties.add( requiredProperty.getKey() );
+ exceptionMessage.append( " is missing." );
+ }
+ }
+
+ throw new ArchetypeNotConfigured( exceptionMessage.toString(), missingProperties );
}
}
@@ -217,7 +243,7 @@
context
);
}
- } // end if
+ }
}
catch ( FileNotFoundException ex )
{
@@ -821,7 +847,7 @@
);
getLogger().debug( "Copied " + fileSetResources.size() + " files" );
}
- } // end while
+ }
}
private void restoreParentArtifactId( Context context,
Modified: maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java?rev=666805&r1=666804&r2=666805&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java (original)
+++ maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java Wed Jun 11 12:50:00 2008
@@ -823,10 +823,12 @@
}
else
{
- assertEquals(
+ assertTrue(
"Exception not correct",
- "The archetype is not configured",
- result.getCause().getMessage()
+ result.getCause().getMessage().startsWith(
+ "Archetype archetypes:basic:1.0 is not configured" ) &&
+ result.getCause().getMessage().endsWith(
+ "Property property-without-default-4 is missing." )
);
}
}
Modified: maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java?rev=666805&r1=666804&r2=666805&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java (original)
+++ maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java Wed Jun 11 12:50:00 2008
@@ -236,7 +236,7 @@
}
else if ( !archetypeConfiguration.isConfigured() )
{
- throw new ArchetypeNotConfigured( "The archetype is not configured" );
+ throw new ArchetypeNotConfigured( "The archetype is not configured", null );
}
} // end if
Modified: maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java?rev=666805&r1=666804&r2=666805&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java (original)
+++ maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java Wed Jun 11 12:50:00 2008
@@ -237,40 +237,35 @@
// in batch mode, we assume the defaults, and if still not configured fail
if( !archetypeConfiguration.isConfigured() )
{
-// StringBuffer missingProperties = new StringBuffer();
-// requiredProperties = archetypeConfiguration.getRequiredProperties().iterator();
-// while( requiredProperties.hasNext() )
-// {
-// String requiredProperty = (String)requiredProperties.next();
-// if (!archetypeConfiguration.isConfigured( requiredProperty ))
-// {
-// missingProperties.append("\nProperty ");
-// missingProperties.append(requiredProperty);
-// missingProperties.append(" is missing. Add -D");
-// missingProperties.append(requiredProperty);
-// missingProperties.append("=someValue");
-// }
-// }
-//
-// throw new ArchetypeNotConfigured( "Archetype " + request.getArchetypeGroupId() + ":"
-// + request.getArchetypeArtifactId() + ":" + request.getArchetypeVersion()
-// + " is not configured"+missingProperties.toString() );
+ StringBuffer exceptionMessage = new StringBuffer();
+ exceptionMessage.append("Archetype " );
+ exceptionMessage.append( request.getArchetypeGroupId() );
+ exceptionMessage.append( ":" );
+ exceptionMessage.append( request.getArchetypeArtifactId() );
+ exceptionMessage.append( ":" );
+ exceptionMessage.append( request.getArchetypeVersion() );
+ exceptionMessage.append( " is not configured" );
+
+ List missingProperties = new ArrayList( 0 );
requiredProperties = archetypeConfiguration.getRequiredProperties().iterator();
while( requiredProperties.hasNext() )
{
String requiredProperty = (String)requiredProperties.next();
if (!archetypeConfiguration.isConfigured( requiredProperty ))
{
- getLogger().warn("Property "+requiredProperty+" is missing. Add -D"+requiredProperty+"=someValue");
+ exceptionMessage.append( "\n\tProperty " );
+ exceptionMessage.append( requiredProperty );
+ missingProperties.add( requiredProperty );
+ exceptionMessage.append( " is missing." );
+ getLogger().warn( "Property " + requiredProperty +
+ " is missing. Add -D" + requiredProperty + "=someValue" );
}
}
- throw new ArchetypeNotConfigured( "Archetype " + request.getArchetypeGroupId() + ":"
- + request.getArchetypeArtifactId() + ":" + request.getArchetypeVersion()
- + " is not configured" );
+ throw new ArchetypeNotConfigured( exceptionMessage.toString(), missingProperties );
}
}
- } // end if-else
+ }
request.setGroupId( archetypeConfiguration.getProperty( Constants.GROUP_ID ) );