You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2020/05/02 18:28:39 UTC
[maven-wagon] 01/01: [WAGON-592] Wagon fails when compiled on Java
9+ and run on Java 8 due to JDK API breakage
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch WAGON-592
in repository https://gitbox.apache.org/repos/asf/maven-wagon.git
commit 92c0d2a858a38d9b3d0aefc0f9298d5c31c7e508
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sat May 2 20:27:35 2020 +0200
[WAGON-592] Wagon fails when compiled on Java 9+ and run on Java 8 due to JDK API breakage
Cast to Buffer to avoid java.lang.NoSuchMethodError.
See https://github.com/mongodb/mongo-java-driver/commit/21c91bd364d38489e0bbe2e390efdb3746ee3fff
for details.
---
.../java/org/apache/maven/wagon/AbstractWagon.java | 24 +++++++++++----------
.../wagon/shared/http/AbstractHttpClientWagon.java | 25 +++++++++++-----------
2 files changed, 26 insertions(+), 23 deletions(-)
diff --git a/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java b/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
index 95ad47e..25e4a36 100644
--- a/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
+++ b/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
@@ -42,6 +42,7 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
@@ -599,28 +600,29 @@ public abstract class AbstractWagon
if ( read == -1 )
{
// EOF, but some data has not been written yet.
- if ( buffer.position() != 0 )
+ if ( ( (Buffer) buffer ).position() != 0 )
{
- buffer.flip();
- fireTransferProgress( transferEvent, buffer.array(), buffer.limit() );
- output.write( buffer.array(), 0, buffer.limit() );
+ ( (Buffer) buffer ).flip();
+ fireTransferProgress( transferEvent, buffer.array(), ( (Buffer) buffer ).limit() );
+ output.write( buffer.array(), 0, ( (Buffer) buffer ).limit() );
+ ( (Buffer) buffer ).clear();
}
break;
}
- // Prevent minichunking / fragmentation: when less than half the buffer is utilized,
+ // Prevent minichunking/fragmentation: when less than half the buffer is utilized,
// read some more bytes before writing and firing progress.
- if ( buffer.position() < halfBufferCapacity )
+ if ( ( (Buffer) buffer ).position() < halfBufferCapacity )
{
continue;
}
- buffer.flip();
- fireTransferProgress( transferEvent, buffer.array(), buffer.limit() );
- output.write( buffer.array(), 0, buffer.limit() );
- remaining -= buffer.limit();
- buffer.clear();
+ ( (Buffer) buffer ).flip();
+ fireTransferProgress( transferEvent, buffer.array(), ( (Buffer) buffer ).limit() );
+ output.write( buffer.array(), 0, ( (Buffer) buffer ).limit() );
+ remaining -= ( (Buffer) buffer ).limit();
+ ( (Buffer) buffer ).clear();
}
output.flush();
}
diff --git a/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java b/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
index fc809a7..e8a9405 100644
--- a/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
+++ b/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
@@ -91,6 +91,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.RandomAccessFile;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
@@ -213,29 +214,29 @@ public abstract class AbstractHttpClientWagon
if ( read == -1 )
{
// EOF, but some data has not been written yet.
- if ( buffer.position() != 0 )
+ if ( ( (Buffer) buffer ).position() != 0 )
{
- buffer.flip();
- fireTransferProgress( transferEvent, buffer.array(), buffer.limit() );
- output.write( buffer.array(), 0, buffer.limit() );
- buffer.clear();
+ ( (Buffer) buffer ).flip();
+ fireTransferProgress( transferEvent, buffer.array(), ( (Buffer) buffer ).limit() );
+ output.write( buffer.array(), 0, ( (Buffer) buffer ).limit() );
+ ( (Buffer) buffer ).clear();
}
break;
}
- // Prevent minichunking / fragmentation: when less than half the buffer is utilized,
+ // Prevent minichunking/fragmentation: when less than half the buffer is utilized,
// read some more bytes before writing and firing progress.
- if ( buffer.position() < halfBufferCapacity )
+ if ( ( (Buffer) buffer ).position() < halfBufferCapacity )
{
continue;
}
- buffer.flip();
- fireTransferProgress( transferEvent, buffer.array(), buffer.limit() );
- output.write( buffer.array(), 0, buffer.limit() );
- remaining -= buffer.limit();
- buffer.clear();
+ ( (Buffer) buffer ).flip();
+ fireTransferProgress( transferEvent, buffer.array(), ( (Buffer) buffer ).limit() );
+ output.write( buffer.array(), 0, ( (Buffer) buffer ).limit() );
+ remaining -= ( (Buffer) buffer ).limit();
+ ( (Buffer) buffer ).clear();
}
output.flush();