Author: brett Date: Sun Feb 17 18:25:51 2008 New Revision: 628598 URL: http://svn.apache.org/viewvc?rev=628598&view=rev Log: [MNG-3405] clean up the logging and simplify logic of reporting errors in offline mode Submitted by: James William Dumay (with adjustments) Merged from: r628596 on maven-2.0.x/maven-artifact-manager branch
Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java Modified: maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java URL: http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java?rev=628598&r1=628597&r2=628598&view=diff ============================================================================== --- maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java (original) +++ maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java Sun Feb 17 18:25:51 2008 @@ -98,14 +98,25 @@ if ( checkForUpdates ) { - getLogger().info( metadata.getKey() + ": checking for updates from " + repository.getId() ); - try { - resolveAlways( metadata, repository, file, policy.getChecksumPolicy(), touchfile, true ); + if ( wagonManager.isOnline() ) + { + getLogger().info( + metadata.getKey() + ": checking for updates from " + repository.getId() ); + resolveAlways( metadata, repository, file, policy.getChecksumPolicy(), touchfile ); + } + else + { + getLogger().debug( "System is offline. Cannot resolve metadata:\n" + + metadata.extendedToString() + "\n\n" ); + } } catch ( TransferFailedException e ) { + getLogger().info( "Repository '" + repository.getId() + "' will be blacklisted" ); + repository.setBlacklisted( true ); + // TODO: [jc; 08-Nov-2005] revisit this for 2.1 // suppressing logging to avoid logging this error twice. } @@ -302,7 +313,7 @@ { MetadataTouchfile touchfile = new MetadataTouchfile( metadata, localRepository ); - resolveAlways( metadata, remoteRepository, file, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN, touchfile, false ); + resolveAlways( metadata, remoteRepository, file, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN, touchfile ); } catch ( TransferFailedException e ) { @@ -330,26 +341,9 @@ ArtifactRepository repository, File file, String checksumPolicy, - MetadataTouchfile touchfile, - boolean allowBlacklisting ) - throws RepositoryMetadataResolutionException, TransferFailedException + MetadataTouchfile touchfile ) + throws TransferFailedException { - if ( !wagonManager.isOnline() ) - { - if ( allowBlacklisting ) - { - getLogger().debug( - "System is offline. Cannot resolve metadata:\n" + metadata.extendedToString() + "\n\n" ); - return; - } - else - { - // metadata is required for deployment, can't be offline - throw new RepositoryMetadataResolutionException( - "System is offline. Cannot resolve required metadata:\n" + metadata.extendedToString() ); - } - } - try { wagonManager.getArtifactMetadata( metadata, repository, file, checksumPolicy ); @@ -369,9 +363,7 @@ { getLogger().warn( metadata + " could not be retrieved from repository: " + repository.getId() + " due to an error: " + e.getMessage() ); - getLogger().info( "Repository '" + repository.getId() + "' will be blacklisted" ); getLogger().debug( "Exception", e ); - repository.setBlacklisted( allowBlacklisting ); throw e; } @@ -402,12 +394,7 @@ { MetadataTouchfile touchfile = new MetadataTouchfile( metadata, localRepository ); - resolveAlways( metadata, deploymentRepository, file, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN, touchfile, false ); - } - catch ( RepositoryMetadataResolutionException e ) - { - throw new RepositoryMetadataDeploymentException( - "Unable to get previous metadata to update: " + e.getMessage(), e ); + resolveAlways( metadata, deploymentRepository, file, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN, touchfile ); } catch ( TransferFailedException e ) {