Author: brett
Date: Thu Apr 21 03:40:58 2005
New Revision: 164029

URL: http://svn.apache.org/viewcvs?rev=164029&view=rev
Log:
upload checksums

Modified:
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.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=164029&r1=164028&r2=164029&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
 Thu Apr 21 03:40:58 2005
@@ -48,6 +48,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.ArrayList;
 
 public class DefaultWagonManager
     extends AbstractLogEnabled
@@ -125,11 +126,17 @@
             wagon.addTransferListener( downloadMonitor );
         }
 
-        // TODO: configure these
+        Map checksums = new HashMap();
+
+        // TODO: configure these on the repository
         try
         {
-            wagon.addTransferListener( new ChecksumObserver( "MD5" ) );
-            wagon.addTransferListener( new ChecksumObserver( "SHA-1" ) );
+            ChecksumObserver checksumObserver = new ChecksumObserver( "MD5" );
+            wagon.addTransferListener( checksumObserver );
+            checksums.put( "md5", checksumObserver );
+            checksumObserver = new ChecksumObserver( "SHA-1" );
+            wagon.addTransferListener( checksumObserver );
+            checksums.put( "sha1", checksumObserver );
         }
         catch ( NoSuchAlgorithmException e )
         {
@@ -141,6 +148,22 @@
             wagon.connect( repository, getProxy( repository.getProtocol() ) );
 
             wagon.put( source, remotePath );
+
+            wagon.removeTransferListener( downloadMonitor );
+
+            // 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();
+                ChecksumObserver observer = (ChecksumObserver) checksums.get( 
extension );
+
+                // 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() );
+
+                wagon.put( temp, remotePath + "." + extension );
+            }
         }
         catch ( ConnectionException e )
         {
@@ -157,6 +180,10 @@
         catch ( ResourceDoesNotExistException e )
         {
             throw new TransferFailedException( "Resource to deploy not found: 
", e );
+        }
+        catch ( IOException e )
+        {
+            throw new TransferFailedException( "Error creating temporary file 
for deployment: ", e );
         }
         finally
         {

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java?rev=164029&r1=164028&r2=164029&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/SnapshotArtifactMetadata.java
 Thu Apr 21 03:40:58 2005
@@ -144,6 +144,7 @@
 
         try
         {
+            // TODO: shouldn't need a file intermediatary - improve wagon to 
take a stream
             File destination = File.createTempFile( "maven-artifact", null );
             destination.deleteOnExit();
 



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

Reply via email to