Author: brett
Date: Sat Sep  9 04:27:23 2006
New Revision: 441780

URL: http://svn.apache.org/viewvc?view=rev&rev=441780
Log:
[MRM-77] avoid problems with metadata reporting

Modified:
    
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/BadMetadataReportProcessor.java

Modified: 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/BadMetadataReportProcessor.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/BadMetadataReportProcessor.java?view=diff&rev=441780&r1=441779&r2=441780
==============================================================================
--- 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/BadMetadataReportProcessor.java
 (original)
+++ 
maven/archiva/trunk/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/BadMetadataReportProcessor.java
 Sat Sep  9 04:27:23 2006
@@ -263,16 +263,26 @@
         List metadataVersions = versioning != null ? versioning.getVersions() 
: Collections.EMPTY_LIST;
         File versionsDir =
             new File( repository.getBasedir(), 
repository.pathOfRemoteRepositoryMetadata( metadata ) ).getParentFile();
-        List versions = FileUtils.getFileNames( versionsDir, "*/*.pom", null, 
false );
-        for ( Iterator i = versions.iterator(); i.hasNext(); )
+
+        // TODO! I don't know how this condition can happen, but it was seen 
on the main repository.
+        // Avoid hard failure
+        if ( versionsDir.exists() )
         {
-            File path = new File( (String) i.next() );
-            String version = path.getParentFile().getName();
-            if ( !metadataVersions.contains( version ) )
+            List versions = FileUtils.getFileNames( versionsDir, "*/*.pom", 
null, false );
+            for ( Iterator i = versions.iterator(); i.hasNext(); )
             {
-                reporter.addFailure( metadata, "Artifact version " + version + 
" found in the repository but " +
-                    "missing in the metadata." );
+                File path = new File( (String) i.next() );
+                String version = path.getParentFile().getName();
+                if ( !metadataVersions.contains( version ) )
+                {
+                    reporter.addFailure( metadata, "Artifact version " + 
version + " found in the repository but " +
+                        "missing in the metadata." );
+                }
             }
+        }
+        else
+        {
+            reporter.addFailure( metadata, "Metadata's directory did not 
exist: " + versionsDir );
         }
     }
 


Reply via email to