Author: brett
Date: Sat Jun  4 22:54:48 2005
New Revision: 180072

URL: http://svn.apache.org/viewcvs?rev=180072&view=rev
Log:
PR: MNG-447
ensure the checksums don't get overwritten by the extra put commands

Modified:
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=180072&r1=180071&r2=180072&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
 Sat Jun  4 22:54:48 2005
@@ -136,7 +136,8 @@
             wagon.addTransferListener( downloadMonitor );
         }
 
-        Map checksums = new HashMap();
+        Map checksums = new HashMap( 2 );
+        Map sums = new HashMap( 2 );
 
         // TODO: configure these on the repository
         try
@@ -161,16 +162,23 @@
 
             wagon.removeTransferListener( downloadMonitor );
 
-            // We do this in here so we can checksum the artifact metadata 
too, otherwise it could be metadata itself
+            // Pre-store the checksums as any future puts will overwrite them
             for ( Iterator i = checksums.keySet().iterator(); i.hasNext(); )
             {
                 String extension = (String) i.next();
                 ChecksumObserver observer = (ChecksumObserver) checksums.get( 
extension );
+                sums.put( extension, observer.getActualChecksum() );
+            }
+
+            // We do this in here so we can checksum the artifact metadata 
too, otherwise it could be metadata itself
+            for ( Iterator i = checksums.keySet().iterator(); i.hasNext(); )
+            {
+                String extension = (String) i.next();
 
                 // TODO: shouldn't need a file intermediatary - improve wagon 
to take a stream
                 File temp = File.createTempFile( "maven-artifact", null );
                 temp.deleteOnExit();
-                FileUtils.fileWrite( temp.getAbsolutePath(), 
observer.getActualChecksum() );
+                FileUtils.fileWrite( temp.getAbsolutePath(), (String) 
sums.get( extension ) );
 
                 wagon.put( temp, remotePath + "." + extension );
             }
@@ -499,4 +507,4 @@
 
         mirrors.put( mirrorOf, mirror );
     }
-}
\ No newline at end of file
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to