Author: brett
Date: Thu Apr 21 01:46:04 2005
New Revision: 164013

URL: http://svn.apache.org/viewcvs?rev=164013&view=rev
Log:
unhook checksum deployment/retrieval - just calculate and deal with it 
externally as artifact metadata

Modified:
    
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
    
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/StreamWagon.java
    
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/observers/ChecksumObserver.java
    
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
    maven/wagon/trunk/wagon-providers/   (props changed)

Modified: 
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
URL: 
http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java?rev=164013&r1=164012&r2=164013&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
 (original)
+++ 
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
 Thu Apr 21 01:46:04 2005
@@ -280,6 +280,20 @@
         transferEventSupport.fireTransferInitiated( transferEvent );
     }
 
+    protected void firePutInitiated( Resource resource, File localFile )
+    {
+        long timestamp = System.currentTimeMillis();
+
+        TransferEvent transferEvent = new TransferEvent( this, resource, 
TransferEvent.TRANSFER_INITIATED,
+                                                         
TransferEvent.REQUEST_PUT );
+
+        transferEvent.setTimestamp( timestamp );
+
+        transferEvent.setLocalFile( localFile );
+
+        transferEventSupport.fireTransferInitiated( transferEvent );
+    }
+
     protected void firePutCompleted( Resource resource, File localFile )
     {
         long timestamp = System.currentTimeMillis();

Modified: 
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/StreamWagon.java
URL: 
http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/StreamWagon.java?rev=164013&r1=164012&r2=164013&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/StreamWagon.java
 (original)
+++ 
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/StreamWagon.java
 Thu Apr 21 01:46:04 2005
@@ -128,6 +128,8 @@
 
         Resource resource = new Resource( resourceName );
 
+        firePutInitiated( resource, source );
+
         outputData.setResource( resource );
 
         fillOutputData( outputData );

Modified: 
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/observers/ChecksumObserver.java
URL: 
http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/observers/ChecksumObserver.java?rev=164013&r1=164012&r2=164013&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/observers/ChecksumObserver.java
 (original)
+++ 
maven/wagon/trunk/wagon-provider-api/src/main/java/org/apache/maven/wagon/observers/ChecksumObserver.java
 Thu Apr 21 01:46:04 2005
@@ -16,22 +16,11 @@
  * limitations under the License.
  */
 
-import org.apache.maven.wagon.ResourceDoesNotExistException;
-import org.apache.maven.wagon.Wagon;
-import org.apache.maven.wagon.WagonException;
 import org.apache.maven.wagon.events.TransferEvent;
 import org.apache.maven.wagon.events.TransferListener;
-import org.apache.maven.wagon.resource.Resource;
-import org.apache.maven.wagon.util.FileUtils;
-import org.apache.maven.wagon.util.IoUtils;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
+
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
-import java.util.HashMap;
-import java.util.Map;
 
 /**
  * TransferListeners which computes MD5 checksum on the fly when files are 
transfered.
@@ -44,25 +33,8 @@
 {
     private MessageDigest digester = null;
 
-    private String expectedChecksum;
-
     private String actualChecksum;
 
-    private static Map algorithmExtensionMap = new HashMap();
-
-    private final String extension;
-
-    private boolean transferringChecksum = false;
-
-    static
-    {
-        algorithmExtensionMap.put( "MD5", ".md5" );
-
-        algorithmExtensionMap.put( "MD2", ".md2" );
-
-        algorithmExtensionMap.put( "SHA-1", ".sha1" );
-    }
-
     public ChecksumObserver()
         throws NoSuchAlgorithmException
     {
@@ -75,13 +47,7 @@
     public ChecksumObserver( String algorithm )
         throws NoSuchAlgorithmException
     {
-        if ( !algorithmExtensionMap.containsKey( algorithm ) )
-        {
-            throw new NoSuchAlgorithmException( "Checksum algorithm not 
recognised by this class: " + algorithm );
-        }
-
         digester = MessageDigest.getInstance( algorithm );
-        extension = (String) algorithmExtensionMap.get( algorithm );
     }
 
     public void transferInitiated( TransferEvent transferEvent )
@@ -94,14 +60,10 @@
      */
     public void transferStarted( TransferEvent transferEvent )
     {
-        if ( !transferringChecksum )
-        {
-            expectedChecksum = null;
 
-            actualChecksum = null;
+        actualChecksum = null;
 
-            digester.reset();
-        }
+        digester.reset();
     }
 
     /**
@@ -109,91 +71,18 @@
      */
     public void transferProgress( TransferEvent transferEvent, byte[] buffer, 
int length )
     {
-        if ( !transferringChecksum )
-        {
-            digester.update( buffer, 0, length );
-        }
+        digester.update( buffer, 0, length );
     }
 
     public void transferCompleted( TransferEvent transferEvent )
     {
-        if ( transferringChecksum )
-        {
-            return;
-        }
-
-        Wagon wagon = transferEvent.getWagon();
-
         actualChecksum = encode( digester.digest() );
-
-        InputStream inputStream = null;
-
-        String checksumResource = transferEvent.getResource().getName() + 
extension;
-
-        int type = transferEvent.getRequestType();
-
-        transferringChecksum = true;
-
-        try
-        {
-            if ( type == TransferEvent.REQUEST_GET )
-            {
-
-                //we will fetch md5 cheksum from server and
-                // read its content into memory
-                File artifactFile = transferEvent.getLocalFile();
-
-                File checksumFile = new File( artifactFile.getPath() + 
extension );
-
-                wagon.get( checksumResource, checksumFile );
-
-                expectedChecksum = FileUtils.fileRead( checksumFile ).trim();
-            }
-            else
-            {
-                //It's PUT put request we will also put md5 checksum
-                // which was computed on the fly
-
-                File file = File.createTempFile( "wagon", "tmp" );
-                file.deleteOnExit();
-
-                try
-                {
-                    FileUtils.fileWrite( file.getPath(), actualChecksum );
-
-                    wagon.put( file, checksumResource );
-                }
-                finally
-                {
-                    file.delete();
-                }
-            }
-
-        }
-        catch ( ResourceDoesNotExistException e )
-        {
-            transferError( new TransferEvent( wagon, new Resource( 
checksumResource ), e, type ) );
-        }
-        catch ( WagonException e )
-        {
-            transferError( new TransferEvent( wagon, new Resource( 
checksumResource ), e, type ) );
-        }
-        catch ( IOException e )
-        {
-            transferError( new TransferEvent( wagon, new Resource( 
checksumResource ), e, type ) );
-        }
-        finally
-        {
-            IoUtils.close( inputStream );
-
-            transferringChecksum = false;
-        }
-
     }
 
     public void transferError( TransferEvent transferEvent )
     {
         digester = null;
+        actualChecksum = null;
     }
 
     public void debug( String message )
@@ -202,17 +91,6 @@
     }
 
     /**
-     * Returns the md5 checksum downloaded from the server
-     *
-     * @return
-     */
-    public String getExpectedChecksum()
-    {
-        return expectedChecksum;
-    }
-
-
-    /**
      * Returns md5 checksum which was computed during transfer
      *
      * @return
@@ -221,7 +99,6 @@
     {
         return actualChecksum;
     }
-
 
     /**
      * Encodes a 128 bit or 160-bit byte array into a String.

Modified: 
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
URL: 
http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java?rev=164013&r1=164012&r2=164013&view=diff
==============================================================================
--- 
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
 (original)
+++ 
maven/wagon/trunk/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
 Thu Apr 21 01:46:04 2005
@@ -21,8 +21,8 @@
 import org.apache.maven.wagon.observers.Debug;
 import org.apache.maven.wagon.repository.Repository;
 import org.apache.maven.wagon.repository.RepositoryPermissions;
+import org.apache.maven.wagon.util.FileUtils;
 import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.util.FileUtils;
 
 import java.io.File;
 import java.io.IOException;
@@ -207,7 +207,8 @@
 
         wagon.connect( testRepository );
 
-        sourceFile = new File( getBasedir(), POM );
+        sourceFile = new File( FileTestUtils.getTestOutputDir(), 
"test-resource.txt" );
+        FileUtils.fileWrite( sourceFile.getAbsolutePath(), 
"test-resource.txt\n" );
 
         wagon.put( sourceFile, resource );
 
@@ -245,12 +246,17 @@
 
         putFile();
 
+        assertNotNull( "check checksum is not null", 
checksumObserver.getActualChecksum() );
+
+        assertEquals( "compare checksums", "6b144b7285ffd6b0bc8300da162120b9", 
checksumObserver.getActualChecksum() );
+
+        checksumObserver = new ChecksumObserver();
+        
         getFile();
 
         assertNotNull( "check checksum is not null", 
checksumObserver.getActualChecksum() );
 
-        assertEquals( "compare checksums", 
checksumObserver.getExpectedChecksum(),
-                      checksumObserver.getActualChecksum() );
+        assertEquals( "compare checksums", "6b144b7285ffd6b0bc8300da162120b9", 
checksumObserver.getActualChecksum() );
 
         // Now compare the conents of the artifact that was placed in
         // the repository with the contents of the artifact that was

Propchange: maven/wagon/trunk/wagon-providers/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Apr 21 01:46:04 2005
@@ -0,0 +1,4 @@
+target
+*.iml
+*.ipr
+*.iws



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

Reply via email to