Author: olamy
Date: Wed Mar 14 23:49:58 2012
New Revision: 1300790
URL: http://svn.apache.org/viewvc?rev=1300790&view=rev
Log:
as we need to store bytes in memory for eventually retry request to put
metadata, store it in a ByteBuffer
Modified:
maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http4/AbstractHttpClientWagon.java
Modified:
maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
URL:
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java?rev=1300790&r1=1300789&r2=1300790&view=diff
==============================================================================
---
maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
(original)
+++
maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
Wed Mar 14 23:49:58 2012
@@ -61,6 +61,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
+import java.nio.ByteBuffer;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
@@ -85,7 +86,7 @@ public abstract class AbstractHttpClient
private File source;
- private byte[] bytes;
+ private ByteBuffer byteBuffer;
private RequestEntityImplementation( final InputStream stream, final
Resource resource, final Wagon wagon,
final File source )
@@ -99,7 +100,9 @@ public abstract class AbstractHttpClient
{
try
{
- this.bytes = IOUtil.toByteArray( stream );
+ byte[] bytes = IOUtil.toByteArray( stream );
+ this.byteBuffer = ByteBuffer.allocate( bytes.length );
+ this.byteBuffer.put( bytes );
}
catch ( IOException e )
{
@@ -138,7 +141,9 @@ public abstract class AbstractHttpClient
InputStream fin = null;
try
{
- fin = this.source != null ? new FileInputStream( source ) :
new ByteArrayInputStream( this.bytes );
+ fin = this.source != null
+ ? new FileInputStream( source )
+ : new ByteArrayInputStream( this.byteBuffer.array() );
int remaining = Integer.MAX_VALUE;
while ( remaining > 0 )
{
Modified:
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http4/AbstractHttpClientWagon.java
URL:
http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http4/AbstractHttpClientWagon.java?rev=1300790&r1=1300789&r2=1300790&view=diff
==============================================================================
---
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http4/AbstractHttpClientWagon.java
(original)
+++
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http4/AbstractHttpClientWagon.java
Wed Mar 14 23:49:58 2012
@@ -81,6 +81,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
+import java.nio.ByteBuffer;
import java.security.cert.X509Certificate;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -110,7 +111,7 @@ public abstract class AbstractHttpClient
private final Wagon wagon;
- private byte[] bytes;
+ private ByteBuffer byteBuffer;
private File source;
@@ -128,7 +129,9 @@ public abstract class AbstractHttpClient
{
try
{
- this.bytes = IOUtil.toByteArray( stream );
+ byte[] bytes = IOUtil.toByteArray( stream );
+ byteBuffer = ByteBuffer.allocate( bytes.length );
+ byteBuffer.put( bytes );
}
catch ( IOException e )
{
@@ -154,7 +157,7 @@ public abstract class AbstractHttpClient
{
return new FileInputStream( this.source );
}
- return new ByteArrayInputStream( this.bytes );
+ return new ByteArrayInputStream( this.byteBuffer.array() );
}
public boolean isRepeatable()
@@ -173,8 +176,9 @@ public abstract class AbstractHttpClient
TransferEvent transferEvent =
new TransferEvent( wagon, resource,
TransferEvent.TRANSFER_PROGRESS, TransferEvent.REQUEST_PUT );
transferEvent.setTimestamp( System.currentTimeMillis() );
- InputStream instream =
- this.source != null ? new FileInputStream( this.source ) : new
ByteArrayInputStream( this.bytes );
+ InputStream instream = this.source != null
+ ? new FileInputStream( this.source )
+ : new ByteArrayInputStream( this.byteBuffer.array() );
try
{
byte[] buffer = new byte[BUFFER_SIZE];