You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/02/18 03:02:29 UTC

svn commit: r628596 - /maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java

Author: brett
Date: Sun Feb 17 18:02:28 2008
New Revision: 628596

URL: http://svn.apache.org/viewvc?rev=628596&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)

Modified:
    maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java

Modified: maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java?rev=628596&r1=628595&r2=628596&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java Sun Feb 17 18:02:28 2008
@@ -90,15 +90,26 @@
 
                     if ( checkForUpdates )
                     {
-                        getLogger().info( metadata.getKey() + ": checking for updates from " + repository.getId() );
-
                         try
                         {
-                            resolveAlways( metadata, repository, file, policy.getChecksumPolicy(), true );
+                            if ( wagonManager.isOnline() )
+                            {
+                                getLogger().info(
+                                    metadata.getKey() + ": checking for updates from " + repository.getId() );
+                                resolveAlways( metadata, repository, file, policy.getChecksumPolicy() );
+                            }
+                            else
+                            {
+                                getLogger().debug( "System is offline. Cannot resolve metadata:\n" +
+                                    metadata.extendedToString() + "\n\n" );
+                            }
                             metadataIsEmpty = false;
                         }
                         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.
                             metadataIsEmpty = true;
@@ -315,7 +326,7 @@
 
         try
         {
-            resolveAlways( metadata, remoteRepository, file, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN, false );
+            resolveAlways( metadata, remoteRepository, file, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
         }
         catch ( TransferFailedException e )
         {
@@ -340,25 +351,9 @@
     }
 
     private void resolveAlways( ArtifactMetadata metadata, ArtifactRepository repository, File file,
-                                String checksumPolicy, boolean allowBlacklisting )
-        throws RepositoryMetadataResolutionException, TransferFailedException
+                                String checksumPolicy )
+        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 );
@@ -377,9 +372,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;
         }
@@ -406,14 +399,16 @@
         File file = new File( localRepository.getBasedir(),
                               localRepository.pathOfLocalRepositoryMetadata( metadata, deploymentRepository ) );
 
-        try
+        if ( !wagonManager.isOnline() )
         {
-            resolveAlways( metadata, deploymentRepository, file, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN, false );
+            // metadata is required for deployment, can't be offline
+            throw new RepositoryMetadataDeploymentException(
+                "System is offline. Unable to get previous metadata to update:\n" + metadata.extendedToString() );
         }
-        catch ( RepositoryMetadataResolutionException e )
+
+        try
         {
-            throw new RepositoryMetadataDeploymentException(
-                "Unable to get previous metadata to update: " + e.getMessage(), e );
+            resolveAlways( metadata, deploymentRepository, file, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
         }
         catch ( TransferFailedException e )
         {