Author: bentmann Date: Mon Jan 10 14:14:28 2011 New Revision: 1057209 URL: http://svn.apache.org/viewvc?rev=1057209&view=rev Log: o Fixed exception handling for repo metadata to properly report edge cases of inaccessible files
Modified: maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java Modified: maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java?rev=1057209&r1=1057208&r2=1057209&view=diff ============================================================================== --- maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java (original) +++ maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java Mon Jan 10 14:14:28 2011 @@ -20,7 +20,6 @@ package org.apache.maven.repository.inte */ import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -212,17 +211,13 @@ public class DefaultVersionRangeResolver FileInputStream fis = null; try { - if ( metadata != null && metadata.getFile() != null ) + if ( metadata != null && metadata.getFile() != null && metadata.getFile().exists() ) { fis = new FileInputStream( metadata.getFile() ); org.apache.maven.artifact.repository.metadata.Metadata m = new MetadataXpp3Reader().read( fis, false ); versioning = m.getVersioning(); } } - catch ( FileNotFoundException e ) - { - // tolerable - } catch ( Exception e ) { invalidMetadata( session, metadata, repository, e ); Modified: maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java?rev=1057209&r1=1057208&r2=1057209&view=diff ============================================================================== --- maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java (original) +++ maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java Mon Jan 10 14:14:28 2011 @@ -21,7 +21,6 @@ package org.apache.maven.repository.inte import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -281,7 +280,7 @@ public class DefaultVersionResolver FileInputStream fis = null; try { - if ( metadata != null && metadata.getFile() != null ) + if ( metadata != null && metadata.getFile() != null && metadata.getFile().exists() ) { fis = new FileInputStream( metadata.getFile() ); org.apache.maven.artifact.repository.metadata.Metadata m = new MetadataXpp3Reader().read( fis, false ); @@ -309,10 +308,6 @@ public class DefaultVersionResolver } } } - catch ( FileNotFoundException e ) - { - // tolerable - } catch ( Exception e ) { invalidMetadata( session, metadata, repository, e ); Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java?rev=1057209&r1=1057208&r2=1057209&view=diff ============================================================================== --- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java (original) +++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java Mon Jan 10 14:14:28 2011 @@ -19,6 +19,8 @@ package org.apache.maven; * under the License. */ +import java.io.FileNotFoundException; + import org.codehaus.plexus.logging.Logger; import org.sonatype.aether.AbstractRepositoryListener; import org.sonatype.aether.RepositoryEvent; @@ -74,6 +76,8 @@ class LoggingRepositoryListener @Override public void metadataInvalid( RepositoryEvent event ) { + Exception exception = event.getException(); + StringBuilder buffer = new StringBuilder( 256 ); buffer.append( "The metadata " ); if ( event.getMetadata().getFile() != null ) @@ -84,16 +88,25 @@ class LoggingRepositoryListener { buffer.append( event.getMetadata() ); } - buffer.append( " is invalid" ); - if ( event.getException() != null ) + + if ( exception instanceof FileNotFoundException ) + { + buffer.append( " is inaccessible" ); + } + else + { + buffer.append( " is invalid" ); + } + + if ( exception != null ) { buffer.append( ": " ); - buffer.append( event.getException().getMessage() ); + buffer.append( exception.getMessage() ); } if ( logger.isDebugEnabled() ) { - logger.warn( buffer.toString(), event.getException() ); + logger.warn( buffer.toString(), exception ); } else {