You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wagon-commits@maven.apache.org by br...@apache.org on 2008/05/20 06:03:43 UTC
svn commit: r658096 - in /maven/wagon/branches/WAGON-109:
wagon-provider-api/src/main/java/org/apache/maven/wagon/
wagon-provider-api/src/main/java/org/apache/maven/wagon/events/
wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/ wagon-p...
Author: brett
Date: Mon May 19 21:03:43 2008
New Revision: 658096
URL: http://svn.apache.org/viewvc?rev=658096&view=rev
Log:
[WAGON-109] added tests for correct usage of listeners, and corrected problems in the http/webdav wagons
Modified:
maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/SessionEvent.java
maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java
maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/WagonEvent.java
maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/Resource.java
maven/wagon/branches/WAGON-109/wagon-provider-test/pom.xml
maven/wagon/branches/WAGON-109/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
maven/wagon/branches/WAGON-109/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java
maven/wagon/branches/WAGON-109/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
maven/wagon/branches/WAGON-109/wagon-providers/wagon-webdav/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java
Modified: maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java?rev=658096&r1=658095&r2=658096&view=diff
==============================================================================
--- maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java (original)
+++ maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java Mon May 19 21:03:43 2008
@@ -257,6 +257,10 @@
protected void putTransfer( Resource resource, File source, OutputStream output, boolean closeOutput )
throws TransferFailedException
{
+ resource.setContentLength( source.length() );
+
+ resource.setLastModified( source.lastModified() );
+
firePutStarted( resource, source );
transfer( resource, source, output, closeOutput );
@@ -278,10 +282,6 @@
protected void transfer( Resource resource, File source, OutputStream output, boolean closeOutput )
throws TransferFailedException
{
- resource.setContentLength( source.length() );
-
- resource.setLastModified( source.lastModified() );
-
InputStream input = null;
try
@@ -346,6 +346,7 @@
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
TransferEvent transferEvent = new TransferEvent( this, resource, TransferEvent.TRANSFER_PROGRESS, requestType );
+ transferEvent.setTimestamp( System.currentTimeMillis() );
int remaining = maxSize;
while ( remaining > 0 )
@@ -626,6 +627,8 @@
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
TransferEvent transferEvent = new TransferEvent( this, resource, TransferEvent.TRANSFER_PROGRESS, requestType );
+ transferEvent.setTimestamp( System.currentTimeMillis() );
+ transferEvent.setLocalFile( source );
try
{
Modified: maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/SessionEvent.java
URL: http://svn.apache.org/viewvc/maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/SessionEvent.java?rev=658096&r1=658095&r2=658096&view=diff
==============================================================================
--- maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/SessionEvent.java (original)
+++ maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/SessionEvent.java Mon May 19 21:03:43 2008
@@ -218,7 +218,7 @@
}
sb.append( "|" );
- sb.append( this.repository ).append( "|" );
+ sb.append( this.getWagon().getRepository() ).append( "|" );
sb.append( this.source );
if ( exception != null )
Modified: maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java
URL: http://svn.apache.org/viewvc/maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java?rev=658096&r1=658095&r2=658096&view=diff
==============================================================================
--- maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java (original)
+++ maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/TransferEvent.java Mon May 19 21:03:43 2008
@@ -252,11 +252,56 @@
sb.append( "|" );
- sb.append( this.repository ).append( "|" );
+ sb.append( this.getWagon().getRepository() ).append( "|" );
sb.append( this.getLocalFile() ).append( "|" );
sb.append( this.getResource() );
sb.append( "]" );
return sb.toString();
}
+
+ public int hashCode()
+ {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + eventType;
+ result = prime * result + ( ( exception == null ) ? 0 : exception.hashCode() );
+ result = prime * result + ( ( localFile == null ) ? 0 : localFile.hashCode() );
+ result = prime * result + requestType;
+ result = prime * result + ( ( resource == null ) ? 0 : resource.hashCode() );
+ return result;
+ }
+
+ public boolean equals( Object obj )
+ {
+ if ( this == obj )
+ return true;
+ if ( obj == null )
+ return false;
+ if ( getClass() != obj.getClass() )
+ return false;
+ final TransferEvent other = (TransferEvent) obj;
+ if ( eventType != other.eventType )
+ return false;
+ if ( exception == null )
+ {
+ if ( other.exception != null )
+ return false;
+ }
+ else if ( !exception.equals( other.exception ) )
+ return false;
+ if ( requestType != other.requestType )
+ return false;
+ if ( resource == null )
+ {
+ if ( other.resource != null )
+ return false;
+ }
+ else if ( !resource.equals( other.resource ) )
+ return false;
+ else if ( !source.equals( other.source ) )
+ return false;
+ return true;
+ }
+
}
Modified: maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/WagonEvent.java
URL: http://svn.apache.org/viewvc/maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/WagonEvent.java?rev=658096&r1=658095&r2=658096&view=diff
==============================================================================
--- maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/WagonEvent.java (original)
+++ maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/events/WagonEvent.java Mon May 19 21:03:43 2008
@@ -34,12 +34,6 @@
extends EventObject
{
/**
- * Repository to which the Wagon
- * object which emitted this event is connected
- */
- protected Repository repository;
-
- /**
* The time when event occured
*/
protected long timestamp;
Modified: maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/Resource.java
URL: http://svn.apache.org/viewvc/maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/Resource.java?rev=658096&r1=658095&r2=658096&view=diff
==============================================================================
--- maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/Resource.java (original)
+++ maven/wagon/branches/WAGON-109/wagon-provider-api/src/main/java/org/apache/maven/wagon/resource/Resource.java Mon May 19 21:03:43 2008
@@ -91,4 +91,37 @@
{
return name;
}
+
+ public int hashCode()
+ {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + (int) ( contentLength ^ ( contentLength >>> 32 ) );
+ result = prime * result + (int) ( lastModified ^ ( lastModified >>> 32 ) );
+ result = prime * result + ( ( name == null ) ? 0 : name.hashCode() );
+ return result;
+ }
+
+ public boolean equals( Object obj )
+ {
+ if ( this == obj )
+ return true;
+ if ( obj == null )
+ return false;
+ if ( getClass() != obj.getClass() )
+ return false;
+ final Resource other = (Resource) obj;
+ if ( contentLength != other.contentLength )
+ return false;
+ if ( lastModified != other.lastModified )
+ return false;
+ if ( name == null )
+ {
+ if ( other.name != null )
+ return false;
+ }
+ else if ( !name.equals( other.name ) )
+ return false;
+ return true;
+ }
}
Modified: maven/wagon/branches/WAGON-109/wagon-provider-test/pom.xml
URL: http://svn.apache.org/viewvc/maven/wagon/branches/WAGON-109/wagon-provider-test/pom.xml?rev=658096&r1=658095&r2=658096&view=diff
==============================================================================
--- maven/wagon/branches/WAGON-109/wagon-provider-test/pom.xml (original)
+++ maven/wagon/branches/WAGON-109/wagon-provider-test/pom.xml Mon May 19 21:03:43 2008
@@ -45,5 +45,10 @@
<artifactId>plexus-container-default</artifactId>
<scope>compile</scope>
</dependency>
+ <dependency>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>1.2_Java1.3</version>
+ </dependency>
</dependencies>
</project>
Modified: maven/wagon/branches/WAGON-109/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java
URL: http://svn.apache.org/viewvc/maven/wagon/branches/WAGON-109/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java?rev=658096&r1=658095&r2=658096&view=diff
==============================================================================
--- maven/wagon/branches/WAGON-109/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java (original)
+++ maven/wagon/branches/WAGON-109/wagon-provider-test/src/main/java/org/apache/maven/wagon/WagonTestCase.java Mon May 19 21:03:43 2008
@@ -21,12 +21,18 @@
import org.apache.maven.wagon.authentication.AuthenticationInfo;
import org.apache.maven.wagon.authorization.AuthorizationException;
+import org.apache.maven.wagon.events.TransferEvent;
+import org.apache.maven.wagon.events.TransferListener;
import org.apache.maven.wagon.observers.ChecksumObserver;
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.resource.Resource;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.util.FileUtils;
+import org.easymock.AbstractMatcher;
+import org.easymock.ArgumentsMatcher;
+import org.easymock.MockControl;
import java.io.File;
import java.io.IOException;
@@ -41,6 +47,31 @@
public abstract class WagonTestCase
extends PlexusTestCase
{
+ private static final class ProgressArgumentMatcher
+ extends AbstractMatcher
+ {
+ private int size;
+
+ protected boolean argumentMatches( Object expected, Object actual )
+ {
+ if ( actual instanceof byte[] )
+ {
+ return true;
+ }
+ if ( actual instanceof Integer )
+ {
+ size += ((Integer) actual).intValue();
+ return true;
+ }
+ return super.argumentMatches( expected, actual );
+ }
+
+ public int getSize()
+ {
+ return size;
+ }
+ }
+
protected static String POM = "pom.xml";
protected Repository localRepository;
@@ -60,6 +91,10 @@
protected File artifactDestFile;
protected ChecksumObserver checksumObserver;
+
+ protected TransferListener mockTransferListener;
+
+ protected MockControl mockTransferListenerControl;
// ----------------------------------------------------------------------
// Constructors
@@ -69,6 +104,9 @@
throws Exception
{
checksumObserver = new ChecksumObserver();
+
+ mockTransferListenerControl = MockControl.createControl( TransferListener.class );
+ mockTransferListener = (TransferListener) mockTransferListenerControl.getMock();
super.setUp();
}
@@ -593,51 +631,130 @@
protected void putFile( String resourceName, String testFileName, String content )
throws Exception
{
- message( "Putting test artifact: " + resourceName + " into test repository " + testRepository );
+ sourceFile = new File( FileTestUtils.getTestOutputDir(), testFileName );
+ sourceFile.getParentFile().mkdirs();
+ FileUtils.fileWrite( sourceFile.getAbsolutePath(), content );
Wagon wagon = getWagon();
+ Resource resource = new Resource( resourceName );
+ mockTransferListener.transferInitiated( createTransferEvent( wagon, resource, TransferEvent.TRANSFER_INITIATED,
+ TransferEvent.REQUEST_PUT, sourceFile ) );
+ resource = new Resource( resourceName );
+ resource.setContentLength( content.length() );
+ resource.setLastModified( sourceFile.lastModified() );
+ mockTransferListener.transferStarted( createTransferEvent( wagon, resource, TransferEvent.TRANSFER_STARTED,
+ TransferEvent.REQUEST_PUT, sourceFile ) );
+ mockTransferListener.transferProgress( createTransferEvent( wagon, resource, TransferEvent.TRANSFER_PROGRESS,
+ TransferEvent.REQUEST_PUT, sourceFile ),
+ new byte[] {}, 0 );
+ ProgressArgumentMatcher progressArgumentMatcher = new ProgressArgumentMatcher();
+ mockTransferListenerControl.setMatcher( progressArgumentMatcher );
+
+ mockTransferListener.debug( null );
+ mockTransferListenerControl.setMatcher( MockControl.ALWAYS_MATCHER );
+ mockTransferListenerControl.setVoidCallable( MockControl.ZERO_OR_MORE );
+
+ mockTransferListener.transferCompleted( createTransferEvent( wagon, resource, TransferEvent.TRANSFER_COMPLETED,
+ TransferEvent.REQUEST_PUT, sourceFile ) );
+
+ mockTransferListenerControl.replay();
+
+ message( "Putting test artifact: " + resourceName + " into test repository " + testRepository );
+
wagon.addTransferListener( checksumObserver );
- wagon.connect( testRepository, getAuthInfo() );
+ wagon.addTransferListener( mockTransferListener );
- sourceFile = new File( FileTestUtils.getTestOutputDir(), testFileName );
- sourceFile.getParentFile().mkdirs();
- FileUtils.fileWrite( sourceFile.getAbsolutePath(), content );
+ wagon.connect( testRepository, getAuthInfo() );
wagon.put( sourceFile, resourceName );
+ wagon.removeTransferListener( mockTransferListener );
+
wagon.removeTransferListener( checksumObserver );
wagon.disconnect();
+
+ mockTransferListenerControl.verify();
+
+ assertEquals( content.length(), progressArgumentMatcher.getSize() );
+
+ mockTransferListenerControl.reset();
+ }
+
+ private TransferEvent createTransferEvent( Wagon wagon, Resource resource, int eventType, int requestType,
+ File file )
+ {
+ TransferEvent transferEvent = new TransferEvent( wagon, resource, eventType, requestType );
+ transferEvent.setLocalFile( file );
+ return transferEvent;
}
- protected void putFile()
+ protected int putFile()
throws Exception
{
- putFile( resource, "test-resource", "test-resource.txt\n" );
+ String content = "test-resource.txt\n";
+ putFile( resource, "test-resource", content );
+ return content.length();
}
- protected void getFile()
+ protected void getFile(int expectedSize)
throws Exception
{
- message( "Getting test artifact from test repository " + testRepository );
+ destFile = FileTestUtils.createUniqueFile( getName(), getName() );
+ destFile.deleteOnExit();
Wagon wagon = getWagon();
+ Resource resource = new Resource( this.resource );
+ mockTransferListener.transferInitiated( createTransferEvent( wagon, resource, TransferEvent.TRANSFER_INITIATED,
+ TransferEvent.REQUEST_GET, destFile ) );
+ resource = new Resource( this.resource );
+ resource.setContentLength( expectedSize );
+ resource.setLastModified( getExpectedLastModifiedOnGet() );
+ mockTransferListener.transferStarted( createTransferEvent( wagon, resource, TransferEvent.TRANSFER_STARTED,
+ TransferEvent.REQUEST_GET, destFile ) );
+ mockTransferListener.transferProgress( new TransferEvent( wagon, resource, TransferEvent.TRANSFER_PROGRESS,
+ TransferEvent.REQUEST_GET ), new byte[] {}, 0 );
+ ProgressArgumentMatcher progressArgumentMatcher = new ProgressArgumentMatcher();
+ mockTransferListenerControl.setMatcher( progressArgumentMatcher );
+
+ mockTransferListener.debug( null );
+ mockTransferListenerControl.setMatcher( MockControl.ALWAYS_MATCHER );
+ mockTransferListenerControl.setVoidCallable( MockControl.ZERO_OR_MORE );
+
+ mockTransferListener.transferCompleted( createTransferEvent( wagon, resource, TransferEvent.TRANSFER_COMPLETED,
+ TransferEvent.REQUEST_GET, destFile ) );
+
+ mockTransferListenerControl.replay();
+
+ message( "Getting test artifact from test repository " + testRepository );
+
wagon.addTransferListener( checksumObserver );
+
+ wagon.addTransferListener( mockTransferListener );
wagon.connect( testRepository, getAuthInfo() );
- destFile = FileTestUtils.createUniqueFile( getName(), getName() );
-
- destFile.deleteOnExit();
-
- wagon.get( resource, destFile );
+ wagon.get( this.resource, destFile );
+ wagon.removeTransferListener( mockTransferListener );
+
wagon.removeTransferListener( checksumObserver );
wagon.disconnect();
+
+ mockTransferListenerControl.verify();
+
+ assertEquals( expectedSize, progressArgumentMatcher.getSize() );
+
+ mockTransferListenerControl.reset();
+ }
+
+ protected long getExpectedLastModifiedOnGet()
+ {
+ return sourceFile.lastModified();
}
protected void fileRoundTripTesting()
@@ -645,7 +762,7 @@
{
message( "File round trip testing ..." );
- putFile();
+ int expectedSize = putFile();
assertNotNull( "check checksum is not null", checksumObserver.getActualChecksum() );
@@ -653,7 +770,7 @@
checksumObserver = new ChecksumObserver();
- getFile();
+ getFile( expectedSize );
assertNotNull( "check checksum is not null", checksumObserver.getActualChecksum() );
Modified: maven/wagon/branches/WAGON-109/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/branches/WAGON-109/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java?rev=658096&r1=658095&r2=658096&view=diff
==============================================================================
--- maven/wagon/branches/WAGON-109/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java (original)
+++ maven/wagon/branches/WAGON-109/wagon-providers/wagon-ftp/src/test/java/org/apache/maven/wagon/providers/ftp/FtpWagonTest.java Mon May 19 21:03:43 2008
@@ -37,6 +37,12 @@
return "ftp";
}
+ protected long getExpectedLastModifiedOnGet()
+ {
+ // granularity for FTP is minutes
+ return ( sourceFile.lastModified() / 60000 ) * 60000;
+ }
+
protected void setupWagonTestingFixtures()
throws Exception
{
Modified: maven/wagon/branches/WAGON-109/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/branches/WAGON-109/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java?rev=658096&r1=658095&r2=658096&view=diff
==============================================================================
--- maven/wagon/branches/WAGON-109/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java (original)
+++ maven/wagon/branches/WAGON-109/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java Mon May 19 21:03:43 2008
@@ -19,31 +19,39 @@
* under the License.
*/
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
+import java.util.zip.GZIPInputStream;
+
+import org.apache.commons.httpclient.Credentials;
+import org.apache.commons.httpclient.Header;
+import org.apache.commons.httpclient.HostConfiguration;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpConnectionManager;
+import org.apache.commons.httpclient.HttpMethod;
+import org.apache.commons.httpclient.HttpStatus;
+import org.apache.commons.httpclient.NTCredentials;
+import org.apache.commons.httpclient.UsernamePasswordCredentials;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.methods.HeadMethod;
+import org.apache.commons.httpclient.methods.PutMethod;
+import org.apache.commons.httpclient.util.DateParseException;
+import org.apache.commons.httpclient.util.DateParser;
import org.apache.maven.wagon.AbstractWagon;
-import org.apache.maven.wagon.TransferFailedException;
import org.apache.maven.wagon.ResourceDoesNotExistException;
-import org.apache.maven.wagon.repository.Repository;
+import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.authorization.AuthorizationException;
import org.apache.maven.wagon.events.TransferEvent;
+import org.apache.maven.wagon.repository.Repository;
import org.apache.maven.wagon.resource.Resource;
-import org.apache.maven.wagon.authorization.AuthorizationException;
-import org.apache.commons.httpclient.*;
-import org.apache.commons.httpclient.util.DateParser;
-import org.apache.commons.httpclient.util.DateParseException;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.HeadMethod;
-import org.apache.commons.httpclient.methods.PutMethod;
-import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.IOUtil;
-
-import java.util.TimeZone;
-import java.util.Locale;
-import java.util.Date;
-import java.util.zip.GZIPInputStream;
-import java.io.File;
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.FileNotFoundException;
-import java.text.SimpleDateFormat;
+import org.codehaus.plexus.util.StringUtils;
/**
* @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
@@ -228,6 +236,8 @@
try
{
lastModified = DateParser.parseDate( lastModifiedHeader.getValue() ).getTime();
+
+ resource.setLastModified( lastModified );
}
catch ( DateParseException e )
{
@@ -299,19 +309,21 @@
public void put( File source, String resourceName )
throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
{
- put(source, resourceName, true);
+ Resource resource = new Resource( resourceName );
+
+ firePutInitiated( resource, source );
+
+ put(source, resource);
}
- protected void put( File source, String resourceName, boolean firePutInitiated )
+ protected void put( File source, Resource resource )
throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
{
- String url = getRepository().getUrl() + "/" + resourceName;
- Resource resource = new Resource( resourceName );
-
- if (firePutInitiated)
- {
- firePutInitiated( resource, source );
- }
+ resource.setContentLength( source.length() );
+
+ resource.setLastModified( source.lastModified() );
+
+ String url = getRepository().getUrl() + "/" + resource.getName();
PutMethod putMethod = new PutMethod( url );
InputStream is = null;
@@ -329,6 +341,8 @@
try
{
+ firePutStarted( resource, source );
+
int statusCode = execute( putMethod );
fireTransferDebug( url + " - Status code: " + statusCode );
Modified: maven/wagon/branches/WAGON-109/wagon-providers/wagon-webdav/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/branches/WAGON-109/wagon-providers/wagon-webdav/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java?rev=658096&r1=658095&r2=658096&view=diff
==============================================================================
--- maven/wagon/branches/WAGON-109/wagon-providers/wagon-webdav/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java (original)
+++ maven/wagon/branches/WAGON-109/wagon-providers/wagon-webdav/src/main/java/org/apache/maven/wagon/providers/webdav/WebDavWagon.java Mon May 19 21:03:43 2008
@@ -94,7 +94,7 @@
//Parent directories need to be created before posting
mkdirs( dir );
- super.put(source, resourceName, false);
+ super.put(source, resource);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-commits-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-commits-help@maven.apache.org