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:38 UTC

[maven-wagon] branch WAGON-592 created (now 92c0d2a)

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a change to branch WAGON-592
in repository https://gitbox.apache.org/repos/asf/maven-wagon.git.


      at 92c0d2a  [WAGON-592] Wagon fails when compiled on Java 9+ and run on Java 8 due to JDK API breakage

This branch includes the following new commits:

     new 92c0d2a  [WAGON-592] Wagon fails when compiled on Java 9+ and run on Java 8 due to JDK API breakage

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-wagon] 01/01: [WAGON-592] Wagon fails when compiled on Java 9+ and run on Java 8 due to JDK API breakage

Posted by mi...@apache.org.
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();