From: Brett Porter Date: Sat, 9 Sep 2006 11:27:23 +0000 (+0000) Subject: [MRM-77] avoid problems with metadata reporting X-Git-Tag: archiva-0.9-alpha-1~569 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b37020b275bee01ffee4f79ed349eecb6824fb1a;p=archiva.git [MRM-77] avoid problems with metadata reporting git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@441780 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/BadMetadataReportProcessor.java b/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/BadMetadataReportProcessor.java index e1e7b8d91..a307e16f2 100644 --- a/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/BadMetadataReportProcessor.java +++ b/archiva-reports-standard/src/main/java/org/apache/maven/archiva/reporting/BadMetadataReportProcessor.java @@ -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 ); + } } /**