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]