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 de81fc16d7d2ac3594ef5e692215a0c43a55f3b2 Author: Bertil Chapuis <[email protected]> AuthorDate: Sat Apr 5 11:54:36 2025 +0200 Use the builders consistently --- .../org/apache/baremaps/workflow/WorkflowContext.java | 2 +- .../java/org/apache/baremaps/calcite/CalciteTest.java | 8 ++++++-- .../apache/baremaps/tasks/ImportUpdateSampleTest.java | 10 ++++++++-- .../baremaps/data/collection/AppendOnlyLog.java | 2 +- .../baremaps/data/collection/DirectHashDataMap.java | 2 +- .../org/apache/baremaps/data/AppendOnlyLogTest.java | 15 ++++++++++++--- .../java/org/apache/baremaps/data/DataListTest.java | 4 +++- .../java/org/apache/baremaps/data/DataMapTest.java | 19 +++++++++++++++---- .../baremaps/data/collection/IndexedDataMapTest.java | 4 +++- .../baremaps/data/sort/ExternalMergeSortTest.java | 5 ++++- 10 files changed, 54 insertions(+), 17 deletions(-) diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/WorkflowContext.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/WorkflowContext.java index 584e46c3e..6f10c1913 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/WorkflowContext.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/WorkflowContext.java @@ -84,7 +84,7 @@ public class WorkflowContext { Path mapDir = Files.createDirectories(cacheDir.resolve(name)); Path keysDir = Files.createDirectories(mapDir.resolve("keys")); Path valuesDir = Files.createDirectories(mapDir.resolve("values")); - MemoryAlignedDataList<Pair<Long, Long>> keys = new MemoryAlignedDataList<>( + MemoryAlignedDataList<PairDataType.Pair<Long, Long>> keys = new MemoryAlignedDataList<>( new PairDataType<>(new LongDataType(), new LongDataType()), new MemoryMappedDirectory(keysDir)); AppendOnlyLog<T> values = AppendOnlyLog.<T>builder() diff --git a/baremaps-core/src/test/java/org/apache/baremaps/calcite/CalciteTest.java b/baremaps-core/src/test/java/org/apache/baremaps/calcite/CalciteTest.java index efc13eb4d..4f6cc2031 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/calcite/CalciteTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/calcite/CalciteTest.java @@ -80,7 +80,9 @@ class CalciteTest { new DataColumnFixed("geometry", Cardinality.OPTIONAL, Type.GEOMETRY))); DataTable cityDataTable = new BaremapsDataTable( cityRowType, - new IndexedDataList<>(new AppendOnlyLog<>(new RowDataType(cityRowType)))); + new IndexedDataList<>(AppendOnlyLog.<DataRow>builder() + .dataType(new RowDataType(cityRowType)) + .build())); cityDataTable.add(new DataRowImpl(cityDataTable.schema(), List.of(1, "Paris", geometryFactory.createPoint(new Coordinate(2.3522, 48.8566))))); cityDataTable.add(new DataRowImpl(cityDataTable.schema(), @@ -94,7 +96,9 @@ class CalciteTest { new DataColumnFixed("population", Cardinality.OPTIONAL, Type.INTEGER))); DataTable populationDataTable = new BaremapsDataTable( populationRowType, - new IndexedDataList<>(new AppendOnlyLog<>(new RowDataType(populationRowType)))); + new IndexedDataList<>(AppendOnlyLog.<DataRow>builder() + .dataType(new RowDataType(populationRowType)) + .build())); populationDataTable .add(new DataRowImpl(populationDataTable.schema(), List.of(1, 2_161_000))); populationDataTable diff --git a/baremaps-core/src/test/java/org/apache/baremaps/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/tasks/ImportUpdateSampleTest.java index 4aa327f47..f75e52376 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/tasks/ImportUpdateSampleTest.java @@ -55,9 +55,15 @@ class ImportUpdateSampleTest extends PostgresRepositoryTest { // Initialize the data maps Map<Long, Coordinate> coordinateMap = DataConversions.asMap( - new IndexedDataMap<>(new AppendOnlyLog<>(new CoordinateDataType(), new OnHeapMemory()))); + new IndexedDataMap<>(AppendOnlyLog.<Coordinate>builder() + .dataType(new CoordinateDataType()) + .memory(new OnHeapMemory()) + .build())); Map<Long, List<Long>> referenceMap = DataConversions.asMap( - new IndexedDataMap<>(new AppendOnlyLog<>(new LongListDataType(), new OnHeapMemory()))); + new IndexedDataMap<>(AppendOnlyLog.<List<Long>>builder() + .dataType(new LongListDataType()) + .memory(new OnHeapMemory()) + .build())); // Import the sample data ImportOsmPbf.execute(TestFiles.SAMPLE_OSM_PBF, coordinateMap, referenceMap, headerRepository, diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/AppendOnlyLog.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/AppendOnlyLog.java index 826da936d..d7b03482d 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/AppendOnlyLog.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/AppendOnlyLog.java @@ -71,7 +71,7 @@ public class AppendOnlyLog<E> implements DataCollection<E> { * @param dataType the data type * @return this builder */ - public <T extends E> Builder<E> dataType(DataType<T> dataType) { + public Builder<E> dataType(DataType<?> dataType) { @SuppressWarnings("unchecked") DataType<E> castedDataType = (DataType<E>) dataType; this.dataType = castedDataType; diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DirectHashDataMap.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DirectHashDataMap.java index b36005c34..a4e09a0b0 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DirectHashDataMap.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DirectHashDataMap.java @@ -165,7 +165,7 @@ public class DirectHashDataMap<V> implements DataMap<Long, V> { * @param valueMemory the memory for values * @param capacity the fixed capacity of the map */ - public DirectHashDataMap( + private DirectHashDataMap( FixedSizeDataType<Long> keyType, FixedSizeDataType<V> dataType, Memory<?> keyMemory, diff --git a/baremaps-data/src/test/java/org/apache/baremaps/data/AppendOnlyLogTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/AppendOnlyLogTest.java index 96de22641..d9b354550 100644 --- a/baremaps-data/src/test/java/org/apache/baremaps/data/AppendOnlyLogTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/AppendOnlyLogTest.java @@ -35,7 +35,10 @@ class AppendOnlyLogTest { @Test void addFixedSizeData() { - var collection = new AppendOnlyLog<>(new IntegerDataType(), new OffHeapMemory(1 << 10)); + var collection = AppendOnlyLog.<Integer>builder() + .dataType(new IntegerDataType()) + .memory(new OffHeapMemory(1 << 10)) + .build(); for (int i = 0; i < 1 << 20; i++) { assertEquals(Long.BYTES + (i << 2), collection.addPositioned(i)); } @@ -46,7 +49,10 @@ class AppendOnlyLogTest { @Test void addVariableSizeValues() { - var collection = new AppendOnlyLog<>(new IntegerListDataType(), new OffHeapMemory(1 << 10)); + var collection = AppendOnlyLog.<ArrayList<Integer>>builder() + .dataType(new IntegerListDataType()) + .memory(new OffHeapMemory(1 << 10)) + .build(); var random = new Random(0); var positions = new ArrayList<Long>(); var values = new ArrayList<ArrayList<Integer>>(); @@ -69,7 +75,10 @@ class AppendOnlyLogTest { @MethodSource("org.apache.baremaps.data.type.DataTypeProvider#dataTypes") void testAllDataTypes(DataType dataType, Object value) { var num = 1000; - var collection = new AppendOnlyLog<>(dataType, new OffHeapMemory(1 << 22)); + var collection = AppendOnlyLog.builder() + .dataType(dataType) + .memory(new OffHeapMemory(1 << 22)) + .build(); // write values for (int i = 0; i < num; i++) { 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 63c1c21a2..3b3380325 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 @@ -77,7 +77,9 @@ class DataListTest { return Stream.of( Arguments.of(new FixedSizeDataList<>(new LongDataType())), Arguments.of(new IndexedDataList<>(new MemoryAlignedDataList<>(new LongDataType()), - new AppendOnlyLog<>(new LongDataType()))), + AppendOnlyLog.<Long>builder() + .dataType(new LongDataType()) + .build())), Arguments.of(new MemoryAlignedDataList<>(new LongDataType()))); } } diff --git a/baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java index e7d8a8875..ea05e9902 100644 --- a/baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java @@ -166,17 +166,28 @@ class DataMapTest { .of( Arguments.of( new IndexedDataMap<>( - new AppendOnlyLog<>(new LongDataType(), new OffHeapMemory()))), + AppendOnlyLog.<Long>builder() + .dataType(new LongDataType()) + .memory(new OffHeapMemory()) + .build())), Arguments.of(new MonotonicFixedSizeDataMap<>( new MemoryAlignedDataList<>(new LongDataType(), new OffHeapMemory()))), Arguments.of(new MonotonicDataMap<>( new MemoryAlignedDataList<>( new PairDataType<>(new LongDataType(), new LongDataType()), new OffHeapMemory()), - new AppendOnlyLog<>(new LongDataType(), new OffHeapMemory()))), + AppendOnlyLog.<Long>builder() + .dataType(new LongDataType()) + .memory(new OffHeapMemory()) + .build())), Arguments.of(new MonotonicPairedDataMap<>(new MemoryAlignedDataList<>( new PairDataType<>(new LongDataType(), new LongDataType())))), - Arguments.of(new DirectHashDataMap<>(new LongDataType(), new LongDataType(), - new OffHeapMemory(), new OffHeapMemory(), 1000))); + Arguments.of(DirectHashDataMap.<Long>builder() + .keyType(new LongDataType()) + .dataType(new LongDataType()) + .keyMemory(new OffHeapMemory()) + .valueMemory(new OffHeapMemory()) + .capacity(1000) + .build())); } } diff --git a/baremaps-data/src/test/java/org/apache/baremaps/data/collection/IndexedDataMapTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/collection/IndexedDataMapTest.java index 5eaa87fa8..09d56905f 100644 --- a/baremaps-data/src/test/java/org/apache/baremaps/data/collection/IndexedDataMapTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/collection/IndexedDataMapTest.java @@ -37,7 +37,9 @@ class IndexedDataMapTest { @BeforeEach void setUp() { - map = new IndexedDataMap<>(new AppendOnlyLog<>(new IntegerDataType())); + map = new IndexedDataMap<>(AppendOnlyLog.<Integer>builder() + .dataType(new IntegerDataType()) + .build()); } @AfterEach diff --git a/baremaps-data/src/test/java/org/apache/baremaps/data/sort/ExternalMergeSortTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/sort/ExternalMergeSortTest.java index 87b8ff345..c42b9a89b 100644 --- a/baremaps-data/src/test/java/org/apache/baremaps/data/sort/ExternalMergeSortTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/sort/ExternalMergeSortTest.java @@ -55,7 +55,10 @@ class ExternalMergeSortTest { stringsDistinct = stringsAsc.stream().distinct().toList(); supplier = () -> new IndexedDataList<>( new MemoryAlignedDataList<>(new LongDataType(), new OnHeapMemory()), - new AppendOnlyLog<>(new StringDataType(), new OnHeapMemory())); + AppendOnlyLog.<String>builder() + .dataType(new StringDataType()) + .memory(new OnHeapMemory()) + .build()); input = supplier.get(); output = supplier.get(); for (var string : strings) {
