Author: brett
Date: Mon Sep 19 22:43:03 2005
New Revision: 290364

URL: http://svn.apache.org/viewcvs?rev=290364&view=rev
Log:
avoid failure when there is a bad path in the repository

Modified:
    
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/ArtifactDiscoverer.java
    
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/DefaultArtifactDiscoverer.java
    
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/DiscoveryPhase.java

Modified: 
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/ArtifactDiscoverer.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/ArtifactDiscoverer.java?rev=290364&r1=290363&r2=290364&view=diff
==============================================================================
--- 
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/ArtifactDiscoverer.java
 (original)
+++ 
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/ArtifactDiscoverer.java
 Mon Sep 19 22:43:03 2005
@@ -17,6 +17,7 @@
  */
 
 import org.apache.maven.tools.repoclean.report.PathLister;
+import org.apache.maven.tools.repoclean.report.ReportWriteException;
 import org.apache.maven.tools.repoclean.report.Reporter;
 
 import java.io.File;
@@ -35,6 +36,6 @@
 
     List discoverArtifacts( File repositoryBase, Reporter reporter, String 
blacklistedPatterns,
                             PathLister excludeLister, PathLister 
kickoutLister, boolean includeSnapshots )
-        throws Exception;
+        throws ReportWriteException;
 
 }

Modified: 
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/DefaultArtifactDiscoverer.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/DefaultArtifactDiscoverer.java?rev=290364&r1=290363&r2=290364&view=diff
==============================================================================
--- 
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/DefaultArtifactDiscoverer.java
 (original)
+++ 
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/discover/DefaultArtifactDiscoverer.java
 Mon Sep 19 22:43:03 2005
@@ -19,6 +19,7 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.tools.repoclean.report.PathLister;
+import org.apache.maven.tools.repoclean.report.ReportWriteException;
 import org.apache.maven.tools.repoclean.report.Reporter;
 
 import java.io.File;
@@ -39,7 +40,7 @@
 
     public List discoverArtifacts( File repositoryBase, Reporter reporter, 
String blacklistedPatterns,
                                    PathLister excludeLister, PathLister 
kickoutLister, boolean convertSnapshots )
-        throws Exception
+        throws ReportWriteException
     {
         List artifacts = new ArrayList();
 
@@ -49,7 +50,7 @@
         {
             String path = artifactPaths[i];
 
-            Artifact artifact = buildArtifact( path );
+            Artifact artifact = buildArtifact( path, reporter );
 
             if ( artifact != null )
             {
@@ -63,8 +64,8 @@
         return artifacts;
     }
 
-    private Artifact buildArtifact( String path )
-        throws Exception
+    private Artifact buildArtifact( String path, Reporter reporter )
+        throws ReportWriteException
     {
         Artifact result;
 
@@ -77,7 +78,11 @@
 
         Collections.reverse( pathParts );
 
-        int currentPart = 0;
+        if ( pathParts.size() < 4 )
+        {
+            reporter.error( "Not enough parts (4) in path " + path );
+            return null;
+        }
 
         //discard the actual artifact filename.
         pathParts.remove( 0 );

Modified: 
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/DiscoveryPhase.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/DiscoveryPhase.java?rev=290364&r1=290363&r2=290364&view=diff
==============================================================================
--- 
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/DiscoveryPhase.java
 (original)
+++ 
maven/components/trunk/sandbox/repoclean/src/main/java/org/apache/maven/tools/repoclean/phase/DiscoveryPhase.java
 Mon Sep 19 22:43:03 2005
@@ -19,6 +19,7 @@
 import org.apache.maven.tools.repoclean.RepositoryCleanerConfiguration;
 import org.apache.maven.tools.repoclean.discover.ArtifactDiscoverer;
 import org.apache.maven.tools.repoclean.report.PathLister;
+import org.apache.maven.tools.repoclean.report.ReportWriteException;
 import org.apache.maven.tools.repoclean.report.Reporter;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusContainer;
@@ -54,8 +55,8 @@
 
         try
         {
-            artifactDiscoverer = (ArtifactDiscoverer) container.lookup( 
ArtifactDiscoverer.ROLE, configuration
-                .getSourceRepositoryLayout() );
+            artifactDiscoverer = (ArtifactDiscoverer) container.lookup( 
ArtifactDiscoverer.ROLE,
+                                                                        
configuration.getSourceRepositoryLayout() );
 
             if ( logger.isDebugEnabled() )
             {
@@ -74,7 +75,7 @@
                                                                   
configuration.getBlacklistedPatterns(), excludeLister,
                                                                   
kickoutLister, configuration.isConvertSnapshots() );
             }
-            catch ( Exception e )
+            catch ( ReportWriteException e )
             {
                 repoReporter.error( "Error discovering artifacts in source 
repository.", e );
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to