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));
     }

Reply via email to