This is an automated email from the ASF dual-hosted git repository. bchapuis pushed a commit to branch data-refactoring in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git
commit 9e77f0e5d33ecee1f08abd2e16d5514c700c1d16 Author: Bertil Chapuis <[email protected]> AuthorDate: Sat Apr 5 12:01:40 2025 +0200 Use the builder pattern for the FixedSizeDataList --- .../baremaps/data/collection/FixedSizeDataList.java | 17 ++++------------- .../java/org/apache/baremaps/data/DataListTest.java | 4 +++- .../org/apache/baremaps/data/SizedDataListTest.java | 10 ++++++++-- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java index 0750b7569..e2732d839 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java @@ -92,29 +92,20 @@ public class FixedSizeDataList<E> implements DataList<E> { } if (memory == null) { - return new FixedSizeDataList<>(dataType); - } else { - return new FixedSizeDataList<>(dataType, memory); + memory = new OffHeapMemory(); } + + return new FixedSizeDataList<>(dataType, memory); } } - /** - * Constructs a {@link FixedSizeDataList}. - * - * @param dataType the data type - */ - public FixedSizeDataList(FixedSizeDataType<E> dataType) { - this(dataType, new OffHeapMemory()); - } - /** * Constructs a list. * * @param dataType the data type * @param memory the memory */ - public FixedSizeDataList(FixedSizeDataType<E> dataType, Memory<?> memory) { + private FixedSizeDataList(FixedSizeDataType<E> dataType, Memory<?> memory) { if (dataType.size() > memory.segmentSize()) { throw new DataCollectionException("The segment size is too small for the data type"); } diff --git a/baremaps-data/src/test/java/org/apache/baremaps/data/DataListTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/DataListTest.java index 3b3380325..c94858bb6 100644 --- a/baremaps-data/src/test/java/org/apache/baremaps/data/DataListTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/DataListTest.java @@ -75,7 +75,9 @@ class DataListTest { static Stream<Arguments> listProvider() { return Stream.of( - Arguments.of(new FixedSizeDataList<>(new LongDataType())), + Arguments.of(FixedSizeDataList.<Long>builder() + .dataType(new LongDataType()) + .build()), Arguments.of(new IndexedDataList<>(new MemoryAlignedDataList<>(new LongDataType()), AppendOnlyLog.<Long>builder() .dataType(new LongDataType()) diff --git a/baremaps-data/src/test/java/org/apache/baremaps/data/SizedDataListTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/SizedDataListTest.java index f7ec72652..e50c2de82 100644 --- a/baremaps-data/src/test/java/org/apache/baremaps/data/SizedDataListTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/SizedDataListTest.java @@ -36,13 +36,19 @@ class SizedDataListTest { void segmentsTooSmall() { var dataType = new LongDataType(); var memory = new OffHeapMemory(4); - assertThrows(DataCollectionException.class, () -> new FixedSizeDataList<>(dataType, memory)); + assertThrows(DataCollectionException.class, () -> FixedSizeDataList.<Long>builder() + .dataType(dataType) + .memory(memory) + .build()); } @ParameterizedTest @MethodSource("org.apache.baremaps.data.memory.MemoryProvider#memories") void appendFixedSizeValues(Memory memory) throws IOException { - var list = new FixedSizeDataList<>(new LongDataType(), memory); + var list = FixedSizeDataList.<Long>builder() + .dataType(new LongDataType()) + .memory(memory) + .build(); for (int i = 0; i < 1 << 10; i++) { assertEquals(i, list.addIndexed((long) i)); }
