You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2010/04/05 17:34:39 UTC
svn commit: r930879 -
/maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/test/WikiArchetypeDataSource.java
Author: hboutemy
Date: Mon Apr 5 15:34:38 2010
New Revision: 930879
URL: http://svn.apache.org/viewvc?rev=930879&view=rev
Log:
improved documentation
Modified:
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/test/WikiArchetypeDataSource.java
Modified: maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/test/WikiArchetypeDataSource.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/test/WikiArchetypeDataSource.java?rev=930879&r1=930878&r2=930879&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/test/WikiArchetypeDataSource.java (original)
+++ maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/test/WikiArchetypeDataSource.java Mon Apr 5 15:34:38 2010
@@ -23,11 +23,10 @@ import org.apache.maven.archetype.catalo
import org.apache.maven.archetype.catalog.ArchetypeCatalog;
import org.apache.maven.archetype.source.ArchetypeDataSource;
import org.apache.maven.archetype.source.ArchetypeDataSourceException;
+import org.codehaus.plexus.util.IOUtil;
-import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
-import java.io.InputStreamReader;
import java.net.URL;
@@ -38,6 +37,10 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
+ * An archetype data source getting its content from a Confluence Wiki page.
+ * By default, <a href="http://docs.codehaus.org/display/MAVENUSER/Archetypes+List">MAVENUSER/Archetypes List</a>
+ * is used.
+ *
* @author Jason van Zyl
* @plexus.component role-hint="wiki"
*/
@@ -78,34 +81,30 @@ public class WikiArchetypeDataSource
List archetypes = new ArrayList();
- StringBuffer sb = new StringBuffer();
-
+ String pageSource = "";
+ InputStream in = null;
try
{
- InputStream in = new URL( cleanupUrl( url ) ).openStream();
-
- BufferedReader reader = new BufferedReader( new InputStreamReader( in ) );
-
- char[] buffer = new char[1024];
+ in = new URL( cleanupUrl( url ) ).openStream();
- int len = 0;
-
- while( ( len = reader.read( buffer ) ) > -1 )
- {
- sb.append( buffer, 0, len );
- }
+ pageSource = IOUtil.toString( in );
}
catch ( IOException e )
{
throw new ArchetypeDataSourceException( "Error retrieving list of archetypes from " + url );
}
+ finally
+ {
+ IOUtil.close( in );
+ }
+ // | ArtifactId | GroupId | Version | Repository | Description |
Pattern ptn =
Pattern.compile(
"<br>\\|([-a-zA-Z0-9_. ]+)\\|([-a-zA-Z0-9_. ]+)\\|([-a-zA-Z0-9_. ]+)\\|([-a-zA-Z0-9_.:/ \\[\\],]+)\\|([^|]+)\\|"
);
- Matcher m = ptn.matcher( sb.toString() );
+ Matcher m = ptn.matcher( pageSource );
while ( m.find() )
{
@@ -116,12 +115,10 @@ public class WikiArchetypeDataSource
archetype.setGroupId( m.group( 2 ).trim() );
String version = m.group( 3 ).trim();
-
if ( version.equals( "" ) )
{
version = "RELEASE";
}
-
archetype.setVersion( version );
archetype.setRepository( cleanupUrl( m.group( 4 ).trim() ) );