Mercurial > hg > monetdb-java
changeset 239:6d6e62ca590d embedded
Cast a ByteBuffer to a Buffer before calling flip. This fixes compiling to JDK 7 from JDK9+ compilers.
Details: https://github.com/plasma-umass/doppio/issues/497
author | Pedro Ferreira <pedro.ferreira@monetdbsolutions.com> |
---|---|
date | Tue, 12 Jun 2018 14:38:27 +0200 (2018-06-12) |
parents | d27f4ad1ca91 |
children | 9471ac1f8520 |
files | src/main/java/nl/cwi/monetdb/mcl/connection/helpers/BufferReallocator.java src/main/java/nl/cwi/monetdb/mcl/connection/mapi/AbstractSocket.java src/main/java/nl/cwi/monetdb/mcl/connection/mapi/OldMapiSocket.java src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiProtocol.java src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java |
diffstat | 5 files changed, 13 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/nl/cwi/monetdb/mcl/connection/helpers/BufferReallocator.java +++ b/src/main/java/nl/cwi/monetdb/mcl/connection/helpers/BufferReallocator.java @@ -8,6 +8,7 @@ package nl.cwi.monetdb.mcl.connection.helpers; +import java.nio.Buffer; import java.nio.CharBuffer; /** @@ -56,7 +57,7 @@ public final class BufferReallocator { public static CharBuffer reallocateBuffer(CharBuffer buffer) { int newCapacity = getNewCapacity(buffer); CharBuffer newBuffer = CharBuffer.wrap(new char[newCapacity]); - buffer.flip(); + ((Buffer)buffer).flip(); newBuffer.put(buffer.array()); return newBuffer; }
--- a/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/AbstractSocket.java +++ b/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/AbstractSocket.java @@ -14,6 +14,7 @@ import java.io.Closeable; import java.io.IOException; import java.net.Socket; import java.net.SocketException; +import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.CharBuffer; @@ -56,7 +57,7 @@ public abstract class AbstractSocket imp this.bufferIn = ByteBuffer.wrap(new byte[getFullBlockSize()]); this.bufferOut = ByteBuffer.wrap(new byte[getFullBlockSize()]); this.stringsDecoded = CharBuffer.allocate(getFullBlockSize()); - this.stringsDecoded.flip(); + ((Buffer)this.stringsDecoded).flip(); this.stringsEncoded = CharBuffer.allocate(getFullBlockSize()); } @@ -151,7 +152,7 @@ public abstract class AbstractSocket imp this.utf8Decoder.reset(); this.utf8Decoder.decode(this.bufferIn, this.stringsDecoded,true); this.utf8Decoder.flush(this.stringsDecoded); - this.stringsDecoded.flip(); + ((Buffer)this.stringsDecoded).flip(); } /** @@ -193,7 +194,7 @@ public abstract class AbstractSocket imp } this.stringsDecoded.position(sourcePosition); lineBuffer.position(destinationPosition); - lineBuffer.flip(); + ((Buffer)lineBuffer).flip(); return lineBuffer; } @@ -204,7 +205,7 @@ public abstract class AbstractSocket imp * @throws IOException If an error in the underlying connection happened */ private void writeToOutputBuffer(boolean toFlush) throws IOException { - this.stringsEncoded.flip(); + ((Buffer)this.stringsEncoded).flip(); this.utf8Encoder.reset(); CoderResult res; int written = 0;
--- a/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/OldMapiSocket.java +++ b/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/OldMapiSocket.java @@ -11,6 +11,7 @@ package nl.cwi.monetdb.mcl.connection.ma import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.nio.Buffer; import java.nio.ByteBuffer; /** @@ -241,7 +242,7 @@ public class OldMapiSocket extends Abstr connection.getPort() + ": Incomplete block read from stream"); } b.position(size); - b.flip(); + ((Buffer)b).flip(); return size; }
--- a/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiProtocol.java +++ b/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiProtocol.java @@ -20,6 +20,7 @@ import nl.cwi.monetdb.mcl.responses.Resu import nl.cwi.monetdb.mcl.responses.UpdateResponse; import java.io.IOException; +import java.nio.Buffer; import java.nio.CharBuffer; import java.text.SimpleDateFormat; import java.util.Map; @@ -126,7 +127,7 @@ public class OldMapiProtocol extends Abs newbuffer.put("!22000"); newbuffer.put(this.lineBuffer.array(), 0, limit); newbuffer.limit(limit + 6); - newbuffer.flip(); + ((Buffer)newbuffer).flip(); this.lineBuffer = newbuffer; } this.lineBuffer.position(1);
--- a/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java +++ b/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java @@ -16,6 +16,7 @@ import nl.cwi.monetdb.mcl.connection.hel import nl.cwi.monetdb.mcl.protocol.ProtocolException; import java.math.BigDecimal; +import java.nio.Buffer; import java.nio.CharBuffer; import java.sql.Types; import java.util.Calendar; @@ -163,7 +164,7 @@ final class OldMapiTupleLineParser { } } // put the unescaped string in the right place - tupleLineBuffer.flip(); + ((Buffer)tupleLineBuffer).flip(); oldMapiStringToJavaDataConversion(protocol, tupleLineBuffer.array(), 0, tupleLineBuffer.limit(), lineNumber, values[column], typesMap[column]); } else if ((i - 1) - cursor == 4 && OldMapiTupleLineParserHelper.charIndexOf(array,