]> source.dussan.org Git - archiva.git/commitdiff
[MRM-77] avoid problems with metadata reporting
authorBrett Porter <brett@apache.org>
Sat, 9 Sep 2006 11:27:23 +0000 (11:27 +0000)
committerBrett Porter <brett@apache.org>
Sat, 9 Sep 2006 11:27:23 +0000 (11:27 +0000)
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@441780 13f79535-47bb-0310-9956-ffa450edef68

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

index e1e7b8d91a5097bb03a0f37a19fcf17ac1f823c2..a307e16f22fe6e38107c638426a5113b4d9b2a58 100644 (file)
@@ -263,17 +263,27 @@ public class BadMetadataReportProcessor
         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 );
+        }
     }
 
     /**