You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2022/06/06 18:08:48 UTC
[datasketches-memory17] branch main updated: More cleanup.
This is an automated email from the ASF dual-hosted git repository.
leerho pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datasketches-memory17.git
The following commit(s) were added to refs/heads/main by this push:
new a44d797 More cleanup.
a44d797 is described below
commit a44d797307956296db36b0c69da0f6f8f710376b
Author: Lee Rhodes <le...@users.noreply.github.com>
AuthorDate: Mon Jun 6 11:08:43 2022 -0700
More cleanup.
---
.../org/apache/datasketches/memory/BaseState.java | 1 +
.../org/apache/datasketches/memory/Buffer.java | 3 -
.../org/apache/datasketches/memory/Memory.java | 51 +++++----------
.../datasketches/memory/MemoryException.java | 42 -------------
.../datasketches/memory/ReadOnlyException.java | 38 ------------
.../apache/datasketches/memory/WritableBuffer.java | 6 +-
.../apache/datasketches/memory/WritableMemory.java | 42 +++----------
.../memory/internal/BaseBufferImpl.java | 5 +-
.../memory/internal/BaseStateImpl.java | 56 ++++++++---------
.../memory/internal/BaseWritableBufferImpl.java | 27 +++++---
.../memory/internal/BaseWritableMemoryImpl.java | 72 ++++++++++------------
.../apache/datasketches/memory/internal/Util.java | 18 +++---
.../internal/AllocateDirectMapMemoryTest.java | 2 +-
.../memory/internal/AllocateDirectMemoryTest.java | 9 +--
.../AllocateDirectWritableMapMemoryTest.java | 22 +++----
.../memory/internal/BaseBufferTest.java | 4 +-
.../memory/internal/BufferInvariantsTest.java | 4 +-
.../datasketches/memory/internal/BufferTest.java | 4 +-
.../memory/internal/CommonBufferTest.java | 5 +-
.../memory/internal/CommonMemoryTest.java | 5 +-
.../memory/internal/CopyMemoryOverlapTest.java | 5 +-
.../memory/internal/CopyMemoryTest.java | 4 +-
.../memory/internal/DruidIssue11544Test.java | 18 ++----
.../memory/internal/IgnoredArrayOverflowTest.java | 4 +-
.../datasketches/memory/internal/MemoryTest.java | 3 +-
.../memory/internal/MemoryWriteToTest.java | 4 +-
.../memory/internal/MurmurHash3v3Test.java | 4 +-
.../internal/NativeWritableBufferImplTest.java | 16 +++--
.../internal/NativeWritableMemoryImplTest.java | 12 ++--
.../memory/internal/SpecificLeafTest.java | 3 +-
.../memory/internal/WritableDirectCopyTest.java | 4 +-
.../memory/internal/ZeroCapacityTest.java | 4 +-
32 files changed, 174 insertions(+), 323 deletions(-)
diff --git a/src/main/java/org/apache/datasketches/memory/BaseState.java b/src/main/java/org/apache/datasketches/memory/BaseState.java
index 50e5cff..7bfbab8 100644
--- a/src/main/java/org/apache/datasketches/memory/BaseState.java
+++ b/src/main/java/org/apache/datasketches/memory/BaseState.java
@@ -42,6 +42,7 @@ public interface BaseState {
static final ByteOrder NON_NATIVE_BYTE_ORDER =
ByteOrder.nativeOrder() == ByteOrder.LITTLE_ENDIAN
? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN;
+ static final MemoryRequestServer defaultMemReqSvr = new DefaultMemoryRequestServer();
/**
* Returns a ByteBuffer view of this Memory object with the given ByteOrder.
diff --git a/src/main/java/org/apache/datasketches/memory/Buffer.java b/src/main/java/org/apache/datasketches/memory/Buffer.java
index f6da017..6726c2a 100644
--- a/src/main/java/org/apache/datasketches/memory/Buffer.java
+++ b/src/main/java/org/apache/datasketches/memory/Buffer.java
@@ -21,7 +21,6 @@ package org.apache.datasketches.memory;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import java.util.Objects;
import org.apache.datasketches.memory.internal.BaseWritableBufferImpl;
@@ -61,8 +60,6 @@ public interface Buffer extends BaseBuffer {
* @return a new <i>Buffer</i> for read-only operations on the given ByteBuffer.
*/
static Buffer wrap(ByteBuffer byteBuffer, ByteOrder byteOrder) {
- Objects.requireNonNull(byteBuffer, "byteBuffer must not be null");
- Objects.requireNonNull(byteOrder, "byteOrder must not be null");
return BaseWritableBufferImpl.wrapByteBuffer(byteBuffer, true, byteOrder);
}
diff --git a/src/main/java/org/apache/datasketches/memory/Memory.java b/src/main/java/org/apache/datasketches/memory/Memory.java
index 1c25d80..1c9e5e2 100644
--- a/src/main/java/org/apache/datasketches/memory/Memory.java
+++ b/src/main/java/org/apache/datasketches/memory/Memory.java
@@ -24,8 +24,6 @@ import java.io.File;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import java.nio.file.InvalidPathException;
-import java.util.Objects;
import org.apache.datasketches.memory.internal.BaseWritableMemoryImpl;
@@ -64,8 +62,6 @@ public interface Memory extends BaseState {
* @return a new <i>Memory</i> for read-only operations on the given <i>ByteBuffer</i>.
*/
static Memory wrap(ByteBuffer byteBuffer, ByteOrder byteOrder) {
- Objects.requireNonNull(byteBuffer, "byteBuffer must not be null");
- Objects.requireNonNull(byteOrder, "byteOrder must not be null");
return BaseWritableMemoryImpl.wrapByteBuffer(byteBuffer, true, byteOrder);
}
@@ -81,17 +77,14 @@ public interface Memory extends BaseState {
* @param scope the given ResourceScope. It must be non-null.
* @return mapped Memory.
* @throws IllegalArgumentException -- if file is not readable.
- * @throws InvalidPathException for invalid path
* @throws IllegalStateException - if scope has been already closed, or if access occurs from a thread other
* than the thread owning scope.
- * @throws UnsupportedOperationException - if an unsupported map mode is specified.
* @throws IOException - if the specified path does not point to an existing file, or if some other I/O error occurs.
* @throws SecurityException - If a security manager is installed and it denies an unspecified permission
* required by the implementation.
*/
static Memory map(File file, ResourceScope scope)
- throws IllegalArgumentException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
- IOException, SecurityException {
+ throws IllegalArgumentException, IllegalStateException, IOException, SecurityException {
return map(file, 0, file.length(), scope, ByteOrder.nativeOrder());
}
@@ -104,22 +97,14 @@ public interface Memory extends BaseState {
* @param byteOrder the byte order to be used. It must be non-null.
* @return mapped Memory
* @throws IllegalArgumentException -- if file is not readable.
- * @throws InvalidPathException for invalid path
* @throws IllegalStateException - if scope has been already closed, or if access occurs from a thread other
* than the thread owning scope.
- * @throws UnsupportedOperationException - if an unsupported map mode is specified.
* @throws IOException - if the specified path does not point to an existing file, or if some other I/O error occurs.
* @throws SecurityException - If a security manager is installed and it denies an unspecified permission
* required by the implementation.
*/
- @SuppressWarnings("resource")
static Memory map(File file, long fileOffsetBytes, long capacityBytes, ResourceScope scope, ByteOrder byteOrder)
- throws IllegalArgumentException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
- IOException, SecurityException {
- Objects.requireNonNull(file, "File must be non-null.");
- Objects.requireNonNull(byteOrder, "ByteOrder must be non-null.");
- Objects.requireNonNull(scope, "ResourceScope must be non-null.");
- if (!file.canRead()) { throw new IllegalArgumentException("File must be readable."); }
+ throws IllegalArgumentException, IllegalStateException, IOException, SecurityException {
return BaseWritableMemoryImpl.wrapMap(file, fileOffsetBytes, capacityBytes, scope, true, byteOrder);
}
@@ -198,7 +183,6 @@ public interface Memory extends BaseState {
* @return a new <i>Memory</i> for read operations
*/
static Memory wrap(byte[] array) {
- Objects.requireNonNull(array, "array must be non-null");
return wrap(array, 0, array.length, ByteOrder.nativeOrder());
}
@@ -221,7 +205,6 @@ public interface Memory extends BaseState {
* @return a new <i>Memory</i> for read operations
*/
static Memory wrap(byte[] array, int offsetBytes, int lengthBytes, ByteOrder byteOrder) {
- Objects.requireNonNull(array, "array must be non-null");
final MemorySegment slice = MemorySegment.ofArray(array).asSlice(offsetBytes, lengthBytes).asReadOnly();
return BaseWritableMemoryImpl.wrapSegmentAsArray(slice, byteOrder, null);
}
@@ -232,9 +215,8 @@ public interface Memory extends BaseState {
* @return a new <i>Memory</i> for read operations
*/
static Memory wrap(char[] array) {
- Objects.requireNonNull(array, "array must be non-null");
- final MemorySegment slice = MemorySegment.ofArray(array).asReadOnly();
- return BaseWritableMemoryImpl.wrapSegmentAsArray(slice, ByteOrder.nativeOrder(), null);
+ final MemorySegment seg = MemorySegment.ofArray(array).asReadOnly();
+ return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
/**
@@ -243,9 +225,8 @@ public interface Memory extends BaseState {
* @return a new <i>Memory</i> for read operations
*/
static Memory wrap(short[] array) {
- Objects.requireNonNull(array, "arr must be non-null");
- final MemorySegment slice = MemorySegment.ofArray(array).asReadOnly();
- return BaseWritableMemoryImpl.wrapSegmentAsArray(slice, ByteOrder.nativeOrder(), null);
+ final MemorySegment seg = MemorySegment.ofArray(array).asReadOnly();
+ return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
/**
@@ -254,9 +235,8 @@ public interface Memory extends BaseState {
* @return a new <i>Memory</i> for read operations
*/
static Memory wrap(int[] array) {
- Objects.requireNonNull(array, "arr must be non-null");
- final MemorySegment slice = MemorySegment.ofArray(array).asReadOnly();
- return BaseWritableMemoryImpl.wrapSegmentAsArray(slice, ByteOrder.nativeOrder(), null);
+ final MemorySegment seg = MemorySegment.ofArray(array).asReadOnly();
+ return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
/**
@@ -265,9 +245,8 @@ public interface Memory extends BaseState {
* @return a new <i>Memory</i> for read operations
*/
static Memory wrap(long[] array) {
- Objects.requireNonNull(array, "arr must be non-null");
- final MemorySegment slice = MemorySegment.ofArray(array).asReadOnly();
- return BaseWritableMemoryImpl.wrapSegmentAsArray(slice, ByteOrder.nativeOrder(), null);
+ final MemorySegment seg = MemorySegment.ofArray(array).asReadOnly();
+ return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
/**
@@ -276,9 +255,8 @@ public interface Memory extends BaseState {
* @return a new <i>Memory</i> for read operations
*/
static Memory wrap(float[] array) {
- Objects.requireNonNull(array, "arr must be non-null");
- final MemorySegment slice = MemorySegment.ofArray(array).asReadOnly();
- return BaseWritableMemoryImpl.wrapSegmentAsArray(slice, ByteOrder.nativeOrder(), null);
+ final MemorySegment seg = MemorySegment.ofArray(array).asReadOnly();
+ return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
/**
@@ -287,9 +265,8 @@ public interface Memory extends BaseState {
* @return a new <i>Memory</i> for read operations
*/
static Memory wrap(double[] array) {
- Objects.requireNonNull(array, "arr must be non-null");
- final MemorySegment slice = MemorySegment.ofArray(array).asReadOnly();
- return BaseWritableMemoryImpl.wrapSegmentAsArray(slice, ByteOrder.nativeOrder(), null);
+ final MemorySegment seg = MemorySegment.ofArray(array).asReadOnly();
+ return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
//END OF CONSTRUCTOR-TYPE METHODS
diff --git a/src/main/java/org/apache/datasketches/memory/MemoryException.java b/src/main/java/org/apache/datasketches/memory/MemoryException.java
deleted file mode 100644
index 6b3663c..0000000
--- a/src/main/java/org/apache/datasketches/memory/MemoryException.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.datasketches.memory;
-
-/**
- * Specific RuntimeExceptions for the datasketches-memory component.
- *
- * @author Lee Rhodes
- *
- */
-public class MemoryException extends RuntimeException {
- private static final long serialVersionUID = 1L;
-
- /**
- * Constructs a new runtime exception with the specified detail message. The cause is not
- * initialized, and may subsequently be initialized by a call to
- * Throwable.initCause(java.lang.Throwable).
- *
- * @param message the detail message. The detail message is saved for later retrieval by the
- * Throwable.getMessage() method.
- */
- public MemoryException(final String message) {
- super(message);
- }
-}
diff --git a/src/main/java/org/apache/datasketches/memory/ReadOnlyException.java b/src/main/java/org/apache/datasketches/memory/ReadOnlyException.java
deleted file mode 100644
index 3e14795..0000000
--- a/src/main/java/org/apache/datasketches/memory/ReadOnlyException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.datasketches.memory;
-
-/**
- * The exception thrown when attempting to write into a read-only Resource.
- *
- * @author Praveenkumar Venkatesan
- */
-public class ReadOnlyException extends MemoryException {
- private static final long serialVersionUID = 1L;
-
- /**
- * Read Only Exception
- * @param message the error message
- */
- public ReadOnlyException(final String message) {
- super(message);
- }
-}
-
diff --git a/src/main/java/org/apache/datasketches/memory/WritableBuffer.java b/src/main/java/org/apache/datasketches/memory/WritableBuffer.java
index a87b31e..e2df72d 100644
--- a/src/main/java/org/apache/datasketches/memory/WritableBuffer.java
+++ b/src/main/java/org/apache/datasketches/memory/WritableBuffer.java
@@ -22,7 +22,6 @@ package org.apache.datasketches.memory;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import java.util.Objects;
import org.apache.datasketches.memory.internal.BaseWritableBufferImpl;
@@ -60,12 +59,9 @@ public interface WritableBuffer extends Buffer {
* @param byteBuffer the given ByteBuffer. It must be non-null and writable.
* @param byteOrder the byte order to be used. It must be non-null.
* @return a new <i>WritableBuffer</i> for write operations on the given <i>ByteBuffer</i>.
- * @throws ReadOnlyException if ByteBuffer is not writable
+ * @throws IllegalArgumentException if ByteBuffer is not writable
*/
static WritableBuffer writableWrap(ByteBuffer byteBuffer, ByteOrder byteOrder) {
- Objects.requireNonNull(byteBuffer, "ByteBuffer must not be null");
- Objects.requireNonNull(byteOrder, "ByteOrder must not be null");
- if (byteBuffer.isReadOnly()) { throw new ReadOnlyException("ByteBuffer must be writable."); }
return BaseWritableBufferImpl.wrapByteBuffer(byteBuffer, false, byteOrder);
}
diff --git a/src/main/java/org/apache/datasketches/memory/WritableMemory.java b/src/main/java/org/apache/datasketches/memory/WritableMemory.java
index 1e47296..4fe3895 100644
--- a/src/main/java/org/apache/datasketches/memory/WritableMemory.java
+++ b/src/main/java/org/apache/datasketches/memory/WritableMemory.java
@@ -23,8 +23,6 @@ import java.io.File;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import java.nio.file.InvalidPathException;
-import java.util.Objects;
import org.apache.datasketches.memory.internal.BaseWritableMemoryImpl;
@@ -61,14 +59,10 @@ public interface WritableMemory extends Memory {
* @param byteBuffer the given <i>ByteBuffer</i>. It must be non-null and writable.
* @param byteOrder the byte order to be used. It must be non-null.
* @return a new <i>WritableMemory</i> for write operations on the given <i>ByteBuffer</i>.
- * @throws ReadOnlyException if ByteBuffer is not writable.
+ * @throws IllegalArgumentException if ByteBuffer is not writable.
*/
static WritableMemory writableWrap(ByteBuffer byteBuffer, ByteOrder byteOrder) {
- Objects.requireNonNull(byteBuffer, "ByteBuffer must not be null");
- Objects.requireNonNull(byteOrder, "ByteOrder must not be null");
- if (byteBuffer.isReadOnly()) { throw new ReadOnlyException("ByteBuffer must be writable."); }
- final ByteBuffer byteBuf = byteBuffer.position(0).limit(byteBuffer.capacity());
- return BaseWritableMemoryImpl.wrapByteBuffer(byteBuf, false, byteOrder);
+ return BaseWritableMemoryImpl.wrapByteBuffer(byteBuffer, false, byteOrder);
}
//Duplicates make no sense here
@@ -82,18 +76,16 @@ public interface WritableMemory extends Memory {
* @param file the given file to map. It must be non-null with a non-negative length and writable.
* @param scope the give Resource Scope. It must be non-null.
* @return mapped WritableMemory
- * @throws ReadOnlyException -- if file is not writable.
- * @throws InvalidPathException for invalid path
+ * @throws IllegalArgumentException -- if file is not readable.
+ * @throws IllegalArgumentException -- if file is not writable.
* @throws IllegalStateException - if scope has been already closed, or if access occurs from a thread other
* than the thread owning scope.
- * @throws UnsupportedOperationException - if an unsupported map mode is specified.
* @throws IOException - if the specified path does not point to an existing file, or if some other I/O error occurs.
* @throws SecurityException - If a security manager is installed and it denies an unspecified permission
* required by the implementation.
*/
static WritableMemory writableMap(File file, ResourceScope scope)
- throws ReadOnlyException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
- IOException, SecurityException {
+ throws IllegalArgumentException, IllegalStateException, IOException, SecurityException {
return writableMap(file, 0, file.length(), scope, ByteOrder.nativeOrder());
}
@@ -105,24 +97,16 @@ public interface WritableMemory extends Memory {
* @param scope the give Resource Scope. It must be non-null.
* @param byteOrder the byte order to be used. It must be non-null.
* @return mapped WritableMemory.
- * @throws ReadOnlyException -- if file is not writable.
- * @throws InvalidPathException for invalid path
+ * @throws IllegalArgumentException -- if file is not readable or writable.
+ * @throws IllegalArgumentException -- if file is not writable.
* @throws IllegalStateException - if scope has been already closed, or if access occurs from a thread other
* than the thread owning scope.
- * @throws UnsupportedOperationException - if an unsupported map mode is specified.
* @throws IOException - if the specified path does not point to an existing file, or if some other I/O error occurs.
* @throws SecurityException - If a security manager is installed and it denies an unspecified permission
* required by the implementation.
*/
- @SuppressWarnings("resource")
static WritableMemory writableMap(File file, long fileOffsetBytes, long capacityBytes, ResourceScope scope,
- ByteOrder byteOrder)
- throws ReadOnlyException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
- IOException, SecurityException {
- Objects.requireNonNull(file, "File must be non-null.");
- Objects.requireNonNull(byteOrder, "ByteOrder must be non-null.");
- Objects.requireNonNull(scope, "ResourceScope must be non-null.");
- if (!file.canWrite()) { throw new ReadOnlyException("file must be writable."); }
+ ByteOrder byteOrder) throws IllegalArgumentException, IllegalStateException, IOException, SecurityException {
return BaseWritableMemoryImpl.wrapMap(file, fileOffsetBytes, capacityBytes, scope, false, byteOrder);
}
@@ -167,8 +151,6 @@ public interface WritableMemory extends Memory {
ResourceScope scope,
ByteOrder byteOrder,
MemoryRequestServer memReqSvr) {
- Objects.requireNonNull(scope, "ResourceScope must be non-null");
- Objects.requireNonNull(byteOrder, "ByteOrder must be non-null");
return BaseWritableMemoryImpl.wrapDirect(capacityBytes, alignmentBytes, scope, byteOrder, memReqSvr);
}
@@ -331,8 +313,6 @@ public interface WritableMemory extends Memory {
*/
static WritableMemory writableWrap(byte[] array, int offsetBytes, int lengthBytes, ByteOrder byteOrder,
MemoryRequestServer memReqSvr) {
- Objects.requireNonNull(array, "array must be non-null");
- Objects.requireNonNull(byteOrder, "byteOrder must be non-null");
final MemorySegment slice = MemorySegment.ofArray(array).asSlice(offsetBytes, lengthBytes);
return BaseWritableMemoryImpl.wrapSegmentAsArray(slice, byteOrder, memReqSvr);
}
@@ -343,7 +323,6 @@ public interface WritableMemory extends Memory {
* @return a new WritableMemory for write operations on the given primitive array.
*/
static WritableMemory writableWrap(char[] array) {
- Objects.requireNonNull(array, "array must be non-null");
final MemorySegment seg = MemorySegment.ofArray(array);
return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
@@ -354,7 +333,6 @@ public interface WritableMemory extends Memory {
* @return a new WritableMemory for write operations on the given primitive array.
*/
static WritableMemory writableWrap(short[] array) {
- Objects.requireNonNull(array, "array must be non-null");
final MemorySegment seg = MemorySegment.ofArray(array);
return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
@@ -365,7 +343,6 @@ public interface WritableMemory extends Memory {
* @return a new WritableMemory for write operations on the given primitive array.
*/
static WritableMemory writableWrap(int[] array) {
- Objects.requireNonNull(array, "array must be non-null");
final MemorySegment seg = MemorySegment.ofArray(array);
return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
@@ -376,7 +353,6 @@ public interface WritableMemory extends Memory {
* @return a new WritableMemory for write operations on the given primitive array.
*/
static WritableMemory writableWrap(long[] array) {
- Objects.requireNonNull(array, "array must be non-null");
final MemorySegment seg = MemorySegment.ofArray(array);
return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
@@ -387,7 +363,6 @@ public interface WritableMemory extends Memory {
* @return a new WritableMemory for write operations on the given primitive array.
*/
static WritableMemory writableWrap(float[] array) {
- Objects.requireNonNull(array, "array must be non-null");
final MemorySegment seg = MemorySegment.ofArray(array);
return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
@@ -398,7 +373,6 @@ public interface WritableMemory extends Memory {
* @return a new WritableMemory for write operations on the given primitive array.
*/
static WritableMemory writableWrap(double[] array) {
- Objects.requireNonNull(array, "array must be non-null");
final MemorySegment seg = MemorySegment.ofArray(array);
return BaseWritableMemoryImpl.wrapSegmentAsArray(seg, ByteOrder.nativeOrder(), null);
}
diff --git a/src/main/java/org/apache/datasketches/memory/internal/BaseBufferImpl.java b/src/main/java/org/apache/datasketches/memory/internal/BaseBufferImpl.java
index 4166ed6..5d50d7c 100644
--- a/src/main/java/org/apache/datasketches/memory/internal/BaseBufferImpl.java
+++ b/src/main/java/org/apache/datasketches/memory/internal/BaseBufferImpl.java
@@ -25,7 +25,8 @@ import org.apache.datasketches.memory.MemoryRequestServer;
import jdk.incubator.foreign.MemorySegment;
/**
- * A new positional API. This is different from and simpler than Java BufferImpl positional approach.
+ * This implements the positional API.
+ * This is different from and simpler than Java BufferImpl positional approach.
* <ul><li>All based on longs instead of ints.</li>
* <li>Eliminated "mark". Rarely used and confusing with its silent side effects.</li>
* <li>The invariants are {@code 0 <= start <= position <= end <= capacity}.</li>
@@ -41,7 +42,7 @@ import jdk.incubator.foreign.MemorySegment;
*
* @author Lee Rhodes
*/
-public abstract class BaseBufferImpl extends BaseStateImpl implements BaseBuffer {
+abstract class BaseBufferImpl extends BaseStateImpl implements BaseBuffer {
private long capacity;
private long start = 0;
private long pos = 0;
diff --git a/src/main/java/org/apache/datasketches/memory/internal/BaseStateImpl.java b/src/main/java/org/apache/datasketches/memory/internal/BaseStateImpl.java
index 8783e68..3901ab0 100644
--- a/src/main/java/org/apache/datasketches/memory/internal/BaseStateImpl.java
+++ b/src/main/java/org/apache/datasketches/memory/internal/BaseStateImpl.java
@@ -41,40 +41,40 @@ import jdk.incubator.foreign.ResourceScope;
* @author Lee Rhodes
*/
@SuppressWarnings("restriction")
-public abstract class BaseStateImpl implements BaseState {
- public static final String JDK; //must be at least "1.8"
- public static final int JDK_MAJOR; //8, 11, 12, etc
-
- public static final int BOOLEAN_SHIFT = 0;
- public static final int BYTE_SHIFT = 0;
- public static final long SHORT_SHIFT = 1;
- public static final long CHAR_SHIFT = 1;
- public static final long INT_SHIFT = 2;
- public static final long LONG_SHIFT = 3;
- public static final long FLOAT_SHIFT = 2;
- public static final long DOUBLE_SHIFT = 3;
+abstract class BaseStateImpl implements BaseState {
+ static final String JDK; //must be at least "1.8"
+ static final int JDK_MAJOR; //8, 11, 12, etc
+
+ static final int BOOLEAN_SHIFT = 0;
+ static final int BYTE_SHIFT = 0;
+ static final long SHORT_SHIFT = 1;
+ static final long CHAR_SHIFT = 1;
+ static final long INT_SHIFT = 2;
+ static final long LONG_SHIFT = 3;
+ static final long FLOAT_SHIFT = 2;
+ static final long DOUBLE_SHIFT = 3;
//class type IDs.
// 0000 0XXX
- public static final int READONLY = 1;
- public static final int REGION = 1 << 1;
- public static final int DUPLICATE = 1 << 2; //for Buffer only
+ static final int READONLY = 1;
+ static final int REGION = 1 << 1;
+ static final int DUPLICATE = 1 << 2; //for Buffer only
// 000X X000
- public static final int HEAP = 0;
- public static final int DIRECT = 1 << 3;
- public static final int MAP = 1 << 4; //Map is always Direct also
+ static final int HEAP = 0;
+ static final int DIRECT = 1 << 3;
+ static final int MAP = 1 << 4; //Map is always Direct also
// 00X0 0000
- public static final int NATIVE = 0;
- public static final int NONNATIVE = 1 << 5;
+ static final int NATIVE = 0;
+ static final int NONNATIVE = 1 << 5;
// 0X00 0000
- public static final int MEMORY = 0;
- public static final int BUFFER = 1 << 6;
+ static final int MEMORY = 0;
+ static final int BUFFER = 1 << 6;
// X000 0000
- public static final int BYTEBUF = 1 << 7;
+ static final int BYTEBUF = 1 << 7;
static {
final String jdkVer = System.getProperty("java.version");
@@ -88,7 +88,7 @@ public abstract class BaseStateImpl implements BaseState {
MemoryRequestServer memReqSvr;
- public BaseStateImpl(final MemorySegment seg, final int typeId, final MemoryRequestServer memReqSvr) {
+ BaseStateImpl(final MemorySegment seg, final int typeId, final MemoryRequestServer memReqSvr) {
this.seg = seg;
this.typeId = typeId;
this.memReqSvr = memReqSvr;
@@ -103,7 +103,7 @@ public abstract class BaseStateImpl implements BaseState {
* @param allocSize the allocated size.
* @throws IllegalArgumentException for exceeding address bounds
*/
- public static void checkBounds(final long reqOff, final long reqLen, final long allocSize) {
+ static void checkBounds(final long reqOff, final long reqLen, final long allocSize) {
if ((reqOff | reqLen | (reqOff + reqLen) | (allocSize - (reqOff + reqLen))) < 0) {
throw new IllegalArgumentException(
"reqOffset: " + reqOff + ", reqLength: " + reqLen
@@ -111,7 +111,7 @@ public abstract class BaseStateImpl implements BaseState {
}
}
- public static void checkJavaVersion(final String jdkVer, final int p0) {
+ static void checkJavaVersion(final String jdkVer, final int p0) {
if ( p0 != 17 ) {
throw new IllegalArgumentException(
"Unsupported JDK Major Version, must be 17; " + jdkVer);
@@ -124,7 +124,7 @@ public abstract class BaseStateImpl implements BaseState {
* @return first two number groups of the java version string.
* @throws IllegalArgumentException for an improper Java version string.
*/
- public static int[] parseJavaVersion(final String jdkVer) {
+ static int[] parseJavaVersion(final String jdkVer) {
final int p0, p1;
try {
String[] parts = jdkVer.trim().split("\\.");//grab only number groups and "."
@@ -143,7 +143,7 @@ public abstract class BaseStateImpl implements BaseState {
* @param typeId the given typeId
* @return a human readable string.
*/
- public static final String typeDecode(final int typeId) {
+ static final String typeDecode(final int typeId) {
final StringBuilder sb = new StringBuilder();
final int group1 = typeId & 0x7;
switch (group1) {
diff --git a/src/main/java/org/apache/datasketches/memory/internal/BaseWritableBufferImpl.java b/src/main/java/org/apache/datasketches/memory/internal/BaseWritableBufferImpl.java
index e8ba9db..c19c192 100644
--- a/src/main/java/org/apache/datasketches/memory/internal/BaseWritableBufferImpl.java
+++ b/src/main/java/org/apache/datasketches/memory/internal/BaseWritableBufferImpl.java
@@ -26,7 +26,6 @@ import java.util.Objects;
import org.apache.datasketches.memory.Buffer;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
-import org.apache.datasketches.memory.ReadOnlyException;
import org.apache.datasketches.memory.WritableBuffer;
import org.apache.datasketches.memory.WritableMemory;
@@ -69,7 +68,21 @@ public abstract class BaseWritableBufferImpl extends BaseBufferImpl implements W
final ByteBuffer byteBuffer,
final boolean localReadOnly,
final ByteOrder byteOrder) {
- final ByteBuffer byteBuf = localReadOnly ? byteBuffer.asReadOnlyBuffer() : byteBuffer.duplicate();
+ Objects.requireNonNull(byteBuffer, "ByteBuffer must not be null");
+ Objects.requireNonNull(byteOrder, "ByteOrder must not be null");
+ final ByteBuffer byteBuf;
+ if (localReadOnly) {
+ if (byteBuffer.isReadOnly()) {
+ byteBuf = byteBuffer.duplicate();
+ } else { //bb writable
+ byteBuf = byteBuffer.asReadOnlyBuffer();
+ }
+ } else { //want writable
+ if (byteBuffer.isReadOnly()) {
+ throw new IllegalArgumentException("ByteBuffer must be writable.");
+ }
+ byteBuf = byteBuffer.duplicate();
+ }
byteBuf.clear(); //resets position to zero and limit to capacity. Does not clear data.
final MemorySegment seg = MemorySegment.ofByteBuffer(byteBuf); //from 0 to capacity
int type = BUFFER | BYTEBUF
@@ -100,7 +113,7 @@ public abstract class BaseWritableBufferImpl extends BaseBufferImpl implements W
@Override
public WritableBuffer writableRegion(final long offsetBytes, final long capacityBytes, final ByteOrder byteOrder) {
if (this.isReadOnly()) {
- throw new ReadOnlyException("Cannot create a writable region from a read-only Memory.");
+ throw new IllegalArgumentException("Cannot create a writable region from a read-only Memory.");
}
return regionImpl(offsetBytes, capacityBytes, false, byteOrder);
}
@@ -134,7 +147,7 @@ public abstract class BaseWritableBufferImpl extends BaseBufferImpl implements W
return wbuf;
}
- //DUPLICATES
+ //DUPLICATES, DERIVED
@Override
public Buffer duplicate() {
return duplicateImpl(true, getByteOrder());
@@ -148,7 +161,7 @@ public abstract class BaseWritableBufferImpl extends BaseBufferImpl implements W
@Override
public WritableBuffer writableDuplicate() {
if (isReadOnly()) {
- throw new ReadOnlyException("Cannot create a writable duplicate from a read-only Buffer.");
+ throw new IllegalArgumentException("Cannot create a writable duplicate from a read-only Buffer.");
}
return duplicateImpl(false, getByteOrder());
}
@@ -156,7 +169,7 @@ public abstract class BaseWritableBufferImpl extends BaseBufferImpl implements W
@Override
public WritableBuffer writableDuplicate(final ByteOrder byteOrder) {
if (isReadOnly()) {
- throw new ReadOnlyException("Cannot create a writable duplicate from a read-only Buffer.");
+ throw new IllegalArgumentException("Cannot create a writable duplicate from a read-only Buffer.");
}
return duplicateImpl(false, byteOrder);
}
@@ -193,7 +206,7 @@ public abstract class BaseWritableBufferImpl extends BaseBufferImpl implements W
@Override
public WritableMemory asWritableMemory(final ByteOrder byteOrder) {
if (isReadOnly()) {
- throw new ReadOnlyException(
+ throw new IllegalArgumentException(
"Cannot create a writable Memory from a read-only Buffer.");
}
return asWritableMemoryImpl(false, byteOrder);
diff --git a/src/main/java/org/apache/datasketches/memory/internal/BaseWritableMemoryImpl.java b/src/main/java/org/apache/datasketches/memory/internal/BaseWritableMemoryImpl.java
index ae5bb9c..61a5a70 100644
--- a/src/main/java/org/apache/datasketches/memory/internal/BaseWritableMemoryImpl.java
+++ b/src/main/java/org/apache/datasketches/memory/internal/BaseWritableMemoryImpl.java
@@ -28,13 +28,11 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.channels.FileChannel;
-import java.nio.file.InvalidPathException;
import java.util.Objects;
import org.apache.datasketches.memory.Buffer;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
-import org.apache.datasketches.memory.ReadOnlyException;
import org.apache.datasketches.memory.WritableBuffer;
import org.apache.datasketches.memory.WritableMemory;
@@ -74,6 +72,7 @@ public abstract class BaseWritableMemoryImpl extends BaseStateImpl implements Wr
final MemorySegment seg,
final ByteOrder byteOrder,
final MemoryRequestServer memReqSvr) {
+ Objects.requireNonNull(byteOrder, "byteOrder must be non-null");
int type = MEMORY
| (seg.isReadOnly() ? READONLY : 0);
if (byteOrder == NON_NATIVE_BYTE_ORDER) {
@@ -89,40 +88,39 @@ public abstract class BaseWritableMemoryImpl extends BaseStateImpl implements Wr
final ByteBuffer byteBuffer,
final boolean localReadOnly,
final ByteOrder byteOrder) {
- final ByteBuffer byteBuf = localReadOnly ? byteBuffer.asReadOnlyBuffer() : byteBuffer.duplicate();
+ Objects.requireNonNull(byteBuffer, "ByteBuffer must not be null");
+ Objects.requireNonNull(byteOrder, "ByteOrder must not be null");
+ final ByteBuffer byteBuf;
+ if (localReadOnly) {
+ if (byteBuffer.isReadOnly()) {
+ byteBuf = byteBuffer.duplicate();
+ } else { //bb writable
+ byteBuf = byteBuffer.asReadOnlyBuffer();
+ }
+ } else { //want writable
+ if (byteBuffer.isReadOnly()) {
+ throw new IllegalArgumentException("ByteBuffer must be writable.");
+ }
+ byteBuf = byteBuffer.duplicate();
+ }
byteBuf.clear(); //resets position to zero and limit to capacity. Does not clear data.
final MemorySegment seg = MemorySegment.ofByteBuffer(byteBuf); //from 0 to capacity
int type = MEMORY | BYTEBUF
| (localReadOnly ? READONLY : 0)
| (seg.isNative() ? DIRECT : 0)
| (seg.isMapped() ? MAP : 0);
+ final WritableMemory wmem;
if (byteOrder == NON_NATIVE_BYTE_ORDER) {
type |= NONNATIVE;
- return new NonNativeWritableMemoryImpl(seg, type, null);
+ wmem = new NonNativeWritableMemoryImpl(seg, type, null);
+ } else {
+ wmem = new NativeWritableMemoryImpl(seg, type, null);
}
- return new NativeWritableMemoryImpl(seg, type, null);
+ return wmem;
}
- //MAP RESOURCE
+ //MAP FILE RESOURCE
- /**
- * Maps the specified portion of the given file into Memory for write operations.
- * This chooses the correct Map leaf node based on the byte order.
- * @param file the file being wrapped. It must be non-null with length > 0.
- * @param fileOffsetBytes the position in the given file in bytes. It must not be negative.
- * @param capacityBytes the size of the mapped Memory. It must be ≥ 0.
- * @param scope the given ResourceScope. It must be non-null.
- * @param localReadOnly the requested read-only state
- * @param byteOrder the byte order to be used. It must be non-null.
- * @return mapped WritableMemory.
- * @throws InvalidPathException for invalid path
- * @throws IllegalStateException - if scope has been already closed, or if access occurs from a thread other
- * than the thread owning scope.
- * @throws UnsupportedOperationException - if an unsupported map mode is specified.
- * @throws IOException - if the specified path does not point to an existing file, or if some other I/O error occurs.
- * @throws SecurityException - If a security manager is installed and it denies an unspecified permission
- * required by the implementation.
- */
@SuppressWarnings("resource")
public static WritableMemory wrapMap(
final File file,
@@ -131,19 +129,15 @@ public abstract class BaseWritableMemoryImpl extends BaseStateImpl implements Wr
final ResourceScope scope,
final boolean localReadOnly,
final ByteOrder byteOrder)
- throws InvalidPathException, IllegalStateException, UnsupportedOperationException, IOException,
- SecurityException {
+ throws IllegalArgumentException, IllegalStateException, IOException, SecurityException {
+ Objects.requireNonNull(file, "File must be non-null.");
+ Objects.requireNonNull(byteOrder, "ByteOrder must be non-null.");
+ Objects.requireNonNull(scope, "ResourceScope must be non-null.");
+ if (!file.canRead()) { throw new IllegalArgumentException("File must be readable."); }
+ if (!localReadOnly && !file.canWrite()) { throw new IllegalArgumentException("File must be writable."); }
final FileChannel.MapMode mapMode = (localReadOnly) ? READ_ONLY : READ_WRITE;
- final MemorySegment seg;
- try {
- seg = MemorySegment.mapFile(
- file.toPath(),
- fileOffsetBytes,
- capacityBytes,
- mapMode,
- scope); }
- catch (final IllegalArgumentException | IllegalStateException | UnsupportedOperationException
- | IOException | SecurityException e) { throw e; }
+
+ final MemorySegment seg = MemorySegment.mapFile(file.toPath(), fileOffsetBytes, capacityBytes, mapMode, scope);
final boolean nativeBOType = byteOrder == ByteOrder.nativeOrder();
final int type = MEMORY | MAP | DIRECT
| (localReadOnly ? READONLY : 0)
@@ -173,6 +167,8 @@ public abstract class BaseWritableMemoryImpl extends BaseStateImpl implements Wr
final ResourceScope scope,
final ByteOrder byteOrder,
final MemoryRequestServer memReqSvr) {
+ Objects.requireNonNull(scope, "ResourceScope must be non-null");
+ Objects.requireNonNull(byteOrder, "ByteOrder must be non-null");
final MemorySegment seg = MemorySegment.allocateNative(
capacityBytes,
alignmentBytes,
@@ -195,7 +191,7 @@ public abstract class BaseWritableMemoryImpl extends BaseStateImpl implements Wr
@Override
public WritableMemory writableRegion(final long offsetBytes, final long capacityBytes, final ByteOrder byteOrder) {
if (this.isReadOnly()) {
- throw new ReadOnlyException("Cannot create a writable region from a read-only Memory.");
+ throw new IllegalArgumentException("Cannot create a writable region from a read-only Memory.");
}
return regionImpl(offsetBytes, capacityBytes, false, byteOrder);
}
@@ -238,7 +234,7 @@ public abstract class BaseWritableMemoryImpl extends BaseStateImpl implements Wr
@Override
public WritableBuffer asWritableBuffer(final ByteOrder byteOrder) {
if (isReadOnly()) {
- throw new ReadOnlyException(
+ throw new IllegalArgumentException(
"Cannot create a writable buffer from a read-only Memory.");
}
return asWritableBufferImpl(false, byteOrder);
diff --git a/src/main/java/org/apache/datasketches/memory/internal/Util.java b/src/main/java/org/apache/datasketches/memory/internal/Util.java
index 12cfc26..07c0a7a 100644
--- a/src/main/java/org/apache/datasketches/memory/internal/Util.java
+++ b/src/main/java/org/apache/datasketches/memory/internal/Util.java
@@ -32,8 +32,8 @@ import java.util.Objects;
* @author Lee Rhodes
*/
@SuppressWarnings("javadoc")
-public final class Util {
- public static final String LS = System.getProperty("line.separator");
+final class Util {
+ static final String LS = System.getProperty("line.separator");
private Util() { }
@@ -43,7 +43,7 @@ public final class Util {
* @param bitMask defines the bits of interest
* @return true if all the masked bits of value are zero
*/
- public static final boolean isAllBitsClear(final long value, final long bitMask) {
+ static final boolean isAllBitsClear(final long value, final long bitMask) {
return (~value & bitMask) == bitMask;
}
@@ -53,7 +53,7 @@ public final class Util {
* @param bitMask defines the bits of interest
* @return true if all the masked bits of value are one
*/
- public static final boolean isAllBitsSet(final long value, final long bitMask) {
+ static final boolean isAllBitsSet(final long value, final long bitMask) {
return (value & bitMask) == bitMask;
}
@@ -63,7 +63,7 @@ public final class Util {
* @param bitMask defines the bits of interest
* @return true if any the masked bits of value are zero
*/
- public static final boolean isAnyBitsClear(final long value, final long bitMask) {
+ static final boolean isAnyBitsClear(final long value, final long bitMask) {
return (~value & bitMask) != 0;
}
@@ -73,7 +73,7 @@ public final class Util {
* @param bitMask defines the bits of interest
* @return true if any the masked bits of value are one
*/
- public static final boolean isAnyBitsSet(final long value, final long bitMask) {
+ static final boolean isAnyBitsSet(final long value, final long bitMask) {
return (value & bitMask) != 0;
}
@@ -92,7 +92,7 @@ public final class Util {
* @return the absolute path of the given resource file's shortName.
* @throws IllegalArgumentException if resource cannot be found
*/
- public static String getResourcePath(final String shortFileName) {
+ static String getResourcePath(final String shortFileName) {
Objects.requireNonNull(shortFileName, "input parameter " + shortFileName + " cannot be null.");
try {
final URL url = Util.class.getClassLoader().getResource(shortFileName);
@@ -111,7 +111,7 @@ public final class Util {
* @param shortFileName the last name in the pathname's name sequence.
* @return the file defined by the given resource file's shortFileName.
*/
- public static File getResourceFile(final String shortFileName) {
+ static File getResourceFile(final String shortFileName) {
return new File(getResourcePath(shortFileName));
}
@@ -121,7 +121,7 @@ public final class Util {
* @return a byte array of the contents of the file defined by the given resource file's shortFileName.
* @throws IllegalArgumentException if resource cannot be read.
*/
- public static byte[] getResourceBytes(final String shortFileName) {
+ static byte[] getResourceBytes(final String shortFileName) {
try {
return Files.readAllBytes(Paths.get(getResourcePath(shortFileName)));
} catch (final IOException e) {
diff --git a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java
index 0b5c35e..161eb1b 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMapMemoryTest.java
@@ -23,7 +23,7 @@
package org.apache.datasketches.memory.internal;
-import static org.apache.datasketches.memory.internal.Util.*;
+import static org.apache.datasketches.memory.internal.Util.getResourceFile;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
diff --git a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java
index ceb6d67..b413797 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectMemoryTest.java
@@ -24,7 +24,6 @@ import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import org.apache.datasketches.memory.BaseState;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
import org.testng.annotations.Test;
@@ -32,7 +31,7 @@ import org.testng.annotations.Test;
import jdk.incubator.foreign.ResourceScope;
public class AllocateDirectMemoryTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@SuppressWarnings("resource")
@Test
@@ -53,7 +52,7 @@ public class AllocateDirectMemoryTest {
}
@Test
- public void checkMemoryRequestServer() {
+ public void checkDefaultMemoryRequestServer() {
int longs1 = 32;
int bytes1 = longs1 << 3;
WritableMemory wmem = null;
@@ -68,10 +67,6 @@ public class AllocateDirectMemoryTest {
int longs2 = 64;
int bytes2 = longs2 << 3;
- MemoryRequestServer memReqSvr = wmem.getMemoryRequestServer();
- if (memReqSvr == null) {
- memReqSvr = new DefaultMemoryRequestServer();
- }
WritableMemory newWmem = memReqSvr.request(wmem, bytes2); //on the heap
assertFalse(newWmem.isDirect()); //on heap by default
for (int i = 0; i < longs2; i++) {
diff --git a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java
index 2d03098..1f33854 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/AllocateDirectWritableMapMemoryTest.java
@@ -38,10 +38,8 @@ import java.nio.ByteOrder;
import java.nio.file.InvalidPathException;
import org.apache.datasketches.memory.BaseState;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
-import org.apache.datasketches.memory.ReadOnlyException;
import org.apache.datasketches.memory.WritableMemory;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -50,7 +48,7 @@ import jdk.incubator.foreign.ResourceScope;
public class AllocateDirectWritableMapMemoryTest {
private static final String LS = System.getProperty("line.separator");
- private static final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@BeforeClass
public void setReadOnly() throws IOException {
@@ -59,7 +57,7 @@ public class AllocateDirectWritableMapMemoryTest {
@Test
public void simpleMap()
- throws ReadOnlyException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
+ throws IllegalArgumentException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
IOException, SecurityException {
File file = getResourceFile("GettysburgAddress.txt");
Memory mem = null;
@@ -75,7 +73,7 @@ public class AllocateDirectWritableMapMemoryTest {
@Test
public void copyOffHeapToMemoryMappedFile()
- throws ReadOnlyException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
+ throws IllegalArgumentException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
IOException, SecurityException {
long numBytes = 1L << 10; //small for unit tests. Make it larger than 2GB if you like.
long numLongs = numBytes >>> 3;
@@ -110,7 +108,7 @@ public class AllocateDirectWritableMapMemoryTest {
@Test
public void checkNonNativeFile()
- throws ReadOnlyException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
+ throws IllegalArgumentException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
IOException, SecurityException {
File file = new File("TestFile2.bin");
if (file.exists()) {
@@ -133,7 +131,7 @@ public class AllocateDirectWritableMapMemoryTest {
@SuppressWarnings("resource")
@Test
public void testMapExceptionNoTWR()
- throws ReadOnlyException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
+ throws IllegalArgumentException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
IOException, SecurityException {
File dummy = createFile("dummy.txt", ""); //zero length
ResourceScope scope = ResourceScope.newConfinedScope();
@@ -141,9 +139,9 @@ public class AllocateDirectWritableMapMemoryTest {
scope.close();
}
- @Test(expectedExceptions = ReadOnlyException.class)
+ @Test(expectedExceptions = IllegalArgumentException.class)
public void simpleMap2()
- throws ReadOnlyException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
+ throws IllegalArgumentException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
IOException, SecurityException {
File file = getResourceFile("GettysburgAddress.txt");
assertTrue(file.canRead());
@@ -155,9 +153,9 @@ public class AllocateDirectWritableMapMemoryTest {
}
}
- @Test(expectedExceptions = ReadOnlyException.class)
+ @Test(expectedExceptions = IllegalArgumentException.class)
public void checkReadException()
- throws ReadOnlyException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
+ throws IllegalArgumentException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
IOException, SecurityException {
File file = getResourceFile("GettysburgAddress.txt");
WritableMemory wmem = null;
@@ -170,7 +168,7 @@ public class AllocateDirectWritableMapMemoryTest {
@Test
public void testForce()
- throws ReadOnlyException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
+ throws IllegalArgumentException, InvalidPathException, IllegalStateException, UnsupportedOperationException,
IOException, SecurityException {
String origStr = "Corectng spellng mistks";
File origFile = createFile("force_original.txt", origStr); //23
diff --git a/src/test/java/org/apache/datasketches/memory/internal/BaseBufferTest.java b/src/test/java/org/apache/datasketches/memory/internal/BaseBufferTest.java
index 7c340ba..73cd01f 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/BaseBufferTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/BaseBufferTest.java
@@ -21,8 +21,8 @@ package org.apache.datasketches.memory.internal;
import static org.testng.Assert.fail;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Buffer;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
@@ -34,7 +34,7 @@ import jdk.incubator.foreign.ResourceScope;
* @author Lee Rhodes
*/
public class BaseBufferTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void checkLimits() {
diff --git a/src/test/java/org/apache/datasketches/memory/internal/BufferInvariantsTest.java b/src/test/java/org/apache/datasketches/memory/internal/BufferInvariantsTest.java
index e90cd29..4b233be 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/BufferInvariantsTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/BufferInvariantsTest.java
@@ -24,8 +24,8 @@ import static org.testng.Assert.fail;
import java.nio.ByteBuffer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Buffer;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableBuffer;
import org.apache.datasketches.memory.WritableMemory;
@@ -37,7 +37,7 @@ import jdk.incubator.foreign.ResourceScope;
* @author Lee Rhodes
*/
public class BufferInvariantsTest {
- private static final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void testRegion() {
diff --git a/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java b/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java
index 084e352..c9e58f0 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/BufferTest.java
@@ -27,7 +27,6 @@ import java.util.List;
import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Buffer;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableBuffer;
@@ -38,8 +37,7 @@ import org.testng.collections.Lists;
import jdk.incubator.foreign.ResourceScope;
public class BufferTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
-
+ private final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void checkDirectRoundTrip() throws Exception {
int n = 1024; //longs
diff --git a/src/test/java/org/apache/datasketches/memory/internal/CommonBufferTest.java b/src/test/java/org/apache/datasketches/memory/internal/CommonBufferTest.java
index 4b15890..8d3b519 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/CommonBufferTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/CommonBufferTest.java
@@ -21,7 +21,7 @@ package org.apache.datasketches.memory.internal;
import static org.testng.Assert.assertEquals;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableBuffer;
import org.apache.datasketches.memory.WritableMemory;
@@ -30,8 +30,7 @@ import org.testng.annotations.Test;
import jdk.incubator.foreign.ResourceScope;
public class CommonBufferTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
-
+ private final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void checkSetGet() throws Exception {
int memCapacity = 60; //must be at least 60
diff --git a/src/test/java/org/apache/datasketches/memory/internal/CommonMemoryTest.java b/src/test/java/org/apache/datasketches/memory/internal/CommonMemoryTest.java
index c2f58f6..9245a59 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/CommonMemoryTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/CommonMemoryTest.java
@@ -27,7 +27,7 @@ import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
import org.testng.annotations.Test;
@@ -35,8 +35,7 @@ import org.testng.annotations.Test;
import jdk.incubator.foreign.ResourceScope;
public class CommonMemoryTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
-
+ private final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void checkSetGet() throws Exception {
int memCapacity = 16; //must be at least 8
diff --git a/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryOverlapTest.java b/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryOverlapTest.java
index d7ec28b..8a4bdc0 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryOverlapTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryOverlapTest.java
@@ -21,7 +21,7 @@ package org.apache.datasketches.memory.internal;
import static org.testng.Assert.assertEquals;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
@@ -33,6 +33,7 @@ import jdk.incubator.foreign.ResourceScope;
* @author Lee Rhodes
*/
public class CopyMemoryOverlapTest {
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void checkOverlapUsingMemory() throws Exception {
@@ -67,7 +68,6 @@ public class CopyMemoryOverlapTest {
}
private static final void copyUsingDirectMemory(long copyLongs, double overlap, boolean copyUp) throws Exception {
- final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
println("Copy Using Direct Memory");
long overlapLongs = (long) (overlap * copyLongs);
long backingLongs = (2 * copyLongs) - overlapLongs;
@@ -108,7 +108,6 @@ public class CopyMemoryOverlapTest {
}
private static final void copyUsingDirectRegions(long copyLongs, double overlap, boolean copyUp) throws Exception {
- final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
println("Copy Using Direct Memory");
long overlapLongs = (long) (overlap * copyLongs);
long backingLongs = (2 * copyLongs) - overlapLongs;
diff --git a/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryTest.java b/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryTest.java
index 6ca469f..f0af8c4 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/CopyMemoryTest.java
@@ -23,7 +23,7 @@ import static org.testng.Assert.assertEquals;
import java.util.concurrent.ThreadLocalRandom;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
@@ -33,6 +33,7 @@ import org.testng.annotations.Test;
import jdk.incubator.foreign.ResourceScope;
public class CopyMemoryTest {
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void heapWSource() {
@@ -150,7 +151,6 @@ public class CopyMemoryTest {
@SuppressWarnings("resource")
private static WritableMemory genWmem(int longs, boolean empty) {
- final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
WritableMemory wmem = WritableMemory.allocateDirect(longs << 3, ResourceScope.newConfinedScope(), memReqSvr);
if (empty) {
wmem.clear();
diff --git a/src/test/java/org/apache/datasketches/memory/internal/DruidIssue11544Test.java b/src/test/java/org/apache/datasketches/memory/internal/DruidIssue11544Test.java
index 43dafac..a9fce8a 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/DruidIssue11544Test.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/DruidIssue11544Test.java
@@ -21,13 +21,12 @@ package org.apache.datasketches.memory.internal;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
-import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
import org.testng.annotations.Test;
@@ -49,6 +48,7 @@ import org.testng.annotations.Test;
*
*/
public class DruidIssue11544Test {
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void withByteBuffer() {
@@ -63,15 +63,9 @@ public class DruidIssue11544Test {
WritableMemory mem1 = WritableMemory.writableWrap(bb);
assertTrue(mem1.isDirect()); //confirm mem1 is off-heap
- MemoryRequestServer svr = mem1.getMemoryRequestServer();
- if (svr == null) {
- svr = new DefaultMemoryRequestServer();
- }
- assertNotNull(svr);
-
//Request Bigger Memory
int size2 = size1 * 2;
- WritableMemory mem2 = svr.request(mem1, size2);
+ WritableMemory mem2 = memReqSvr.request(mem1, size2);
//Confirm that mem2 is on the heap (the default) and 2X size1
assertFalse(mem2.isDirect());
@@ -82,13 +76,13 @@ public class DruidIssue11544Test {
//Prepare to request deallocation
//In the DefaultMemoryRequestServer, this is a no-op, so nothing is actually deallocated.
- svr.requestClose(mem1, mem2);
+ memReqSvr.requestClose(mem1, mem2);
assertTrue(mem1.isAlive());
assertTrue(mem2.isAlive());
//Now we are on the heap and need to grow again:
int size3 = size2 * 2;
- WritableMemory mem3 = svr.request(mem2, size3);
+ WritableMemory mem3 = memReqSvr.request(mem2, size3);
//Confirm that mem3 is still on the heap and 2X of size2
assertFalse(mem3.isDirect());
@@ -99,7 +93,7 @@ public class DruidIssue11544Test {
//Prepare to request deallocation
- svr.requestClose(mem2, mem3); //No-op
+ memReqSvr.requestClose(mem2, mem3); //No-op
assertTrue(mem2.isAlive());
assertTrue(mem3.isAlive());
}
diff --git a/src/test/java/org/apache/datasketches/memory/internal/IgnoredArrayOverflowTest.java b/src/test/java/org/apache/datasketches/memory/internal/IgnoredArrayOverflowTest.java
index 9d2bcf8..c9d3b4b 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/IgnoredArrayOverflowTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/IgnoredArrayOverflowTest.java
@@ -21,7 +21,7 @@ package org.apache.datasketches.memory.internal;
import java.nio.ByteOrder;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
import org.testng.annotations.AfterClass;
@@ -31,7 +31,7 @@ import org.testng.annotations.Test;
import jdk.incubator.foreign.ResourceScope;
public class IgnoredArrayOverflowTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
private WritableMemory memory;
private static final long MAX_SIZE = (1L << 10); // use 1L << 31 to test int overrange
diff --git a/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java b/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java
index 9e287a2..85e3663 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/MemoryTest.java
@@ -35,7 +35,6 @@ import java.nio.ByteOrder;
import java.util.List;
import org.apache.datasketches.memory.BaseState;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableBuffer;
@@ -48,7 +47,7 @@ import jdk.incubator.foreign.ResourceScope;
public class MemoryTest {
private static final String LS = System.getProperty("line.separator");
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@BeforeClass
diff --git a/src/test/java/org/apache/datasketches/memory/internal/MemoryWriteToTest.java b/src/test/java/org/apache/datasketches/memory/internal/MemoryWriteToTest.java
index c74a862..f995154 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/MemoryWriteToTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/MemoryWriteToTest.java
@@ -26,7 +26,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.concurrent.ThreadLocalRandom;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
@@ -35,7 +35,7 @@ import org.testng.annotations.Test;
import jdk.incubator.foreign.ResourceScope;
public class MemoryWriteToTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void testOnHeapBytes() throws IOException {
diff --git a/src/test/java/org/apache/datasketches/memory/internal/MurmurHash3v3Test.java b/src/test/java/org/apache/datasketches/memory/internal/MurmurHash3v3Test.java
index f2c0dd1..3d4ce07 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/MurmurHash3v3Test.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/MurmurHash3v3Test.java
@@ -23,7 +23,7 @@ import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.datasketches.memory.MurmurHash3.*;
import static org.testng.Assert.fail;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
@@ -40,7 +40,7 @@ import jdk.incubator.foreign.ResourceScope;
* @author Lee Rhodes
*/
public class MurmurHash3v3Test {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void checkByteArrRemainderGT8() { //byte[], remainder > 8
diff --git a/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java b/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java
index 272b4ec..42ee82d 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/NativeWritableBufferImplTest.java
@@ -29,10 +29,8 @@ import java.nio.ByteOrder;
import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Buffer;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
-import org.apache.datasketches.memory.ReadOnlyException;
import org.apache.datasketches.memory.WritableBuffer;
import org.apache.datasketches.memory.WritableMemory;
import org.testng.Assert;
@@ -41,7 +39,7 @@ import org.testng.annotations.Test;
import jdk.incubator.foreign.ResourceScope;
public class NativeWritableBufferImplTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
//Simple Native direct
@@ -263,7 +261,7 @@ public class NativeWritableBufferImplTest {
//println(mem.toHexString("HeapBB", 0, memCapacity));
}
- @Test(expectedExceptions = ReadOnlyException.class)
+ @Test(expectedExceptions = IllegalArgumentException.class)
public void checkWrapWithBBReadonly2() {
int memCapacity = 64;
ByteBuffer byteBuf = ByteBuffer.allocate(memCapacity);
@@ -296,7 +294,7 @@ public class NativeWritableBufferImplTest {
//println(mem.toHexString("HeapBB", 0, memCapacity));
}
- @Test(expectedExceptions = ReadOnlyException.class)
+ @Test(expectedExceptions = IllegalArgumentException.class)
public void checkWrapWithDirectBBReadonlyPut() {
int memCapacity = 64;
ByteBuffer byteBuf = ByteBuffer.allocateDirect(memCapacity);
@@ -479,7 +477,7 @@ public class NativeWritableBufferImplTest {
wbuf = (WritableBuffer) buf;
wmem = wbuf.asWritableMemory();
Assert.fail();
- } catch (ReadOnlyException expected) {
+ } catch (IllegalArgumentException expected) {
// expected
}
}
@@ -497,7 +495,7 @@ public class NativeWritableBufferImplTest {
@SuppressWarnings("unused")
WritableBuffer wdup2 = wbuf.writableDuplicate();
Assert.fail();
- } catch (ReadOnlyException expected) {
+ } catch (IllegalArgumentException expected) {
// ignore
}
}
@@ -515,7 +513,7 @@ public class NativeWritableBufferImplTest {
@SuppressWarnings("unused")
WritableBuffer wreg2 = wbuf.writableRegion();
Assert.fail();
- } catch (ReadOnlyException expected) {
+ } catch (IllegalArgumentException expected) {
// ignore
}
}
@@ -533,7 +531,7 @@ public class NativeWritableBufferImplTest {
@SuppressWarnings("unused")
WritableBuffer wreg2 = wbuf.writableRegion(0, 1, wbuf.getByteOrder());
Assert.fail();
- } catch (ReadOnlyException expected) {
+ } catch (IllegalArgumentException expected) {
// ignore
}
}
diff --git a/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java b/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java
index 9dd98f1..e2adeff 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/NativeWritableMemoryImplTest.java
@@ -29,10 +29,8 @@ import java.nio.ByteOrder;
import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Buffer;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
-import org.apache.datasketches.memory.ReadOnlyException;
import org.apache.datasketches.memory.WritableBuffer;
import org.apache.datasketches.memory.WritableMemory;
import org.testng.annotations.Test;
@@ -40,7 +38,7 @@ import org.testng.annotations.Test;
import jdk.incubator.foreign.ResourceScope;
public class NativeWritableMemoryImplTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
//Simple Native direct
@@ -454,7 +452,7 @@ public class NativeWritableMemoryImplTest {
//println(mem.toHexString("HeapBB", 0, memCapacity));
}
- @Test(expectedExceptions = ReadOnlyException.class)
+ @Test(expectedExceptions = IllegalArgumentException.class)
public void checkWrapWithBBReadonly2() {
int memCapacity = 64;
ByteBuffer byteBuf = ByteBuffer.allocate(memCapacity);
@@ -485,7 +483,7 @@ public class NativeWritableMemoryImplTest {
//println(mem.toHexString("HeapBB", 0, memCapacity));
}
- @Test(expectedExceptions = ReadOnlyException.class)
+ @Test(expectedExceptions = IllegalArgumentException.class)
public void checkWrapWithDirectBBReadonlyPut() {
int memCapacity = 64;
ByteBuffer byteBuf = ByteBuffer.allocateDirect(memCapacity);
@@ -646,14 +644,14 @@ public class NativeWritableMemoryImplTest {
assertEquals(wbuf.getEnd(), 64);
}
- @Test(expectedExceptions = ReadOnlyException.class)
+ @Test(expectedExceptions = IllegalArgumentException.class)
public void checkAsWritableRegionRO() {
ByteBuffer byteBuf = ByteBuffer.allocate(64);
WritableMemory wmem = (WritableMemory) Memory.wrap(byteBuf);
wmem.writableRegion(0, 1);
}
- @Test(expectedExceptions = ReadOnlyException.class)
+ @Test(expectedExceptions = IllegalArgumentException.class)
public void checkAsWritableBufferRO() {
ByteBuffer byteBuf = ByteBuffer.allocate(64);
WritableMemory wmem = (WritableMemory) Memory.wrap(byteBuf);
diff --git a/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java b/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java
index 5876e03..962097d 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/SpecificLeafTest.java
@@ -30,7 +30,6 @@ import java.nio.ByteOrder;
import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Buffer;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
@@ -42,7 +41,7 @@ import jdk.incubator.foreign.ResourceScope;
* @author Lee Rhodes
*/
public class SpecificLeafTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@Test
public void checkByteBufferLeafs() {
diff --git a/src/test/java/org/apache/datasketches/memory/internal/WritableDirectCopyTest.java b/src/test/java/org/apache/datasketches/memory/internal/WritableDirectCopyTest.java
index 2fda457..0c3afab 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/WritableDirectCopyTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/WritableDirectCopyTest.java
@@ -22,7 +22,7 @@ package org.apache.datasketches.memory.internal;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.fail;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
@@ -34,7 +34,7 @@ import jdk.incubator.foreign.ResourceScope;
* @author Lee Rhodes
*/
public class WritableDirectCopyTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
//Copy Within tests
diff --git a/src/test/java/org/apache/datasketches/memory/internal/ZeroCapacityTest.java b/src/test/java/org/apache/datasketches/memory/internal/ZeroCapacityTest.java
index 4c03459..e54b6d9 100644
--- a/src/test/java/org/apache/datasketches/memory/internal/ZeroCapacityTest.java
+++ b/src/test/java/org/apache/datasketches/memory/internal/ZeroCapacityTest.java
@@ -23,7 +23,7 @@ import static org.testng.Assert.assertEquals;
import java.nio.ByteBuffer;
-import org.apache.datasketches.memory.DefaultMemoryRequestServer;
+import org.apache.datasketches.memory.BaseState;
import org.apache.datasketches.memory.Memory;
import org.apache.datasketches.memory.MemoryRequestServer;
import org.apache.datasketches.memory.WritableMemory;
@@ -36,7 +36,7 @@ import jdk.incubator.foreign.ResourceScope;
* @author Lee Rhodes
*/
public class ZeroCapacityTest {
- private final MemoryRequestServer memReqSvr = new DefaultMemoryRequestServer();
+ private static final MemoryRequestServer memReqSvr = BaseState.defaultMemReqSvr;
@SuppressWarnings("resource")
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org