Skip to content

Commit 137af78

Browse files
committed
Fix buffer rewind compilation error compat with jdk 9+
See similar issue: apache/felix#114
1 parent 652b854 commit 137af78

File tree

5 files changed

+17
-9
lines changed

5 files changed

+17
-9
lines changed

datavec/datavec-api/src/test/java/org/datavec/api/writable/WritableTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
package org.datavec.api.writable;
2121

2222
import org.datavec.api.writable.batch.NDArrayRecordBatch;
23+
import org.junit.jupiter.api.DisplayName;
2324
import org.junit.jupiter.api.Tag;
2425
import org.junit.jupiter.api.Test;
2526
import org.nd4j.common.tests.BaseND4JTest;
@@ -28,13 +29,13 @@
2829
import org.nd4j.linalg.api.buffer.DataType;
2930
import org.nd4j.linalg.api.ndarray.INDArray;
3031
import org.nd4j.linalg.factory.Nd4j;
32+
3133
import java.nio.Buffer;
3234
import java.nio.ByteBuffer;
3335
import java.util.ArrayList;
3436
import java.util.Arrays;
3537
import java.util.Iterator;
3638
import java.util.List;
37-
import org.junit.jupiter.api.DisplayName;
3839

3940
import static org.junit.jupiter.api.Assertions.*;
4041

datavec/datavec-arrow/src/main/java/org/datavec/arrow/ArrowConverter.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,19 @@
4646
import org.datavec.api.writable.*;
4747
import org.datavec.arrow.recordreader.ArrowWritableRecordBatch;
4848
import org.datavec.arrow.recordreader.ArrowWritableRecordTimeSeriesBatch;
49+
import org.nd4j.common.primitives.Pair;
4950
import org.nd4j.linalg.api.buffer.DataBuffer;
5051
import org.nd4j.linalg.api.buffer.DataType;
5152
import org.nd4j.linalg.api.ndarray.INDArray;
5253
import org.nd4j.linalg.exception.ND4JIllegalArgumentException;
5354
import org.nd4j.linalg.factory.Nd4j;
54-
import org.nd4j.common.primitives.Pair;
5555
import org.nd4j.serde.binary.BinarySerde;
5656

5757
import java.io.File;
5858
import java.io.FileInputStream;
5959
import java.io.IOException;
6060
import java.io.OutputStream;
61+
import java.nio.Buffer;
6162
import java.nio.ByteBuffer;
6263
import java.nio.ByteOrder;
6364
import java.util.*;
@@ -171,7 +172,8 @@ public static INDArray convertArrowVector(FieldVector fieldVector,ColumnType typ
171172
ByteBuffer direct = ByteBuffer.allocateDirect(fieldVector.getDataBuffer().capacity());
172173
direct.order(ByteOrder.nativeOrder());
173174
fieldVector.getDataBuffer().getBytes(0,direct);
174-
direct.rewind();
175+
Buffer buffer1 = (Buffer) direct;
176+
buffer1.rewind();
175177
switch(type) {
176178
case Integer:
177179
buffer = Nd4j.createBuffer(direct, DataType.INT,cols,0);

nd4j/nd4j-serde/nd4j-aeron/src/main/java/org/nd4j/aeron/util/BufferUtil.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ public static ByteBuffer concat(ByteBuffer[] buffers, int overAllCapacity) {
4444
ByteBuffer curr = buffers[i].slice();
4545
all.put(curr);
4646
}
47-
48-
all.rewind();
47+
Buffer buffer = (Buffer) all;
48+
buffer.rewind();
4949
return all;
5050
}
5151

nd4j/nd4j-serde/nd4j-aeron/src/test/java/org/nd4j/aeron/ipc/NDArrayMessageTest.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.nd4j.linalg.factory.Nd4j;
3232

3333
import javax.annotation.concurrent.NotThreadSafe;
34+
import java.nio.Buffer;
3435

3536
import static org.junit.jupiter.api.Assertions.assertEquals;
3637

@@ -45,7 +46,8 @@ public class NDArrayMessageTest extends BaseND4JTest {
4546
public void testNDArrayMessageToAndFrom() {
4647
NDArrayMessage message = NDArrayMessage.wholeArrayUpdate(Nd4j.scalar(1.0));
4748
DirectBuffer bufferConvert = NDArrayMessage.toBuffer(message);
48-
bufferConvert.byteBuffer().rewind();
49+
Buffer buffer = (Buffer) bufferConvert.byteBuffer();
50+
buffer.rewind();
4951
NDArrayMessage newMessage = NDArrayMessage.fromBuffer(bufferConvert, 0);
5052
assertEquals(message, newMessage);
5153

nd4j/nd4j-serde/nd4j-aeron/src/test/java/org/nd4j/aeron/ipc/chunk/NDArrayMessageChunkTests.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,15 @@
2424
import org.junit.jupiter.api.Disabled;
2525
import org.junit.jupiter.api.Tag;
2626
import org.junit.jupiter.api.Test;
27-
import org.nd4j.common.tests.BaseND4JTest;
2827
import org.nd4j.aeron.ipc.NDArrayMessage;
2928
import org.nd4j.aeron.util.BufferUtil;
29+
import org.nd4j.common.tests.BaseND4JTest;
3030
import org.nd4j.common.tests.tags.NativeTag;
3131
import org.nd4j.common.tests.tags.TagNames;
3232
import org.nd4j.linalg.factory.Nd4j;
3333

3434
import javax.annotation.concurrent.NotThreadSafe;
35+
import java.nio.Buffer;
3536
import java.nio.ByteBuffer;
3637

3738
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
@@ -67,11 +68,13 @@ public void testChunkSerialization() {
6768
//test equality of direct byte buffer contents vs chunked
6869
ByteBuffer byteBuffer = buffer.byteBuffer();
6970
ByteBuffer concatAll = BufferUtil.concat(concat, buffer.capacity());
71+
Buffer concatAllBuffer = (Buffer) concatAll;
72+
Buffer byteBuffer1 = (Buffer) byteBuffer;
7073
byte[] arrays = new byte[byteBuffer.capacity()];
71-
byteBuffer.rewind();
74+
byteBuffer1.rewind();
7275
byteBuffer.get(arrays);
7376
byte[] arrays2 = new byte[concatAll.capacity()];
74-
concatAll.rewind();
77+
concatAllBuffer.rewind();
7578
concatAll.get(arrays2);
7679
assertArrayEquals(arrays, arrays2);
7780
NDArrayMessage message1 = NDArrayMessage.fromChunks(chunks);

0 commit comments

Comments
 (0)