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]