From ce00613ccb7411ffc8f784e4bac7b9afeec23e77 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Fri, 3 May 2024 23:12:17 +0200 Subject: [PATCH 01/19] Decouple the parser from the map --- .../baremaps/openstreetmap/DiffService.java | 14 +- .../function/CoordinateMapBuilder.java | 6 +- .../function/EntityGeometryBuilder.java | 6 +- .../function/GeometryMapBuilder.java | 6 +- .../function/ReferenceMapBuilder.java | 6 +- .../function/RelationMultiPolygonBuilder.java | 10 +- .../function/WayGeometryBuilder.java | 6 +- .../openstreetmap/pbf/PbfBlockReader.java | 14 +- .../openstreetmap/pbf/PbfEntityReader.java | 10 +- .../baremaps/openstreetmap/pbf/PbfReader.java | 10 +- .../postgres/PostgresCoordinateMap.java | 2 +- .../openstreetmap/postgres/PostgresMap.java | 136 ++++++++++++++++++ .../postgres/PostgresReferenceMap.java | 2 +- .../baremaps/workflow/tasks/ImportOsmPbf.java | 5 +- .../workflow/tasks/UpdateOsmDatabase.java | 7 +- .../tasks/ImportUpdateSampleTest.java | 6 +- 16 files changed, 190 insertions(+), 56 deletions(-) create mode 100644 baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java index 6857a82ad..adaade371 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java @@ -23,15 +23,11 @@ import java.net.MalformedURLException; import java.net.URI; import java.net.URL; -import java.util.List; -import java.util.Optional; -import java.util.Spliterator; -import java.util.Spliterators; +import java.util.*; import java.util.concurrent.Callable; import java.util.stream.Stream; import java.util.stream.StreamSupport; import java.util.zip.GZIPInputStream; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder; import org.apache.baremaps.openstreetmap.function.EntityToGeometryMapper; import org.apache.baremaps.openstreetmap.model.*; @@ -50,8 +46,8 @@ public class DiffService implements Callable> { private static final Logger logger = LoggerFactory.getLogger(DiffService.class); - private final DataMap coordinateMap; - private final DataMap> referenceMap; + private final Map coordinateMap; + private final Map> referenceMap; private final HeaderRepository headerRepository; private final Repository nodeRepository; private final Repository wayRepository; @@ -59,8 +55,8 @@ public class DiffService implements Callable> { private final int srid; private final int zoom; - public DiffService(DataMap coordinateMap, - DataMap> referenceMap, + public DiffService(Map coordinateMap, + Map> referenceMap, HeaderRepository headerRepository, Repository nodeRepository, Repository wayRepository, Repository relationRepository, int srid, int zoom) { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java index 34a4731be..3686b3ffb 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java @@ -19,8 +19,8 @@ +import java.util.Map; import java.util.function.Consumer; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.model.Node; import org.locationtech.jts.geom.Coordinate; @@ -28,14 +28,14 @@ /** A consumer that stores openstreetmap coordinates in a map. */ public class CoordinateMapBuilder implements Consumer { - private final DataMap coordinateMap; + private final Map coordinateMap; /** * Constructs a {@code CacheBlockConsumer} with the provided map. * * @param coordinateMap the map of coordinates */ - public CoordinateMapBuilder(DataMap coordinateMap) { + public CoordinateMapBuilder(Map coordinateMap) { this.coordinateMap = coordinateMap; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java index 093d6efb0..aa790782d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java @@ -20,8 +20,8 @@ import java.util.List; +import java.util.Map; import java.util.function.Consumer; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.model.*; import org.locationtech.jts.geom.*; @@ -39,8 +39,8 @@ public class EntityGeometryBuilder implements Consumer { * @param referenceMap the reference cache */ public EntityGeometryBuilder( - DataMap coordinateMap, - DataMap> referenceMap) { + Map coordinateMap, + Map> referenceMap) { this.nodeGeometryBuilder = new NodeGeometryBuilder(); this.wayGeometryBuilder = new WayGeometryBuilder(coordinateMap); this.relationMultiPolygonBuilder = new RelationMultiPolygonBuilder(coordinateMap, referenceMap); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java index 3bac8678e..52e189e0b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java @@ -19,9 +19,9 @@ +import java.util.Map; import java.util.function.Consumer; import java.util.function.Predicate; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.model.Element; import org.apache.baremaps.openstreetmap.model.Entity; import org.locationtech.jts.geom.Geometry; @@ -31,7 +31,7 @@ */ public class GeometryMapBuilder implements Consumer { - private final DataMap geometryMap; + private final Map geometryMap; private final Predicate filter; @@ -41,7 +41,7 @@ public class GeometryMapBuilder implements Consumer { * @param geometryMap the geometry map * @param filter the entity filter */ - public GeometryMapBuilder(DataMap geometryMap, Predicate filter) { + public GeometryMapBuilder(Map geometryMap, Predicate filter) { this.geometryMap = geometryMap; this.filter = filter; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java index 90368cc89..b0d042a33 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java @@ -20,22 +20,22 @@ import java.util.List; +import java.util.Map; import java.util.function.Consumer; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.model.Way; /** A consumer that stores openstreetmap references in a map. */ public class ReferenceMapBuilder implements Consumer { - private final DataMap> referenceMap; + private final Map> referenceMap; /** * Constructs a {@code CacheBlockConsumer} with the provided map. * * @param referenceMap the map of references */ - public ReferenceMapBuilder(DataMap> referenceMap) { + public ReferenceMapBuilder(Map> referenceMap) { this.referenceMap = referenceMap; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java index a530a6711..111cfe816 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java @@ -21,8 +21,8 @@ import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.function.Consumer; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.model.Member; import org.apache.baremaps.openstreetmap.model.Member.MemberType; @@ -42,8 +42,8 @@ public class RelationMultiPolygonBuilder implements Consumer { private static final Logger logger = LoggerFactory.getLogger(RelationMultiPolygonBuilder.class); - private final DataMap coordinateMap; - private final DataMap> referenceMap; + private final Map coordinateMap; + private final Map> referenceMap; /** * Constructs a relation geometry builder. @@ -52,8 +52,8 @@ public class RelationMultiPolygonBuilder implements Consumer { * @param referenceMap the references map */ public RelationMultiPolygonBuilder( - DataMap coordinateMap, - DataMap> referenceMap) { + Map coordinateMap, + Map> referenceMap) { this.coordinateMap = coordinateMap; this.referenceMap = referenceMap; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java index b6b74ccc4..a44d7d4f0 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java @@ -21,8 +21,8 @@ import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.function.Consumer; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.model.Way; import org.locationtech.jts.geom.Coordinate; @@ -39,14 +39,14 @@ public class WayGeometryBuilder implements Consumer { private static final Logger logger = LoggerFactory.getLogger(WayGeometryBuilder.class); - private final DataMap coordinateMap; + private final Map coordinateMap; /** * Constructs a way geometry builder. * * @param coordinateMap the coordinates map */ - public WayGeometryBuilder(DataMap coordinateMap) { + public WayGeometryBuilder(Map coordinateMap) { this.coordinateMap = coordinateMap; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java index 1879a5326..cfdcf8631 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java @@ -21,8 +21,8 @@ import java.io.InputStream; import java.util.List; +import java.util.Map; import java.util.stream.Stream; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.function.*; import org.apache.baremaps.openstreetmap.model.Block; import org.apache.baremaps.stream.StreamUtils; @@ -37,9 +37,9 @@ public class PbfBlockReader implements PbfReader { private int srid = 4326; - private DataMap coordinateMap; + private Map coordinateMap; - private DataMap> referenceMap; + private Map> referenceMap; @Override public int buffer() { @@ -79,23 +79,23 @@ public PbfBlockReader projection(int srid) { } @Override - public DataMap coordinateMap() { + public Map coordinateMap() { return coordinateMap; } @Override - public PbfBlockReader coordinateMap(DataMap coordinateMap) { + public PbfBlockReader coordinateMap(Map coordinateMap) { this.coordinateMap = coordinateMap; return this; } @Override - public DataMap> referenceMap() { + public Map> referenceMap() { return referenceMap; } @Override - public PbfBlockReader referenceMap(DataMap> referenceMap) { + public PbfBlockReader referenceMap(Map> referenceMap) { this.referenceMap = referenceMap; return this; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java index a49dbd9c6..cf8c1dba0 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java @@ -21,8 +21,8 @@ import java.io.InputStream; import java.util.List; +import java.util.Map; import java.util.stream.Stream; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.model.DataBlock; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.model.HeaderBlock; @@ -75,23 +75,23 @@ public PbfEntityReader projection(int srid) { } @Override - public DataMap coordinateMap() { + public Map coordinateMap() { return reader.coordinateMap(); } @Override - public PbfEntityReader coordinateMap(DataMap coordinateMap) { + public PbfEntityReader coordinateMap(Map coordinateMap) { reader.coordinateMap(coordinateMap); return this; } @Override - public DataMap> referenceMap() { + public Map> referenceMap() { return reader.referenceMap(); } @Override - public PbfEntityReader referenceMap(DataMap> referenceMap) { + public PbfEntityReader referenceMap(Map> referenceMap) { reader.referenceMap(referenceMap); return this; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java index 43605fe54..bb5603578 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java @@ -21,8 +21,8 @@ import java.io.InputStream; import java.util.List; +import java.util.Map; import java.util.stream.Stream; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.OsmReader; import org.locationtech.jts.geom.Coordinate; @@ -78,7 +78,7 @@ public interface PbfReader extends OsmReader { * * @return the map of coordinates */ - DataMap coordinateMap(); + Map coordinateMap(); /** * Sets the map used to store coordinates for generating geometries. @@ -86,14 +86,14 @@ public interface PbfReader extends OsmReader { * @param coordinateMap the map of coordinates * @return the reader */ - PbfReader coordinateMap(DataMap coordinateMap); + PbfReader coordinateMap(Map coordinateMap); /** * Gets the map used to store references for generating geometries. * * @return the map of references */ - DataMap> referenceMap(); + Map> referenceMap(); /** * Sets the map used to store references for generating geometries. @@ -101,7 +101,7 @@ public interface PbfReader extends OsmReader { * @param referenceMap the map of references * @return the reader */ - PbfReader referenceMap(DataMap> referenceMap); + PbfReader referenceMap(Map> referenceMap); /** * Creates an ordered stream of osm objects. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java index 7f27b313e..4d17fb461 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java @@ -29,7 +29,7 @@ /** * A read-only {@link DataMap} for coordinates baked by OpenStreetMap nodes stored in PostgreSQL. */ -public class PostgresCoordinateMap extends DataMap { +public class PostgresCoordinateMap extends PostgresMap { private final DataSource dataSource; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java new file mode 100644 index 000000000..3c1f9f716 --- /dev/null +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java @@ -0,0 +1,136 @@ +/* + * 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.baremaps.openstreetmap.postgres; + +import com.google.common.collect.Streams; +import java.util.*; + +/** + * An abstract map of data elements backed by a Postgres database. + */ +public abstract class PostgresMap implements Map { + + /** {@inheritDoc} */ + @Override + public void putAll(Map m) { + m.forEach(this::put); + } + + /** + * Returns the value associated with the specified key or null if the key is not present. + * + * @param keys the keys + * @return the values + */ + public List getAll(List keys) { + return Streams.stream(keys).map(this::get).toList(); + } + + /** {@inheritDoc} */ + @Override + public boolean isEmpty() { + return size() == 0; + } + + /** + * Returns the size of the map as a long. + * + * @return the size of the map + */ + public abstract long sizeAsLong(); + + /** {@inheritDoc} */ + public int size() { + return (int) Math.min(sizeAsLong(), Integer.MAX_VALUE); + } + + /** + * Returns an iterator over the keys of the map. + * + * @return an iterator + */ + protected abstract Iterator keyIterator(); + + /** {@inheritDoc} */ + @Override + public Set keySet() { + return new PostgresMap.KeySet(); + } + + private class KeySet extends AbstractSet { + @Override + public Iterator iterator() { + return keyIterator(); + } + + @Override + public int size() { + return PostgresMap.this.size(); + } + } + + /** + * Returns an iterator over the values of the map. + * + * @return an iterator + */ + protected abstract Iterator valueIterator(); + + /** {@inheritDoc} */ + @Override + public Collection values() { + return new PostgresMap.ValueCollection(); + } + + private class ValueCollection extends AbstractCollection { + @Override + public Iterator iterator() { + return valueIterator(); + } + + @Override + public int size() { + return PostgresMap.this.size(); + } + } + + /** + * Returns an iterator over the entries of the map. + * + * @return an iterator + */ + protected abstract Iterator> entryIterator(); + + /** {@inheritDoc} */ + @Override + public Set> entrySet() { + return new PostgresMap.EntrySet(); + } + + private class EntrySet extends AbstractSet> { + @Override + public Iterator> iterator() { + return entryIterator(); + } + + @Override + public int size() { + return PostgresMap.this.size(); + } + } +} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java index 08b86c6b6..2dd4ab682 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java @@ -32,7 +32,7 @@ /** * A read-only {@code LongDataMap} for references baked by OpenStreetMap ways stored in Postgres. */ -public class PostgresReferenceMap extends DataMap> { +public class PostgresReferenceMap extends PostgresMap> { private final DataSource dataSource; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java index 22637b420..5800b26ba 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java @@ -21,6 +21,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.List; +import java.util.Map; import java.util.StringJoiner; import org.apache.baremaps.database.collection.*; import org.apache.baremaps.openstreetmap.model.Node; @@ -132,8 +133,8 @@ public void execute(WorkflowContext context) throws Exception { */ public static void execute( Path path, - DataMap coordinateMap, - DataMap> referenceMap, + Map coordinateMap, + Map> referenceMap, HeaderRepository headerRepository, Repository nodeRepository, Repository wayRepository, diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java index 817efa6dd..8ccc2a302 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java @@ -19,9 +19,9 @@ import java.io.BufferedInputStream; import java.util.List; +import java.util.Map; import java.util.StringJoiner; import java.util.zip.GZIPInputStream; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.function.*; import org.apache.baremaps.openstreetmap.model.Header; import org.apache.baremaps.openstreetmap.model.Node; @@ -107,8 +107,9 @@ public void execute(WorkflowContext context) throws Exception { * @param databaseSrid the SRID * @throws Exception if something went wrong */ - public static void execute(DataMap coordinateMap, - DataMap> referenceMap, + public static void execute( + Map coordinateMap, + Map> referenceMap, HeaderRepository headerRepository, Repository nodeRepository, Repository wayRepository, Repository relationRepository, Integer databaseSrid, diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java index 055f7e1ad..38df3c91a 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java @@ -24,8 +24,8 @@ import java.nio.file.Files; import java.util.List; +import java.util.Map; import org.apache.baremaps.database.collection.AppendOnlyBuffer; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.database.collection.IndexedDataMap; import org.apache.baremaps.database.memory.OnHeapMemory; import org.apache.baremaps.database.type.LongListDataType; @@ -58,9 +58,9 @@ void sample() throws Exception { PostgresRelationRepository relationRepository = new PostgresRelationRepository(dataSource()); // Initialize the data maps - DataMap coordinateMap = + Map coordinateMap = new IndexedDataMap<>(new AppendOnlyBuffer<>(new CoordinateDataType(), new OnHeapMemory())); - DataMap> referenceMap = + Map> referenceMap = new IndexedDataMap<>(new AppendOnlyBuffer<>(new LongListDataType(), new OnHeapMemory())); // Import the sample data From e6e4085f2ac67d54015fead66fd7e9747c7f19e4 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Fri, 3 May 2024 23:33:04 +0200 Subject: [PATCH 02/19] Rename buffer into log and implements iterable --- ...pendOnlyBuffer.java => AppendOnlyLog.java} | 58 ++++++++++++------- .../database/collection/IndexedDataList.java | 10 ++-- .../database/collection/IndexedDataMap.java | 8 +-- .../database/collection/LongDataMap.java | 46 --------------- .../database/collection/MonotonicDataMap.java | 10 ++-- .../postgres/PostgresReferenceMap.java | 1 - .../baremaps/workflow/WorkflowContext.java | 2 +- ...BufferTest.java => AppendOnlyLogTest.java} | 16 ++--- .../baremaps/database/DataListTest.java | 2 +- .../apache/baremaps/database/DataMapTest.java | 4 +- .../database/calcite/CalciteTest.java | 6 +- .../database/sort/ExternalMergeSortTest.java | 4 +- .../tasks/ImportUpdateSampleTest.java | 6 +- 13 files changed, 70 insertions(+), 103 deletions(-) rename baremaps-core/src/main/java/org/apache/baremaps/database/collection/{AppendOnlyBuffer.java => AppendOnlyLog.java} (82%) delete mode 100644 baremaps-core/src/main/java/org/apache/baremaps/database/collection/LongDataMap.java rename baremaps-core/src/test/java/org/apache/baremaps/database/{AppendOnlyBufferTest.java => AppendOnlyLogTest.java} (86%) diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyBuffer.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java similarity index 82% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyBuffer.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java index 0c2a4d3ea..e3f41709c 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyBuffer.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java @@ -30,16 +30,16 @@ import org.apache.baremaps.database.type.DataType; /** - * A buffer of elements backed by a {@link DataType} and a {@link Memory}. Elements are appended to - * the buffer and can be accessed by their position in the {@link Memory}. Appending elements to the + * A log of records backed by a {@link DataType} and a {@link Memory}. Elements are appended to the + * buffer and can be accessed by their position in the {@link Memory}. Appending elements to the * buffer is thread-safe. * * @param The type of the data. */ -public class AppendOnlyBuffer extends AbstractDataCollection { +public class AppendOnlyLog implements Iterable { private final DataType dataType; - private final Memory memory; + private final Memory memory; private final long segmentSize; private long offset; private long size; @@ -51,7 +51,7 @@ public class AppendOnlyBuffer extends AbstractDataCollection { * * @param dataType the data type */ - public AppendOnlyBuffer(DataType dataType) { + public AppendOnlyLog(DataType dataType) { this(dataType, new OffHeapMemory()); } @@ -61,7 +61,7 @@ public AppendOnlyBuffer(DataType dataType) { * @param dataType the data type * @param memory the memory */ - public AppendOnlyBuffer(DataType dataType, Memory memory) { + public AppendOnlyLog(DataType dataType, Memory memory) { this.dataType = dataType; this.memory = memory; this.segmentSize = memory.segmentSize(); @@ -75,7 +75,7 @@ public AppendOnlyBuffer(DataType dataType, Memory memory) { * @param value the value * @return the position of the value in the memory. */ - public long addPositioned(E value) { + public long add(E value) { int valueSize = dataType.size(value); if (valueSize > segmentSize) { throw new DataCollectionException("The value is too big to fit in a segment"); @@ -101,15 +101,6 @@ public long addPositioned(E value) { return position; } - /** - * {@inheritDoc} - */ - @Override - public boolean add(E value) { - addPositioned(value); - return true; - } - /** * Returns a values at the specified position in the memory. * @@ -123,17 +114,25 @@ public E read(long position) { return dataType.read(buffer, (int) segmentOffset); } - /** {@inheritDoc} */ - public long sizeAsLong() { + /** + * Returns the size of the log. + * + * @return the size of the log + */ + public long size() { return size; } + /** + * Closes the log. + */ public void close() { memory.segment(0).putLong(0, size); } - /** {@inheritDoc} */ - @Override + /** + * Clears the log. + */ public void clear() { try { memory.clear(); @@ -143,14 +142,29 @@ public void clear() { } /** - * {@inheritDoc} + * Returns an iterator over the values of the log. + * @return an iterator over the values of the log */ @Override public BufferIterator iterator() { - final long size = sizeAsLong(); + final long size = size(); return new BufferIterator(size); } + /** + * Returns true if the log contains the specified value. + * @param value the value + * @return true if the log contains the specified value + */ + public boolean contains(Object value) { + for (E e : this) { + if (e.equals(value)) { + return true; + } + } + return false; + } + public class BufferIterator implements Iterator { private final long size; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java index 49d5abd75..5bb51c63c 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java @@ -32,7 +32,7 @@ public class IndexedDataList extends DataList { private final DataList index; - private final AppendOnlyBuffer values; + private final AppendOnlyLog values; /** @@ -40,7 +40,7 @@ public class IndexedDataList extends DataList { * * @param values the values */ - public IndexedDataList(AppendOnlyBuffer values) { + public IndexedDataList(AppendOnlyLog values) { this(new MemoryAlignedDataList<>(new LongDataType()), values); } @@ -50,7 +50,7 @@ public IndexedDataList(AppendOnlyBuffer values) { * @param index the index * @param values the values */ - public IndexedDataList(DataList index, AppendOnlyBuffer values) { + public IndexedDataList(DataList index, AppendOnlyLog values) { this.index = index; this.values = values; } @@ -60,7 +60,7 @@ public IndexedDataList(DataList index, AppendOnlyBuffer values) { */ @Override public long addIndexed(E value) { - long position = values.addPositioned(value); + long position = values.add(value); return index.addIndexed(position); } @@ -69,7 +69,7 @@ public long addIndexed(E value) { */ @Override public void set(long index, E value) { - long position = values.addPositioned(value); + long position = values.add(value); this.index.set(index, position); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java index b8d10a11e..610e67ef1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java @@ -35,14 +35,14 @@ public class IndexedDataMap extends DataMap { private final Map index; - private final AppendOnlyBuffer values; + private final AppendOnlyLog values; /** * Constructs a map. * * @param values the values */ - public IndexedDataMap(AppendOnlyBuffer values) { + public IndexedDataMap(AppendOnlyLog values) { this(new Long2LongOpenHashMap(), values); } @@ -52,7 +52,7 @@ public IndexedDataMap(AppendOnlyBuffer values) { * @param index the index * @param values the values */ - public IndexedDataMap(Map index, AppendOnlyBuffer values) { + public IndexedDataMap(Map index, AppendOnlyLog values) { this.index = index; this.values = values; } @@ -63,7 +63,7 @@ public IndexedDataMap(Map index, AppendOnlyBuffer values) { @Override public E put(Long key, E value) { var oldIndex = index.get(key); - var position = values.addPositioned(value); + var position = values.add(value); index.put(key, position); return oldIndex == null ? null : values.read(oldIndex); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/LongDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/LongDataMap.java deleted file mode 100644 index e94172b44..000000000 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/LongDataMap.java +++ /dev/null @@ -1,46 +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.baremaps.database.collection; - - - -import org.apache.baremaps.database.memory.Memory; -import org.apache.baremaps.database.memory.OffHeapMemory; -import org.apache.baremaps.database.type.LongDataType; - -/** - * A list of longs. - */ -public class LongDataMap extends MemoryAlignedDataMap { - - /** - * Constructs a list. - */ - public LongDataMap() { - this(new OffHeapMemory()); - } - - /** - * Constructs a list. - * - * @param memory the memory - */ - public LongDataMap(Memory memory) { - super(new LongDataType(), memory); - } -} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java index 17c8d8c1b..01f24842d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java @@ -40,7 +40,7 @@ public class MonotonicDataMap extends DataMap { private final DataList offsets; private final DataList> keys; - private final AppendOnlyBuffer values; + private final AppendOnlyLog values; private long lastChunk = -1; @@ -49,7 +49,7 @@ public class MonotonicDataMap extends DataMap { * * @param values the buffer of values */ - public MonotonicDataMap(AppendOnlyBuffer values) { + public MonotonicDataMap(AppendOnlyLog values) { this( new MemoryAlignedDataList<>(new LongDataType()), new MemoryAlignedDataList<>(new PairDataType<>(new LongDataType(), new LongDataType())), @@ -62,7 +62,7 @@ public MonotonicDataMap(AppendOnlyBuffer values) { * @param keys the list of keys * @param values the buffer of values */ - public MonotonicDataMap(DataList> keys, AppendOnlyBuffer values) { + public MonotonicDataMap(DataList> keys, AppendOnlyLog values) { this( new MemoryAlignedDataList<>(new LongDataType()), keys, @@ -77,7 +77,7 @@ public MonotonicDataMap(DataList> keys, AppendOnlyBuffer val * @param values the buffer of values */ public MonotonicDataMap(DataList offsets, DataList> keys, - AppendOnlyBuffer values) { + AppendOnlyLog values) { this.offsets = offsets; this.keys = keys; this.values = values; @@ -93,7 +93,7 @@ public E put(Long key, E value) { } lastChunk = chunk; } - long position = values.addPositioned(value); + long position = values.add(value); keys.add(new Pair<>(key, position)); return null; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java index 2dd4ab682..7ab8bc665 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java @@ -27,7 +27,6 @@ import java.util.*; import javax.sql.DataSource; import org.apache.baremaps.database.collection.DataCollectionException; -import org.apache.baremaps.database.collection.DataMap; /** * A read-only {@code LongDataMap} for references baked by OpenStreetMap ways stored in Postgres. 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 172be38d5..b16f52f6c 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 @@ -89,7 +89,7 @@ public DataMap getMonotonicDataMap(String name, DataType dataTyp new MemoryAlignedDataList<>( new PairDataType<>(new LongDataType(), new LongDataType()), new MemoryMappedDirectory(keysDir)), - new AppendOnlyBuffer<>( + new AppendOnlyLog<>( dataType, new MemoryMappedDirectory(valuesDir))); } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyBufferTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java similarity index 86% rename from baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyBufferTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java index 961320750..70554f4c3 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyBufferTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java @@ -22,7 +22,7 @@ import java.util.ArrayList; import java.util.Random; -import org.apache.baremaps.database.collection.AppendOnlyBuffer; +import org.apache.baremaps.database.collection.AppendOnlyLog; import org.apache.baremaps.database.memory.OffHeapMemory; import org.apache.baremaps.database.type.DataType; import org.apache.baremaps.database.type.IntegerDataType; @@ -31,13 +31,13 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; -class AppendOnlyBufferTest { +class AppendOnlyLogTest { @Test void addFixedSizeData() { - var collection = new AppendOnlyBuffer<>(new IntegerDataType(), new OffHeapMemory(1 << 10)); + var collection = new AppendOnlyLog<>(new IntegerDataType(), new OffHeapMemory(1 << 10)); for (int i = 0; i < 1 << 20; i++) { - assertEquals(Long.BYTES + (i << 2), collection.addPositioned(i)); + assertEquals(Long.BYTES + (i << 2), collection.add(i)); } for (int i = 0; i < 1 << 20; i++) { assertEquals(i, collection.read(Long.BYTES + (i << 2))); @@ -46,7 +46,7 @@ void addFixedSizeData() { @Test void addVariableSizeValues() { - var collection = new AppendOnlyBuffer<>(new IntegerListDataType(), new OffHeapMemory(1 << 10)); + var collection = new AppendOnlyLog<>(new IntegerListDataType(), new OffHeapMemory(1 << 10)); var random = new Random(0); var positions = new ArrayList(); var values = new ArrayList>(); @@ -56,7 +56,7 @@ void addVariableSizeValues() { for (int j = 0; j < size; j++) { value.add(random.nextInt(1 << 20)); } - positions.add(collection.addPositioned(value)); + positions.add(collection.add(value)); values.add(value); } for (int i = 0; i < positions.size(); i++) { @@ -69,11 +69,11 @@ void addVariableSizeValues() { @MethodSource("org.apache.baremaps.database.type.DataTypeProvider#dataTypes") void testAllDataTypes(DataType dataType, Object value) { var num = 1000; - var collection = new AppendOnlyBuffer<>(dataType, new OffHeapMemory(1 << 22)); + var collection = new AppendOnlyLog<>(dataType, new OffHeapMemory(1 << 22)); // write values for (int i = 0; i < num; i++) { - collection.addPositioned(value); + collection.add(value); } collection.close(); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/DataListTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/DataListTest.java index d66076710..45c8339dc 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/DataListTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/DataListTest.java @@ -77,7 +77,7 @@ static Stream listProvider() { return Stream.of( Arguments.of(new FixedSizeDataList<>(new LongDataType())), Arguments.of(new IndexedDataList<>(new MemoryAlignedDataList<>(new LongDataType()), - new AppendOnlyBuffer<>(new LongDataType()))), + new AppendOnlyLog<>(new LongDataType()))), Arguments.of(new MemoryAlignedDataList<>(new LongDataType()))); } } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java index 531f85e44..c09203dc5 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java @@ -165,14 +165,14 @@ static Stream mapProvider() { .of( Arguments.of( new IndexedDataMap<>( - new AppendOnlyBuffer<>(new LongDataType(), new OffHeapMemory()))), + new AppendOnlyLog<>(new LongDataType(), new OffHeapMemory()))), 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 AppendOnlyBuffer<>(new LongDataType(), new OffHeapMemory()))), + new AppendOnlyLog<>(new LongDataType(), new OffHeapMemory()))), Arguments.of(new MonotonicPairedDataMap<>(new MemoryAlignedDataList<>( new PairDataType<>(new LongDataType(), new LongDataType()))))); } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/calcite/CalciteTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/calcite/CalciteTest.java index 1a541b701..1a681d8bb 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/calcite/CalciteTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/calcite/CalciteTest.java @@ -24,7 +24,7 @@ import java.sql.*; import java.util.List; import java.util.Properties; -import org.apache.baremaps.database.collection.AppendOnlyBuffer; +import org.apache.baremaps.database.collection.AppendOnlyLog; import org.apache.baremaps.database.collection.IndexedDataList; import org.apache.baremaps.database.schema.*; import org.apache.baremaps.database.schema.DataColumn.Type; @@ -81,7 +81,7 @@ public void test() throws SQLException { new DataColumnImpl("geometry", Type.GEOMETRY))); DataTable cityDataTable = new DataTableImpl( cityRowType, - new IndexedDataList<>(new AppendOnlyBuffer<>(new RowDataType(cityRowType)))); + new IndexedDataList<>(new AppendOnlyLog<>(new RowDataType(cityRowType)))); cityDataTable.add(new DataRowImpl(cityDataTable.rowType(), List.of(1, "Paris", geometryFactory.createPoint(new Coordinate(2.3522, 48.8566))))); cityDataTable.add(new DataRowImpl(cityDataTable.rowType(), @@ -95,7 +95,7 @@ public void test() throws SQLException { new DataColumnImpl("population", Type.INTEGER))); DataTable populationDataTable = new DataTableImpl( populationRowType, - new IndexedDataList<>(new AppendOnlyBuffer<>(new RowDataType(populationRowType)))); + new IndexedDataList<>(new AppendOnlyLog<>(new RowDataType(populationRowType)))); populationDataTable .add(new DataRowImpl(populationDataTable.rowType(), List.of(1, 2_161_000))); populationDataTable diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java index 059e97a70..f5a4208aa 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java @@ -27,7 +27,7 @@ import java.util.Random; import java.util.function.Supplier; import org.apache.baremaps.database.algorithm.ExternalMergeSort; -import org.apache.baremaps.database.collection.AppendOnlyBuffer; +import org.apache.baremaps.database.collection.AppendOnlyLog; import org.apache.baremaps.database.collection.DataList; import org.apache.baremaps.database.collection.IndexedDataList; import org.apache.baremaps.database.collection.MemoryAlignedDataList; @@ -51,7 +51,7 @@ class ExternalMergeSortTest { void before() { supplier = () -> new IndexedDataList<>( new MemoryAlignedDataList<>(new LongDataType(), new OnHeapMemory()), - new AppendOnlyBuffer<>(new StringDataType(), new OnHeapMemory())); + new AppendOnlyLog<>(new StringDataType(), new OnHeapMemory())); input = supplier.get(); output = supplier.get(); for (var string : strings) { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java index 38df3c91a..125b24f09 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java @@ -25,7 +25,7 @@ import java.nio.file.Files; import java.util.List; import java.util.Map; -import org.apache.baremaps.database.collection.AppendOnlyBuffer; +import org.apache.baremaps.database.collection.AppendOnlyLog; import org.apache.baremaps.database.collection.IndexedDataMap; import org.apache.baremaps.database.memory.OnHeapMemory; import org.apache.baremaps.database.type.LongListDataType; @@ -59,9 +59,9 @@ void sample() throws Exception { // Initialize the data maps Map coordinateMap = - new IndexedDataMap<>(new AppendOnlyBuffer<>(new CoordinateDataType(), new OnHeapMemory())); + new IndexedDataMap<>(new AppendOnlyLog<>(new CoordinateDataType(), new OnHeapMemory())); Map> referenceMap = - new IndexedDataMap<>(new AppendOnlyBuffer<>(new LongListDataType(), new OnHeapMemory())); + new IndexedDataMap<>(new AppendOnlyLog<>(new LongListDataType(), new OnHeapMemory())); // Import the sample data ImportOsmPbf.execute(OsmSample.SAMPLE_OSM_PBF, coordinateMap, referenceMap, headerRepository, From 0ecc7f131ed681fa31344639671abf566a49f8b0 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Sat, 4 May 2024 13:53:38 +0200 Subject: [PATCH 03/19] Dissociate the data collection api from the standard library --- .../database/algorithm/BinarySearch.java | 4 +- .../database/algorithm/ExternalMergeSort.java | 4 +- .../database/calcite/SqlDataTable.java | 8 +- .../database/collection/AppendOnlyLog.java | 13 ++- .../database/collection/DataCollection.java | 74 +++++++++++- ...Adapter.java => DataCollectionMapper.java} | 24 ++-- .../database/collection/DataList.java | 18 ++- .../baremaps/database/collection/DataMap.java | 109 ++++++------------ .../collection/FixedSizeDataList.java | 14 +-- .../database/collection/IndexedDataList.java | 16 +-- .../database/collection/IndexedDataMap.java | 22 ++-- ...actDataCollection.java => MapAdapter.java} | 38 +++--- .../collection/MemoryAlignedDataList.java | 4 +- .../collection/MemoryAlignedDataMap.java | 27 +++-- .../database/collection/MonotonicDataMap.java | 30 ++--- .../collection/MonotonicFixedSizeDataMap.java | 24 ++-- .../collection/MonotonicPairedDataMap.java | 26 ++--- .../database/schema/AbstractDataTable.java | 28 ----- .../database/schema/DataTableAdapter.java | 16 +-- .../database/schema/DataTableImpl.java | 29 +++-- .../openstreetmap/xml/XmlEntityReader.java | 14 +-- .../flatgeobuf/FlatGeoBufDataTable.java | 19 +-- .../geopackage/GeoPackageDataTable.java | 10 +- .../storage/postgres/PostgresDataTable.java | 11 +- .../storage/shapefile/ShapefileDataTable.java | 17 +-- .../baremaps/workflow/WorkflowContext.java | 8 +- .../tasks/CreateGeocoderOpenStreetMap.java | 6 +- .../baremaps/database/AppendOnlyLogTest.java | 6 +- .../apache/baremaps/database/DataMapTest.java | 6 +- .../database/sort/ExternalMergeSortTest.java | 2 +- .../baremaps/openstreetmap/OsmTestData.java | 9 +- .../EntityDataTypeGeometryBuilderTest.java | 10 +- .../openstreetmap/store/MockDataMap.java | 90 --------------- .../baremaps/storage/MockDataTable.java | 11 +- .../flatgeobuf/FlatGeoBufDataTableTest.java | 5 +- .../geopackage/GeoPackageDataSchemaTest.java | 2 +- .../geopackage/GeoPackageToPostgresTest.java | 2 +- .../postgres/PostgresDataTableTest.java | 2 +- .../tasks/ImportUpdateSampleTest.java | 9 +- 39 files changed, 349 insertions(+), 418 deletions(-) rename baremaps-core/src/main/java/org/apache/baremaps/database/collection/{DataCollectionAdapter.java => DataCollectionMapper.java} (73%) rename baremaps-core/src/main/java/org/apache/baremaps/database/collection/{AbstractDataCollection.java => MapAdapter.java} (58%) delete mode 100644 baremaps-core/src/main/java/org/apache/baremaps/database/schema/AbstractDataTable.java delete mode 100644 baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/store/MockDataMap.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/BinarySearch.java b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/BinarySearch.java index cc9bf6560..2bd799a71 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/BinarySearch.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/BinarySearch.java @@ -38,7 +38,7 @@ public class BinarySearch { * @param the type of the elements in the list */ public static Long binarySearch(DataList list, E value, Comparator comparator) { - return binarySearch(list, value, comparator, 0, list.sizeAsLong() - 1l); + return binarySearch(list, value, comparator, 0, list.size() - 1l); } /** @@ -87,7 +87,7 @@ public static E binarySearchAttribute( A value, Comparator comparator) { long lo = 0; - long hi = list.sizeAsLong() - 1l; + long hi = list.size() - 1l; while (lo <= hi) { long mi = (lo + hi) >>> 1; E e = list.get(mi); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/ExternalMergeSort.java b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/ExternalMergeSort.java index 270b34e94..6480ab72f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/ExternalMergeSort.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/ExternalMergeSort.java @@ -78,7 +78,7 @@ private static long mergeSortedBatches( new PriorityQueue<>(batches.size(), (i, j) -> comparator.compare(i.peek(), j.peek())); for (DataList input : batches) { - if (input.sizeAsLong() == 0) { + if (input.size() == 0) { continue; } DataStack stack = new DataStack(input); @@ -221,7 +221,7 @@ public DataStack(DataList list) { } public boolean empty() { - return this.index > list.sizeAsLong(); + return this.index > list.size(); } public T peek() { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlDataTable.java index b6e03adca..133ec26e3 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlDataTable.java @@ -17,8 +17,8 @@ package org.apache.baremaps.database.calcite; -import java.util.Collection; -import org.apache.baremaps.database.collection.DataCollectionAdapter; +import org.apache.baremaps.database.collection.DataCollection; +import org.apache.baremaps.database.collection.DataCollectionMapper; import org.apache.baremaps.database.schema.DataColumn; import org.apache.baremaps.database.schema.DataTable; import org.apache.calcite.DataContext; @@ -44,8 +44,8 @@ public SqlDataTable(DataTable table) { @Override public Enumerable scan(final DataContext root) { - Collection collection = - new DataCollectionAdapter<>(table, row -> row.values().toArray()); + DataCollection collection = + new DataCollectionMapper<>(table, row -> row.values().toArray()); return Linq4j.asEnumerable(collection); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java index e3f41709c..ea4cd2db5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java @@ -36,7 +36,7 @@ * * @param The type of the data. */ -public class AppendOnlyLog implements Iterable { +public class AppendOnlyLog implements DataCollection { private final DataType dataType; private final Memory memory; @@ -75,7 +75,7 @@ public AppendOnlyLog(DataType dataType, Memory memory) { * @param value the value * @return the position of the value in the memory. */ - public long add(E value) { + public long addPositioned(E value) { int valueSize = dataType.size(value); if (valueSize > segmentSize) { throw new DataCollectionException("The value is too big to fit in a segment"); @@ -101,6 +101,13 @@ public long add(E value) { return position; } + @Override + public boolean add(E e) { + addPositioned(e); + return true; + } + + /** * Returns a values at the specified position in the memory. * @@ -143,6 +150,7 @@ public void clear() { /** * Returns an iterator over the values of the log. + * * @return an iterator over the values of the log */ @Override @@ -153,6 +161,7 @@ public BufferIterator iterator() { /** * Returns true if the log contains the specified value. + * * @param value the value * @return true if the log contains the specified value */ diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java index f6b46112f..bbf1b316d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java @@ -18,19 +18,81 @@ package org.apache.baremaps.database.collection; import java.util.Collection; +import java.util.Iterator; +import java.util.Spliterator; +import java.util.Spliterators; +import java.util.stream.Stream; +import java.util.stream.StreamSupport; -public interface DataCollection extends Collection { +public interface DataCollection extends Iterable { /** - * Returns the number of values stored in the data store. + * Returns the number of values stored in the data collection. * * @return the number of values */ - long sizeAsLong(); + long size(); - /** {@inheritDoc} */ - default int size() { - return (int) Math.min(sizeAsLong(), Integer.MAX_VALUE); + default boolean isEmpty() { + return size() == 0; } + Iterator iterator(); + + default Spliterator spliterator() { + return Spliterators.spliterator(iterator(), size(), Spliterator.ORDERED); + } + + default Stream stream() { + return StreamSupport.stream(spliterator(), false); + } + + default boolean add(E e) { + throw new UnsupportedOperationException(); + } + + default boolean addAll(Collection c) { + boolean modified = false; + for (E e : c) { + if (add(e)) { + modified = true; + } + } + return modified; + } + + default boolean remove(Object o) { + throw new UnsupportedOperationException(); + } + + default boolean removeAll(Collection c) { + boolean modified = false; + for (Object o : c) { + if (remove(o)) { + modified = true; + } + } + return modified; + } + + default boolean contains(Object o) { + for (E e : this) { + if (e.equals(o)) { + return true; + } + } + return false; + } + + default boolean containsAll(Collection c) { + for (Object o : c) { + if (!contains(o)) { + return false; + } + } + return true; + } + + void clear(); + } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionAdapter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionMapper.java similarity index 73% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionAdapter.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionMapper.java index be04534d4..70b0ecc59 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionAdapter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionMapper.java @@ -24,21 +24,26 @@ /** * A decorator for a table that transforms the geometries of the rows. */ -public class DataCollectionAdapter extends AbstractDataCollection { +public class DataCollectionMapper implements DataCollection { private final DataCollection collection; - private final Function transformer; + private final Function mapper; /** * Constructs a new table decorator. * * @param collection the table to decorate - * @param transformer the row transformer + * @param mapper the row transformer */ - public DataCollectionAdapter(DataCollection collection, Function transformer) { + public DataCollectionMapper(DataCollection collection, Function mapper) { this.collection = collection; - this.transformer = transformer; + this.mapper = mapper; + } + + @Override + public long size() { + return collection.size(); } /** @@ -46,14 +51,11 @@ public DataCollectionAdapter(DataCollection collection, Function transf */ @Override public Iterator iterator() { - return collection.stream().map(this.transformer).iterator(); + return collection.stream().map(this.mapper).iterator(); } - /** - * {@inheritDoc} - */ @Override - public long sizeAsLong() { - return collection.sizeAsLong(); + public void clear() { + collection.clear(); } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java index c6a46d92f..41f08e280 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java @@ -27,7 +27,7 @@ * * @param The type of the data. */ -public abstract class DataList extends AbstractDataCollection { +public interface DataList extends DataCollection { /** * Appends a value to the list and returns its index. @@ -35,13 +35,13 @@ public abstract class DataList extends AbstractDataCollection { * @param value the value * @return the index of the value. */ - public abstract long addIndexed(E value); + long addIndexed(E value); /** * {@inheritDoc} */ @Override - public boolean add(E value) { + default boolean add(E value) { addIndexed(value); return true; } @@ -52,7 +52,7 @@ public boolean add(E value) { * @param index the index * @param value the value */ - public abstract void set(long index, E value); + void set(long index, E value); /** * Returns the value at the specified index. @@ -60,20 +60,16 @@ public boolean add(E value) { * @param index the index * @return the value */ - public abstract E get(long index); + E get(long index); /** {@inheritDoc} */ @Override - public abstract void clear(); - - /** {@inheritDoc} */ - @Override - public Iterator iterator() { + default Iterator iterator() { return new Iterator<>() { private long index = 0; - private long size = sizeAsLong(); + private long size = size(); @Override public boolean hasNext() { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java index 925b002c6..b2d5258e9 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java @@ -18,20 +18,32 @@ package org.apache.baremaps.database.collection; - import com.google.common.collect.Streams; import java.util.*; +import java.util.Map.Entry; /** * An abstract map of data elements that can hold a large number of elements. * * @param The type of the elements. */ -public abstract class DataMap implements Map { +public interface DataMap { - /** {@inheritDoc} */ - @Override - public void putAll(Map m) { + long size(); + + V get(Object key); + + V put(K key, V value); + + V remove(Object key); + + void clear(); + + boolean containsKey(Object key); + + boolean containsValue(Object value); + + default void putAll(Map m) { m.forEach(this::put); } @@ -41,100 +53,51 @@ public void putAll(Map m) { * @param keys the keys * @return the values */ - public List getAll(List keys) { + default List getAll(List keys) { return Streams.stream(keys).map(this::get).toList(); } /** {@inheritDoc} */ - @Override - public boolean isEmpty() { + default boolean isEmpty() { return size() == 0; } - /** - * Returns the size of the map as a long. - * - * @return the size of the map - */ - public abstract long sizeAsLong(); - - /** {@inheritDoc} */ - public int size() { - return (int) Math.min(sizeAsLong(), Integer.MAX_VALUE); - } - /** * Returns an iterator over the keys of the map. * * @return an iterator */ - protected abstract Iterator keyIterator(); - - /** {@inheritDoc} */ - @Override - public Set keySet() { - return new KeySet(); - } - - private class KeySet extends AbstractSet { - @Override - public Iterator iterator() { - return keyIterator(); - } - - @Override - public int size() { - return DataMap.this.size(); - } - } + Iterator keyIterator(); /** * Returns an iterator over the values of the map. * * @return an iterator */ - protected abstract Iterator valueIterator(); - - /** {@inheritDoc} */ - @Override - public Collection values() { - return new ValueCollection(); - } - - private class ValueCollection extends AbstractCollection { - @Override - public Iterator iterator() { - return valueIterator(); - } - - @Override - public int size() { - return DataMap.this.size(); - } - } + Iterator valueIterator(); /** * Returns an iterator over the entries of the map. * * @return an iterator */ - protected abstract Iterator> entryIterator(); + Iterator> entryIterator(); /** {@inheritDoc} */ - @Override - public Set> entrySet() { - return new EntrySet(); + default Set> entrySet() { + int size = (int) size(); + return new AbstractSet<>() { + + @Override + public Iterator> iterator() { + return entryIterator(); + } + + @Override + public int size() { + return size; + } + }; } - private class EntrySet extends AbstractSet> { - @Override - public Iterator> iterator() { - return entryIterator(); - } - - @Override - public int size() { - return DataMap.this.size(); - } - } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java index e48dad64f..a12c9d8fa 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java @@ -19,7 +19,6 @@ -import java.io.IOException; import java.nio.ByteBuffer; import java.util.concurrent.atomic.AtomicLong; import org.apache.baremaps.database.memory.Memory; @@ -33,7 +32,7 @@ * * @param The type of the elements. */ -public class FixedSizeDataList extends DataList { +public class FixedSizeDataList implements DataList { private final FixedSizeDataType dataType; @@ -88,7 +87,7 @@ public long addIndexed(E value) { */ @Override public void set(long index, E value) { - if (index >= sizeAsLong()) { + if (index >= size()) { throw new IndexOutOfBoundsException(); } write(index, value); @@ -110,7 +109,7 @@ public E get(long index) { * {@inheritDoc} */ @Override - public long sizeAsLong() { + public long size() { return size.get(); } @@ -119,11 +118,6 @@ public long sizeAsLong() { */ @Override public void clear() { - try { - size.set(0); - memory.clear(); - } catch (IOException e) { - throw new DataCollectionException(e); - } + size.set(0); } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java index 5bb51c63c..a74dac949 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java @@ -28,7 +28,7 @@ * * @param The type of the elements. */ -public class IndexedDataList extends DataList { +public class IndexedDataList implements DataList { private final DataList index; @@ -60,7 +60,7 @@ public IndexedDataList(DataList index, AppendOnlyLog values) { */ @Override public long addIndexed(E value) { - long position = values.add(value); + long position = values.addPositioned(value); return index.addIndexed(position); } @@ -69,7 +69,7 @@ public long addIndexed(E value) { */ @Override public void set(long index, E value) { - long position = values.add(value); + long position = values.addPositioned(value); this.index.set(index, position); } @@ -82,17 +82,11 @@ public E get(long index) { return values.read(position); } - /** - * {@inheritDoc} - */ @Override - public long sizeAsLong() { - return index.sizeAsLong(); + public long size() { + return index.size(); } - /** - * {@inheritDoc} - */ @Override public void clear() { index.clear(); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java index 610e67ef1..82d33018f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java @@ -23,6 +23,7 @@ import it.unimi.dsi.fastutil.longs.Long2LongOpenHashMap; import java.util.Iterator; import java.util.Map; +import java.util.Map.Entry; /** * A map that can hold a large number of variable size data elements. @@ -31,7 +32,7 @@ * * @param The type of the elements. */ -public class IndexedDataMap extends DataMap { +public class IndexedDataMap implements DataMap { private final Map index; @@ -63,7 +64,7 @@ public IndexedDataMap(Map index, AppendOnlyLog values) { @Override public E put(Long key, E value) { var oldIndex = index.get(key); - var position = values.add(value); + var position = values.addPositioned(value); index.put(key, position); return oldIndex == null ? null : values.read(oldIndex); } @@ -81,7 +82,7 @@ public E get(Object key) { * {@inheritDoc} */ @Override - protected Iterator keyIterator() { + public Iterator keyIterator() { return index.keySet().iterator(); } @@ -89,15 +90,12 @@ protected Iterator keyIterator() { * {@inheritDoc} */ @Override - protected Iterator valueIterator() { + public Iterator valueIterator() { return Streams.stream(keyIterator()).map(this::get).iterator(); } - /** - * {@inheritDoc} - */ @Override - protected Iterator> entryIterator() { + public Iterator> entryIterator() { return Streams.stream(keyIterator()).map(k -> Map.entry(k, get(k))).iterator(); } @@ -113,12 +111,8 @@ public boolean isEmpty() { * {@inheritDoc} */ @Override - public long sizeAsLong() { - if (index instanceof DataMapdataMap) { - return dataMap.sizeAsLong(); - } else { - return index.size(); - } + public long size() { + return index.size(); } /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AbstractDataCollection.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java similarity index 58% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/AbstractDataCollection.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java index 49087b37d..303c9c3cd 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AbstractDataCollection.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java @@ -17,25 +17,33 @@ package org.apache.baremaps.database.collection; +import java.util.AbstractMap; +import java.util.AbstractSet; +import java.util.Iterator; +import java.util.Set; +public class MapAdapter extends AbstractMap { -import java.util.AbstractCollection; - -/** - * An abstract collection of data elements that can hold a large number of elements. - * - * @param The type of the data. - */ -public abstract class AbstractDataCollection extends AbstractCollection - implements DataCollection { + private final DataMap dataMap; + private final int size; + public MapAdapter(DataMap dataMap) { + this.dataMap = dataMap; + this.size = (int) dataMap.size(); + } - /** - * {@inheritDoc} - */ @Override - public int size() { - return (int) Math.min(sizeAsLong(), Integer.MAX_VALUE); + public Set> entrySet() { + return new AbstractSet<>() { + @Override + public Iterator> iterator() { + return dataMap.entryIterator(); + } + + @Override + public int size() { + return size; + } + }; } - } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java index e4afb0060..931ed5368 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java @@ -33,7 +33,7 @@ * * @param The type of the elements. */ -public class MemoryAlignedDataList extends DataList { +public class MemoryAlignedDataList implements DataList { private final FixedSizeDataType dataType; @@ -114,7 +114,7 @@ public E get(long index) { /** {@inheritDoc} */ @Override - public long sizeAsLong() { + public long size() { return size.get(); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java index ee7a4bdbe..db439637e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java @@ -22,6 +22,7 @@ import java.nio.ByteBuffer; import java.util.Iterator; import java.util.Map; +import java.util.Map.Entry; import java.util.NoSuchElementException; import org.apache.baremaps.database.memory.Memory; import org.apache.baremaps.database.type.FixedSizeDataType; @@ -32,7 +33,7 @@ *

* This code has been adapted from Planetiler (Apache license). */ -public class MemoryAlignedDataMap extends DataMap { +public class MemoryAlignedDataMap implements DataMap { private final FixedSizeDataType dataType; @@ -108,12 +109,18 @@ public boolean containsKey(Object keyObject) { /** {@inheritDoc} */ @Override public boolean containsValue(Object value) { - return values().contains(value); + Iterator iterator = valueIterator(); + while (iterator.hasNext()) { + if (iterator.next().equals(value)) { + return true; + } + } + return false; } /** {@inheritDoc} */ @Override - public long sizeAsLong() { + public long size() { return memory.size() / dataType.size(); } @@ -125,12 +132,12 @@ public void clear() { /** {@inheritDoc} */ @Override - protected Iterator keyIterator() { + public Iterator keyIterator() { return new Iterator<>() { private long index = 0; - private long size = sizeAsLong(); + private long size = size(); @Override public boolean hasNext() { @@ -149,12 +156,12 @@ public Long next() { /** {@inheritDoc} */ @Override - protected Iterator valueIterator() { + public Iterator valueIterator() { return new Iterator<>() { private long index = 0; - private long size = sizeAsLong(); + private long size = size(); @Override public boolean hasNext() { @@ -171,14 +178,13 @@ public E next() { }; } - /** {@inheritDoc} */ @Override - protected Iterator> entryIterator() { + public Iterator> entryIterator() { return new Iterator<>() { private long index = 0; - private long size = sizeAsLong(); + private long size = size(); @Override public boolean hasNext() { @@ -195,4 +201,5 @@ public Entry next() { } }; } + } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java index 01f24842d..732a63d21 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java @@ -21,6 +21,7 @@ import java.util.Iterator; import java.util.Map; +import java.util.Map.Entry; import org.apache.baremaps.database.type.LongDataType; import org.apache.baremaps.database.type.PairDataType; import org.apache.baremaps.database.type.PairDataType.Pair; @@ -36,7 +37,7 @@ *

* Copyright (c) Planetiler. */ -public class MonotonicDataMap extends DataMap { +public class MonotonicDataMap implements DataMap { private final DataList offsets; private final DataList> keys; @@ -85,15 +86,15 @@ public MonotonicDataMap(DataList offsets, DataList> keys, /** {@inheritDoc} */ public E put(Long key, E value) { - long index = keys.sizeAsLong(); + long index = keys.size(); long chunk = key >>> 8; if (chunk != lastChunk) { - while (offsets.sizeAsLong() <= chunk) { + while (offsets.size() <= chunk) { offsets.add(index); } lastChunk = chunk; } - long position = values.add(value); + long position = values.addPositioned(value); keys.add(new Pair<>(key, position)); return null; } @@ -102,15 +103,15 @@ public E put(Long key, E value) { public E get(Object keyObject) { long key = (long) keyObject; long chunk = key >>> 8; - if (chunk >= offsets.sizeAsLong()) { + if (chunk >= offsets.size()) { return null; } long lo = offsets.get(chunk); long hi = Math.min( - keys.sizeAsLong(), - chunk >= offsets.sizeAsLong() - 1 - ? keys.sizeAsLong() + keys.size(), + chunk >= offsets.size() - 1 + ? keys.size() : offsets.get(chunk + 1)) - 1; while (lo <= hi) { @@ -131,28 +132,28 @@ public E get(Object keyObject) { /** {@inheritDoc} */ @Override - protected Iterator keyIterator() { + public Iterator keyIterator() { return keys.stream().map(Pair::left).iterator(); } /** {@inheritDoc} */ @Override - protected Iterator valueIterator() { + public Iterator valueIterator() { return keys.stream().map(Pair::right).map(values::read).iterator(); } - /** {@inheritDoc} */ @Override - protected Iterator> entryIterator() { + public Iterator> entryIterator() { return keys.stream() .map(p -> Map.entry(p.left(), values.read(p.right()))) .iterator(); } + /** {@inheritDoc} */ @Override - public long sizeAsLong() { - return keys.sizeAsLong(); + public long size() { + return keys.size(); } /** {@inheritDoc} */ @@ -180,4 +181,5 @@ public void clear() { keys.clear(); values.clear(); } + } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java index 88db61cd7..dfd99409e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java @@ -22,6 +22,7 @@ import com.google.common.collect.Streams; import java.util.Iterator; import java.util.Map; +import java.util.Map.Entry; import org.apache.baremaps.database.type.LongDataType; /** @@ -35,7 +36,7 @@ *

* Copyright (c) Planetiler. */ -public class MonotonicFixedSizeDataMap extends DataMap { +public class MonotonicFixedSizeDataMap implements DataMap { private final DataList offsets; private final DataList keys; @@ -76,8 +77,8 @@ public E get(Object keyObject) { return null; } long lo = offsets.get(chunk); - long hi = Math.min(keys.sizeAsLong(), - chunk >= offsets.sizeAsLong() - 1 ? keys.sizeAsLong() : offsets.get(chunk + 1)) - 1; + long hi = Math.min(keys.size(), + chunk >= offsets.size() - 1 ? keys.size() : offsets.get(chunk + 1)) - 1; while (lo <= hi) { long index = (lo + hi) >>> 1; long value = keys.get(index); @@ -94,10 +95,10 @@ public E get(Object keyObject) { /** {@inheritDoc} */ public E put(Long key, E value) { - long size = keys.sizeAsLong(); + long size = keys.size(); long chunk = key >>> 8; if (chunk != lastChunk) { - while (offsets.sizeAsLong() <= chunk) { + while (offsets.size() <= chunk) { offsets.add(size); } lastChunk = chunk; @@ -115,8 +116,8 @@ public E remove(Object key) { /** {@inheritDoc} */ @Override - public long sizeAsLong() { - return keys.sizeAsLong(); + public long size() { + return keys.size(); } /** {@inheritDoc} */ @@ -133,23 +134,23 @@ public boolean containsValue(Object value) { /** {@inheritDoc} */ @Override - protected Iterator keyIterator() { + public Iterator keyIterator() { return keys.iterator(); } /** {@inheritDoc} */ @Override - protected Iterator valueIterator() { + public Iterator valueIterator() { return values.iterator(); } /** {@inheritDoc} */ @Override - protected Iterator> entryIterator() { + public Iterator> entryIterator() { return Streams.zip( Streams.stream(keyIterator()), Streams.stream(valueIterator()), - (k, v) -> Map.entry(k, v)).iterator(); + Map::entry).iterator(); } /** {@inheritDoc} */ @@ -159,4 +160,5 @@ public void clear() { keys.clear(); values.clear(); } + } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java index d5bbf7d1c..113946023 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java @@ -21,6 +21,7 @@ import java.util.Iterator; import java.util.Map; +import java.util.Map.Entry; import org.apache.baremaps.database.type.LongDataType; import org.apache.baremaps.database.type.PairDataType.Pair; @@ -29,7 +30,7 @@ * their key and inserted in a monotonic way. The elements cannot be removed or updated once * inserted. */ -public class MonotonicPairedDataMap extends DataMap { +public class MonotonicPairedDataMap implements DataMap { private final DataList offsets; private final MemoryAlignedDataList> values; @@ -54,10 +55,10 @@ public MonotonicPairedDataMap(DataList offsets, /** {@inheritDoc} */ public E put(Long key, E value) { - long index = values.sizeAsLong(); + long index = values.size(); long chunk = key >>> 8; if (chunk != lastChunk) { - while (offsets.sizeAsLong() <= chunk) { + while (offsets.size() <= chunk) { offsets.add(index); } lastChunk = chunk; @@ -70,15 +71,15 @@ public E put(Long key, E value) { public E get(Object keyObject) { long key = (long) keyObject; long chunk = key >>> 8; - if (chunk >= offsets.sizeAsLong()) { + if (chunk >= offsets.size()) { return null; } long lo = offsets.get(chunk); long hi = Math.min( - values.sizeAsLong(), - chunk >= offsets.sizeAsLong() - 1 - ? values.sizeAsLong() + values.size(), + chunk >= offsets.size() - 1 + ? values.size() : offsets.get(chunk + 1)) - 1; while (lo <= hi) { @@ -99,19 +100,18 @@ public E get(Object keyObject) { /** {@inheritDoc} */ @Override - protected Iterator keyIterator() { + public Iterator keyIterator() { return values.stream().map(Pair::left).iterator(); } /** {@inheritDoc} */ @Override - protected Iterator valueIterator() { + public Iterator valueIterator() { return values.stream().map(Pair::right).iterator(); } - /** {@inheritDoc} */ @Override - protected Iterator> entryIterator() { + public Iterator> entryIterator() { return values.stream() .map(p -> Map.entry(p.left(), p.right())) .iterator(); @@ -119,8 +119,8 @@ protected Iterator> entryIterator() { /** {@inheritDoc} */ @Override - public long sizeAsLong() { - return values.sizeAsLong(); + public long size() { + return values.size(); } /** {@inheritDoc} */ diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/AbstractDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/database/schema/AbstractDataTable.java deleted file mode 100644 index d777dd44e..000000000 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/AbstractDataTable.java +++ /dev/null @@ -1,28 +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.baremaps.database.schema; - -import org.apache.baremaps.database.collection.AbstractDataCollection; - -/** - * A table is a collection of rows respecting a row type. - */ -public abstract class AbstractDataTable extends AbstractDataCollection - implements DataTable { - -} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableAdapter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableAdapter.java index cfc73d2ab..7b248f562 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableAdapter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableAdapter.java @@ -20,12 +20,11 @@ import java.util.Iterator; import java.util.function.Function; -import org.apache.baremaps.database.collection.AbstractDataCollection; /** * A decorator for a table that transforms the geometries of the rows. */ -public class DataTableAdapter extends AbstractDataCollection implements DataTable { +public class DataTableAdapter implements DataTable { private final DataTable table; @@ -50,6 +49,11 @@ public DataRowType rowType() { return table.rowType(); } + @Override + public long size() { + return table.size(); + } + /** * {@inheritDoc} */ @@ -58,11 +62,9 @@ public Iterator iterator() { return table.stream().map(this.transformer).iterator(); } - /** - * {@inheritDoc} - */ @Override - public long sizeAsLong() { - return table.sizeAsLong(); + public void clear() { + table.clear(); } + } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableImpl.java b/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableImpl.java index 2f628a8c3..e0fd6c5f8 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableImpl.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableImpl.java @@ -17,19 +17,17 @@ package org.apache.baremaps.database.schema; -import java.util.Collection; import java.util.Iterator; -import org.apache.baremaps.database.collection.AbstractDataCollection; import org.apache.baremaps.database.collection.DataCollection; /** * A table is a collection of rows respecting a row type. */ -public class DataTableImpl extends AbstractDataCollection implements DataTable { +public class DataTableImpl implements DataTable { private final DataRowType rowType; - private final Collection rows; + private final DataCollection rows; /** * Constructs a table with the specified row type. @@ -37,7 +35,7 @@ public class DataTableImpl extends AbstractDataCollection implements Da * @param rowType the row type of the table * @param rows the collection of rows */ - public DataTableImpl(DataRowType rowType, Collection rows) { + public DataTableImpl(DataRowType rowType, DataCollection rows) { this.rowType = rowType; this.rows = rows; } @@ -58,23 +56,22 @@ public boolean add(DataRow e) { return rows.add(e); } - /** - * {@inheritDoc} - */ @Override - public Iterator iterator() { - return rows.iterator(); + public void clear() { + rows.clear(); + } + + @Override + public long size() { + return rows.size(); } /** * {@inheritDoc} */ @Override - public long sizeAsLong() { - if (rows instanceof DataCollectiondataCollection) { - return dataCollection.sizeAsLong(); - } else { - return rows.size(); - } + public Iterator iterator() { + return rows.iterator(); } + } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java index e3afb5f75..40e1bd44d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java @@ -23,9 +23,9 @@ import java.io.InputStream; import java.util.List; +import java.util.Map; import java.util.stream.Stream; import java.util.stream.StreamSupport; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.OsmReader; import org.apache.baremaps.openstreetmap.function.CoordinateMapBuilder; import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder; @@ -41,9 +41,9 @@ public class XmlEntityReader implements OsmReader { private int srid = 4326; - private DataMap coordinateMap; + private Map coordinateMap; - private DataMap> referenceMap; + private Map> referenceMap; public boolean geometries() { return geometry; @@ -63,20 +63,20 @@ public XmlEntityReader projection(int srid) { return this; } - public DataMap coordinateMap() { + public Map coordinateMap() { return coordinateMap; } - public XmlEntityReader coordinateMap(DataMap coordinateMap) { + public XmlEntityReader coordinateMap(Map coordinateMap) { this.coordinateMap = coordinateMap; return this; } - public DataMap> referenceMap() { + public Map> referenceMap() { return referenceMap; } - public XmlEntityReader referenceMap(DataMap> referenceMap) { + public XmlEntityReader referenceMap(Map> referenceMap) { this.referenceMap = referenceMap; return this; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java index fe3238b4a..c30680aa7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java @@ -24,13 +24,12 @@ import java.nio.channels.*; import java.nio.file.Path; import java.nio.file.StandardOpenOption; -import java.util.Collection; import java.util.Iterator; import java.util.NoSuchElementException; -import org.apache.baremaps.database.collection.AbstractDataCollection; -import org.apache.baremaps.database.schema.AbstractDataTable; +import org.apache.baremaps.database.collection.DataCollection; import org.apache.baremaps.database.schema.DataRow; import org.apache.baremaps.database.schema.DataRowType; +import org.apache.baremaps.database.schema.DataTable; import org.locationtech.jts.geom.*; import org.wololo.flatgeobuf.Constants; import org.wololo.flatgeobuf.GeometryConversions; @@ -42,7 +41,7 @@ /** * A table that stores rows in a flatgeobuf file. */ -public class FlatGeoBufDataTable extends AbstractDataTable { +public class FlatGeoBufDataTable implements DataTable { private final Path file; @@ -118,11 +117,16 @@ public Iterator iterator() { } } + @Override + public void clear() { + + } + /** * {@inheritDoc} */ @Override - public long sizeAsLong() { + public long size() { try (var channel = FileChannel.open(file, StandardOpenOption.READ)) { var buffer = ByteBuffer.allocate(1 << 20).order(ByteOrder.LITTLE_ENDIAN); HeaderMeta headerMeta = readHeaderMeta(channel, buffer); @@ -153,7 +157,7 @@ private static HeaderMeta readHeaderMeta(SeekableByteChannel channel, ByteBuffer * @param features the collection of rows to write * @throws IOException if an error occurs while writing the rows */ - public void write(Collection features) throws IOException { + public void write(DataCollection features) throws IOException { try ( var channel = FileChannel.open(file, StandardOpenOption.CREATE, StandardOpenOption.WRITE); var outputStream = Channels.newOutputStream(channel)) { @@ -165,8 +169,7 @@ public void write(Collection features) throws IOException { headerMeta.geometryType = GeometryType.Unknown; headerMeta.indexNodeSize = 16; headerMeta.srid = 3857; - headerMeta.featuresCount = - features instanceof AbstractDataCollectionc ? c.sizeAsLong() : features.size(); + headerMeta.featuresCount = features.size(); headerMeta.name = rowType.name(); headerMeta.columns = FlatGeoBufTypeConversion.asColumns(rowType.columns()); HeaderMeta.write(headerMeta, outputStream, bufferBuilder); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java index e59e4f20c..90cd8bd96 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java @@ -23,7 +23,6 @@ import mil.nga.geopackage.features.user.FeatureDao; import mil.nga.geopackage.features.user.FeatureResultSet; import mil.nga.geopackage.geom.GeoPackageGeometryData; -import org.apache.baremaps.database.collection.AbstractDataCollection; import org.apache.baremaps.database.schema.*; import org.apache.baremaps.database.schema.DataColumn.Type; import org.locationtech.jts.geom.*; @@ -31,7 +30,7 @@ /** * A table that stores rows in a GeoPackage table. */ -public class GeoPackageDataTable extends AbstractDataCollection implements DataTable { +public class GeoPackageDataTable implements DataTable { private final FeatureDao featureDao; @@ -73,11 +72,16 @@ public Iterator iterator() { return new GeopackageIterator(featureDao.queryForAll(), rowType); } + @Override + public void clear() { + // Do nothing + } + /** * {@inheritDoc} */ @Override - public long sizeAsLong() { + public long size() { return featureDao.count(); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java index 52083dc0e..b0ed666d6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java @@ -23,17 +23,17 @@ import java.util.stream.Stream; import java.util.stream.StreamSupport; import javax.sql.DataSource; -import org.apache.baremaps.database.schema.AbstractDataTable; import org.apache.baremaps.database.schema.DataRow; import org.apache.baremaps.database.schema.DataRowImpl; import org.apache.baremaps.database.schema.DataRowType; +import org.apache.baremaps.database.schema.DataTable; import org.apache.baremaps.utils.GeometryUtils; import org.locationtech.jts.geom.*; /** * A table that stores rows in a Postgres table. */ -public class PostgresDataTable extends AbstractDataTable { +public class PostgresDataTable implements DataTable { private final DataSource dataSource; @@ -73,7 +73,7 @@ public Stream stream() { * {@inheritDoc} */ @Override - public long sizeAsLong() { + public long size() { var countQuery = count(rowType); try (var connection = dataSource.getConnection(); var statement = connection.prepareStatement(countQuery); @@ -126,6 +126,11 @@ public boolean addAll(Collection rows) { } } + @Override + public void clear() { + + } + /** * Set the parameters of a prepared statement with the values of a row. * diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java index 412b19ca5..50fe5aa24 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java @@ -22,9 +22,9 @@ import java.nio.file.Path; import java.util.Iterator; import java.util.NoSuchElementException; -import org.apache.baremaps.database.schema.AbstractDataTable; import org.apache.baremaps.database.schema.DataRow; import org.apache.baremaps.database.schema.DataRowType; +import org.apache.baremaps.database.schema.DataTable; import org.apache.baremaps.database.schema.DataTableException; import org.apache.baremaps.storage.shapefile.internal.ShapefileInputStream; import org.apache.baremaps.storage.shapefile.internal.ShapefileReader; @@ -34,7 +34,7 @@ /** * A table that stores rows in a shapefile. */ -public class ShapefileDataTable extends AbstractDataTable { +public class ShapefileDataTable implements DataTable { private static final Logger logger = LoggerFactory.getLogger(ShapefileDataTable.class); @@ -61,6 +61,11 @@ public DataRowType rowType() throws DataTableException { } } + @Override + public long size() { + return 0; + } + /** * {@inheritDoc} */ @@ -73,14 +78,10 @@ public Iterator iterator() { } } - /** - * {@inheritDoc} - */ @Override - public long sizeAsLong() { - return Long.MAX_VALUE; - } + public void clear() { + } /** * An iterator over the rows of a shapefile. 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 b16f52f6c..66daaac0c 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 @@ -64,12 +64,12 @@ public DataSource getDataSource(Object database) { return dataSources.computeIfAbsent(database, PostgresUtils::createDataSourceFromObject); } - public DataMap getCoordinateMap() throws IOException { - return getMemoryAlignedDataMap("coordinates", new LonLatDataType()); + public Map getCoordinateMap() throws IOException { + return new MapAdapter<>(getMemoryAlignedDataMap("coordinates", new LonLatDataType())); } - public DataMap> getReferenceMap() throws IOException { - return getMonotonicDataMap("references", new LongListDataType()); + public Map> getReferenceMap() throws IOException { + return new MapAdapter<>(getMonotonicDataMap("references", new LongListDataType())); } public DataMap getMemoryAlignedDataMap(String name, FixedSizeDataType dataType) diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java index 347fd7940..e0c0f87e0 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java @@ -21,8 +21,8 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.List; +import java.util.Map; import java.util.StringJoiner; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.geocoder.GeocoderConstants; import org.apache.baremaps.geocoderosm.GeocoderOsmConsumerEntity; import org.apache.baremaps.openstreetmap.pbf.PbfEntityReader; @@ -86,8 +86,8 @@ public void execute(WorkflowContext context) throws Exception { public static void execute( Path path, - DataMap coordinateMap, - DataMap> referenceMap, + Map coordinateMap, + Map> referenceMap, GeocoderOsmConsumerEntity importer) throws IOException { // configure the block reader diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java index 70554f4c3..140b94ce3 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java @@ -37,7 +37,7 @@ class AppendOnlyLogTest { void addFixedSizeData() { var collection = new AppendOnlyLog<>(new IntegerDataType(), new OffHeapMemory(1 << 10)); for (int i = 0; i < 1 << 20; i++) { - assertEquals(Long.BYTES + (i << 2), collection.add(i)); + assertEquals(Long.BYTES + (i << 2), collection.addPositioned(i)); } for (int i = 0; i < 1 << 20; i++) { assertEquals(i, collection.read(Long.BYTES + (i << 2))); @@ -56,7 +56,7 @@ void addVariableSizeValues() { for (int j = 0; j < size; j++) { value.add(random.nextInt(1 << 20)); } - positions.add(collection.add(value)); + positions.add(collection.addPositioned(value)); values.add(value); } for (int i = 0; i < positions.size(); i++) { @@ -73,7 +73,7 @@ void testAllDataTypes(DataType dataType, Object value) { // write values for (int i = 0; i < num; i++) { - collection.add(value); + collection.addPositioned(value); } collection.close(); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java index c09203dc5..d3bdd2636 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java @@ -105,7 +105,7 @@ void keySet(DataMap map) { set.add(i); map.put(i, i); } - var res = map.keySet(); + var res = new MapAdapter<>(map).keySet(); assertEquals(set, res); } @@ -117,7 +117,7 @@ void valueSet(DataMap map) { set.add(i); map.put(i, i); } - assertEquals(set, new HashSet(map.values())); + assertEquals(set, new HashSet(new MapAdapter<>(map).values())); } @ParameterizedTest @@ -156,7 +156,7 @@ void map(DataMap map) { assertEquals(15l, map.get(15l)); assertEquals(20l, map.get(20l)); - assertEquals(Set.of(10l, 15l, 20l), map.keySet());; + assertEquals(Set.of(10l, 15l, 20l), new MapAdapter<>(map).keySet());; } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java index f5a4208aa..c8a290692 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java @@ -61,7 +61,7 @@ void before() { public List stringList(DataList list) { var l = new ArrayList(); - for (long i = 0; i < list.sizeAsLong(); i++) { + for (long i = 0; i < list.size(); i++) { l.add(list.get(i)); } return l; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java index ac228a082..775212d3e 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java @@ -29,7 +29,6 @@ import org.apache.baremaps.openstreetmap.model.Element; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.pbf.PbfEntityReader; -import org.apache.baremaps.openstreetmap.store.MockDataMap; import org.apache.baremaps.openstreetmap.xml.XmlEntityReader; import org.apache.baremaps.testing.TestFiles; import org.apache.baremaps.utils.RoundingTransformer; @@ -70,13 +69,13 @@ private Stream createDynamicTest(OsmTest osmTest) { String.format(displayNameFormat, osmTest.getId(), "pbf", osmTest.getDescription()); return Stream.builder() .add(DynamicTest.dynamicTest(xmlDisplayName, () -> runTest(osmTest, new XmlEntityReader() - .coordinateMap(new MockDataMap<>()) - .referenceMap(new MockDataMap<>()) + .coordinateMap(new HashMap<>()) + .referenceMap(new HashMap<>()) .geometries(true) .stream(Files.newInputStream(osmTest.getOsmXml()))))) .add(DynamicTest.dynamicTest(pbfDisplayName, () -> runTest(osmTest, new PbfEntityReader() - .coordinateMap(new MockDataMap<>()) - .referenceMap(new MockDataMap<>()) + .coordinateMap(new HashMap<>()) + .referenceMap(new HashMap<>()) .geometries(true) .stream(Files.newInputStream(osmTest.getOsmPbf()))))) .build(); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java index c9fb84f3d..1fc7cc8fc 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java @@ -23,9 +23,10 @@ import com.google.common.collect.ImmutableMap; import java.time.LocalDateTime; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; -import org.apache.baremaps.database.collection.DataMap; import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder; import org.apache.baremaps.openstreetmap.model.Info; import org.apache.baremaps.openstreetmap.model.Member; @@ -33,7 +34,6 @@ import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; import org.apache.baremaps.openstreetmap.model.Way; -import org.apache.baremaps.openstreetmap.store.MockDataMap; import org.apache.baremaps.utils.CRSUtils; import org.junit.jupiter.api.Test; import org.locationtech.jts.geom.Coordinate; @@ -110,7 +110,7 @@ public ProjCoordinate transform(ProjCoordinate src, ProjCoordinate tgt) throws P static final Node NODE_15 = new Node(15L, INFO, ImmutableMap.of(), 3d, 1d); - static final DataMap COORDINATE_CACHE = new MockDataMap(Arrays + static final Map COORDINATE_CACHE = new HashMap<>(Arrays .asList(NODE_0, NODE_1, NODE_2, NODE_3, NODE_4, NODE_5, NODE_6, NODE_7, NODE_8, NODE_9, NODE_10, NODE_11, NODE_12, NODE_13, NODE_14, NODE_15) .stream() @@ -132,8 +132,8 @@ public ProjCoordinate transform(ProjCoordinate src, ProjCoordinate tgt) throws P static final Way WAY_5 = new Way(5L, INFO, ImmutableMap.of(), ImmutableList.of(12L, 13L, 14L, 15L, 12L)); - static final DataMap> REFERENCE_CACHE = - new MockDataMap(Arrays.asList(WAY_0, WAY_1, WAY_2, WAY_3, WAY_4, WAY_5).stream() + static final Map> REFERENCE_CACHE = + new HashMap<>(Arrays.asList(WAY_0, WAY_1, WAY_2, WAY_3, WAY_4, WAY_5).stream() .collect(Collectors.toMap(w -> w.getId(), w -> w.getNodes()))); static final Relation RELATION_0 = new Relation(0L, INFO, ImmutableMap.of(), List.of()); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/store/MockDataMap.java b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/store/MockDataMap.java deleted file mode 100644 index f1059b504..000000000 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/store/MockDataMap.java +++ /dev/null @@ -1,90 +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.baremaps.openstreetmap.store; - - - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import org.apache.baremaps.database.collection.DataMap; -import org.jetbrains.annotations.Nullable; - -public class MockDataMap extends DataMap { - - private final Map values; - - public MockDataMap() { - this.values = new HashMap<>(); - } - - public MockDataMap(Map values) { - this.values = values; - } - - @Override - protected Iterator keyIterator() { - return values.keySet().iterator(); - } - - @Override - protected Iterator valueIterator() { - return values.values().iterator(); - } - - @Override - protected Iterator> entryIterator() { - return values.entrySet().iterator(); - } - - @Override - public long sizeAsLong() { - return values.size(); - } - - @Override - public boolean containsKey(Object key) { - return values.containsKey(key); - } - - @Override - public boolean containsValue(Object value) { - return values.containsValue(value); - } - - @Override - public T get(Object key) { - return values.get(key); - } - - @Nullable - @Override - public T put(K key, T value) { - return values.put(key, value); - } - - @Override - public T remove(Object key) { - return values.remove(key); - } - - @Override - public void clear() { - values.clear(); - } -} diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java index 2ae48bc9f..126558a53 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java @@ -25,7 +25,7 @@ import org.apache.baremaps.database.schema.DataColumn.Type; import org.locationtech.jts.geom.Coordinate; -public class MockDataTable extends AbstractDataTable { +public class MockDataTable implements DataTable { private final DataRowType rowType; @@ -51,14 +51,19 @@ public MockDataTable() { List.of("string", 5, 5.0, 5.0f, GEOMETRY_FACTORY.createPoint(new Coordinate(5, 5))))); } + @Override + public long size() { + return rows.size(); + } + @Override public Iterator iterator() { return rows.iterator(); } @Override - public long sizeAsLong() { - return rows.size(); + public void clear() { + rows.clear(); } @Override diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java index 6b886f511..9d0940071 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java @@ -37,7 +37,7 @@ void rowType() throws IOException { @Test void read() throws IOException { var table = new FlatGeoBufDataTable(TestFiles.resolve("data/countries.fgb")); - assertEquals(179, table.sizeAsLong()); + assertEquals(179, table.size()); assertEquals(179, table.stream().count()); } @@ -46,9 +46,8 @@ void write() throws IOException { var file = Files.createTempFile("countries", ".fgb"); file.toFile().deleteOnExit(); var table1 = new FlatGeoBufDataTable(TestFiles.resolve("data/countries.fgb")); - var rows = table1.stream().toList(); var table2 = new FlatGeoBufDataTable(file, table1.rowType()); - table2.write(rows); + table2.write(table1); var featureSet = new FlatGeoBufDataTable(file); assertEquals(179, featureSet.stream().count()); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java index 57d037d85..b8a5c8ade 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java @@ -37,7 +37,7 @@ void rowType() { void read() { var geoPackageStore = new GeoPackageDataSchema(TestFiles.resolve("data/countries.gpkg")); var table = geoPackageStore.get("countries"); - assertEquals(179, table.sizeAsLong()); + assertEquals(179, table.size()); assertEquals(179, table.stream().count()); } } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java index caff9cb44..b1df66872 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java @@ -42,7 +42,7 @@ void schema() { var postgresTable = postgresStore.get("countries"); assertEquals("countries", postgresTable.rowType().name()); assertEquals(4, postgresTable.rowType().columns().size()); - assertEquals(179l, postgresTable.sizeAsLong()); + assertEquals(179l, postgresTable.size()); assertEquals(179l, postgresTable.stream().count()); } } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java index 9cb99765a..17d5f7897 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java @@ -51,7 +51,7 @@ void iterator() { @Tag("integration") void sizeAsLong() { var table = schema.get("mock"); - assertEquals(5, table.sizeAsLong()); + assertEquals(5, table.size()); } @Test diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java index 125b24f09..dd019048a 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java @@ -27,6 +27,7 @@ import java.util.Map; import org.apache.baremaps.database.collection.AppendOnlyLog; import org.apache.baremaps.database.collection.IndexedDataMap; +import org.apache.baremaps.database.collection.MapAdapter; import org.apache.baremaps.database.memory.OnHeapMemory; import org.apache.baremaps.database.type.LongListDataType; import org.apache.baremaps.database.type.geometry.CoordinateDataType; @@ -58,10 +59,10 @@ void sample() throws Exception { PostgresRelationRepository relationRepository = new PostgresRelationRepository(dataSource()); // Initialize the data maps - Map coordinateMap = - new IndexedDataMap<>(new AppendOnlyLog<>(new CoordinateDataType(), new OnHeapMemory())); - Map> referenceMap = - new IndexedDataMap<>(new AppendOnlyLog<>(new LongListDataType(), new OnHeapMemory())); + Map coordinateMap = new MapAdapter<>( + new IndexedDataMap<>(new AppendOnlyLog<>(new CoordinateDataType(), new OnHeapMemory()))); + Map> referenceMap = new MapAdapter<>( + new IndexedDataMap<>(new AppendOnlyLog<>(new LongListDataType(), new OnHeapMemory()))); // Import the sample data ImportOsmPbf.execute(OsmSample.SAMPLE_OSM_PBF, coordinateMap, referenceMap, headerRepository, From 074b9d3af1ef04b50e64a511a253ff960a6b6770 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Sat, 4 May 2024 18:34:10 +0200 Subject: [PATCH 04/19] Add utility class for conversions --- .../database/collection/AppendOnlyLog.java | 10 +- .../database/collection/DataCollection.java | 26 +++++ .../database/collection/DataConversions.java | 110 ++++++++++++++++++ .../baremaps/database/collection/DataMap.java | 70 ++++++++--- .../database/collection/IndexedDataList.java | 6 + .../database/collection/IndexedDataMap.java | 2 +- .../database/collection/MapAdapter.java | 24 ---- .../collection/MemoryAlignedDataMap.java | 2 +- .../database/collection/MonotonicDataMap.java | 2 +- .../collection/MonotonicFixedSizeDataMap.java | 2 +- .../collection/MonotonicPairedDataMap.java | 2 +- .../baremaps/workflow/WorkflowContext.java | 4 +- .../baremaps/database/AppendOnlyLogTest.java | 1 - .../apache/baremaps/database/DataMapTest.java | 6 +- .../tasks/ImportUpdateSampleTest.java | 6 +- 15 files changed, 213 insertions(+), 60 deletions(-) create mode 100644 baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java index ea4cd2db5..55664d7e5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java @@ -101,6 +101,9 @@ public long addPositioned(E value) { return position; } + /** + * {@inheritDoc} + */ @Override public boolean add(E e) { addPositioned(e); @@ -130,13 +133,6 @@ public long size() { return size; } - /** - * Closes the log. - */ - public void close() { - memory.segment(0).putLong(0, size); - } - /** * Clears the log. */ diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java index bbf1b316d..cbc7afc18 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java @@ -33,20 +33,46 @@ public interface DataCollection extends Iterable { */ long size(); + /** + * Returns true if the data collection is empty. + * + * @return true if the data collection is empty + */ default boolean isEmpty() { return size() == 0; } + /** + * Returns an iterator over the elements in the data collection. + * + * @return an iterator + */ Iterator iterator(); + /** + * Returns a spliterator over the elements in the data collection. + * + * @return a spliterator + */ default Spliterator spliterator() { return Spliterators.spliterator(iterator(), size(), Spliterator.ORDERED); } + /** + * Returns a stream over the elements in the data collection. + * + * @return a stream + */ default Stream stream() { return StreamSupport.stream(spliterator(), false); } + /** + * Adds a value to the data collection. + * + * @param e the value to add + * @return true if the data collection has been modified + */ default boolean add(E e) { throw new UnsupportedOperationException(); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java new file mode 100644 index 000000000..0d2e6d8e5 --- /dev/null +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java @@ -0,0 +1,110 @@ +package org.apache.baremaps.database.collection; + +import java.util.*; +import java.util.Map.Entry; + +public class DataConversions { + + public static Map asMap(DataMap dataMap) { + if (dataMap instanceof DataMapAdapter adapter) { + return adapter.map; + } else { + return new MapAdapter<>(dataMap); + } + } + + public static DataMap asDataMap(Map map) { + if (map instanceof MapAdapter adapter) { + return adapter.map; + } else { + return new DataMapAdapter<>(map); + } + } + + public static class MapAdapter extends AbstractMap { + + private final DataMap map; + private final int size; + + public MapAdapter(DataMap dataMap) { + this.map = dataMap; + this.size = (int) dataMap.size(); + } + + @Override + public Set> entrySet() { + return new AbstractSet<>() { + @Override + public Iterator> iterator() { + return map.entryIterator(); + } + + @Override + public int size() { + return size; + } + }; + } + } + + public static class DataMapAdapter implements DataMap { + + private final Map map; + + public DataMapAdapter(Map map) { + this.map = map; + } + + + @Override + public long size() { + return map.size(); + } + + @Override + public V get(Object key) { + return map.get(key); + } + + @Override + public V put(K key, V value) { + return map.put(key, value); + } + + @Override + public V remove(K key) { + return map.remove(key); + } + + @Override + public boolean containsKey(Object key) { + return map.containsKey(key); + } + + @Override + public boolean containsValue(V value) { + return map.containsValue(value); + } + + @Override + public void clear() { + map.clear(); + } + + @Override + public Iterator keyIterator() { + return map.keySet().iterator(); + } + + @Override + public Iterator valueIterator() { + return map.values().iterator(); + } + + @Override + public Iterator> entryIterator() { + return map.entrySet().iterator(); + } + } + +} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java index b2d5258e9..3fab02391 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java @@ -29,24 +29,21 @@ */ public interface DataMap { + /** + * Returns the number of values stored in the data map. + * + * @return the number of values + */ long size(); + /** + * Returns the value associated with the specified key or null if the key is not present. + * + * @param key the key + * @return the value + */ V get(Object key); - V put(K key, V value); - - V remove(Object key); - - void clear(); - - boolean containsKey(Object key); - - boolean containsValue(Object value); - - default void putAll(Map m) { - m.forEach(this::put); - } - /** * Returns the value associated with the specified key or null if the key is not present. * @@ -57,7 +54,50 @@ default List getAll(List keys) { return Streams.stream(keys).map(this::get).toList(); } - /** {@inheritDoc} */ + /** + * Associates the specified value with the specified key in the map. + * + * @param key the key + * @param value the value + * @return the previous value associated with the key, or null if there was no mapping for the + * key. + */ + V put(K key, V value); + + /** + * Removes the mapping for the specified key from the map if present. + * + * @param key the key + * @return the previous value associated with the key, or null if there was no mapping for the + * key. + */ + V remove(K key); + + /** + * Returns true if the map contains a mapping for the specified key. + * + * @param key the key + * @return true if the map contains a mapping for the key + */ + boolean containsKey(Object key); + + /** + * Returns true if the map contains a mapping for the specified value. + * + * @param value the value + * @return true if the map contains a mapping for the value + */ + boolean containsValue(V value); + + /** + * Clears the map. + */ + void clear(); + + /** + * Returns true if the map contains no elements. + * @return true if the map contains no elements + */ default boolean isEmpty() { return size() == 0; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java index a74dac949..0fe655472 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java @@ -82,11 +82,17 @@ public E get(long index) { return values.read(position); } + /** + * {@inheritDoc} + */ @Override public long size() { return index.size(); } + /** + * {@inheritDoc} + */ @Override public void clear() { index.clear(); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java index 82d33018f..4e1655dbb 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java @@ -135,7 +135,7 @@ public boolean containsValue(Object value) { * {@inheritDoc} */ @Override - public E remove(Object key) { + public E remove(Long key) { return values.read(index.remove(key)); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java index 303c9c3cd..fdeef4778 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java @@ -22,28 +22,4 @@ import java.util.Iterator; import java.util.Set; -public class MapAdapter extends AbstractMap { - private final DataMap dataMap; - private final int size; - - public MapAdapter(DataMap dataMap) { - this.dataMap = dataMap; - this.size = (int) dataMap.size(); - } - - @Override - public Set> entrySet() { - return new AbstractSet<>() { - @Override - public Iterator> iterator() { - return dataMap.entryIterator(); - } - - @Override - public int size() { - return size; - } - }; - } -} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java index db439637e..3cbd3f4f7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java @@ -92,7 +92,7 @@ public E get(Object key) { /** {@inheritDoc} */ @Override - public E remove(Object key) { + public E remove(Long key) { throw new UnsupportedOperationException(); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java index 732a63d21..21d22beac 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java @@ -170,7 +170,7 @@ public boolean containsValue(Object value) { /** {@inheritDoc} */ @Override - public E remove(Object key) { + public E remove(Long key) { throw new UnsupportedOperationException(); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java index dfd99409e..d686c0474 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java @@ -110,7 +110,7 @@ public E put(Long key, E value) { /** {@inheritDoc} */ @Override - public E remove(Object key) { + public E remove(Long key) { throw new UnsupportedOperationException(); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java index 113946023..45f2ad30e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java @@ -137,7 +137,7 @@ public boolean containsValue(Object value) { /** {@inheritDoc} */ @Override - public E remove(Object key) { + public E remove(Long key) { throw new UnsupportedOperationException(); } 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 66daaac0c..541479ec9 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 @@ -65,11 +65,11 @@ public DataSource getDataSource(Object database) { } public Map getCoordinateMap() throws IOException { - return new MapAdapter<>(getMemoryAlignedDataMap("coordinates", new LonLatDataType())); + return DataConversions.asMap(getMemoryAlignedDataMap("coordinates", new LonLatDataType())); } public Map> getReferenceMap() throws IOException { - return new MapAdapter<>(getMonotonicDataMap("references", new LongListDataType())); + return DataConversions.asMap(getMonotonicDataMap("references", new LongListDataType())); } public DataMap getMemoryAlignedDataMap(String name, FixedSizeDataType dataType) diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java index 140b94ce3..8b5d14ab7 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java @@ -75,7 +75,6 @@ void testAllDataTypes(DataType dataType, Object value) { for (int i = 0; i < num; i++) { collection.addPositioned(value); } - collection.close(); // read values int count = 0; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java index d3bdd2636..f6e82feb4 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java @@ -105,7 +105,7 @@ void keySet(DataMap map) { set.add(i); map.put(i, i); } - var res = new MapAdapter<>(map).keySet(); + var res = DataConversions.asMap(map).keySet(); assertEquals(set, res); } @@ -117,7 +117,7 @@ void valueSet(DataMap map) { set.add(i); map.put(i, i); } - assertEquals(set, new HashSet(new MapAdapter<>(map).values())); + assertEquals(set, new HashSet(DataConversions.asMap(map).values())); } @ParameterizedTest @@ -156,7 +156,7 @@ void map(DataMap map) { assertEquals(15l, map.get(15l)); assertEquals(20l, map.get(20l)); - assertEquals(Set.of(10l, 15l, 20l), new MapAdapter<>(map).keySet());; + assertEquals(Set.of(10l, 15l, 20l), DataConversions.asMap(map).keySet());; } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java index dd019048a..cb75d868b 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java @@ -26,8 +26,8 @@ import java.util.List; import java.util.Map; import org.apache.baremaps.database.collection.AppendOnlyLog; +import org.apache.baremaps.database.collection.DataConversions; import org.apache.baremaps.database.collection.IndexedDataMap; -import org.apache.baremaps.database.collection.MapAdapter; import org.apache.baremaps.database.memory.OnHeapMemory; import org.apache.baremaps.database.type.LongListDataType; import org.apache.baremaps.database.type.geometry.CoordinateDataType; @@ -59,9 +59,9 @@ void sample() throws Exception { PostgresRelationRepository relationRepository = new PostgresRelationRepository(dataSource()); // Initialize the data maps - Map coordinateMap = new MapAdapter<>( + Map coordinateMap = DataConversions.asMap( new IndexedDataMap<>(new AppendOnlyLog<>(new CoordinateDataType(), new OnHeapMemory()))); - Map> referenceMap = new MapAdapter<>( + Map> referenceMap = DataConversions.asMap( new IndexedDataMap<>(new AppendOnlyLog<>(new LongListDataType(), new OnHeapMemory()))); // Import the sample data From 2f030d586e24292eef8eeb711ce7692a3377f669 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Mon, 6 May 2024 23:15:48 +0200 Subject: [PATCH 05/19] Introduce the openstreetmap and testing submodules --- baremaps-core/pom.xml | 8 + .../database/collection/DataConversions.java | 167 ++++++++++-------- .../baremaps/database/collection/DataMap.java | 1 + .../database/collection/MapAdapter.java | 25 --- .../database/type/geometry/WKBDataType.java | 2 +- .../baremaps/geocoder/GeonamesReader.java | 3 +- .../baremaps/iploc/IpLocRepository.java | 2 +- .../baremaps/openstreetmap/DiffService.java | 10 +- .../postgres/PostgresNodeRepository.java | 2 +- .../postgres/PostgresRelationRepository.java | 2 +- .../postgres/PostgresWayRepository.java | 2 +- .../repository/BlockImporter.java | 2 +- .../storage/postgres/PostgresDataTable.java | 2 +- .../baremaps/utils/RoundingTransformer.java | 62 ------- .../tasks/CreateGeocoderOpenStreetMap.java | 2 +- .../workflow/tasks/CreateIplocIndex.java | 2 +- .../workflow/tasks/ExportVectorTiles.java | 4 +- .../workflow/tasks/ImportGeoPackage.java | 2 +- .../baremaps/workflow/tasks/ImportOsmOsc.java | 2 +- .../baremaps/workflow/tasks/ImportOsmPbf.java | 3 +- .../workflow/tasks/ImportShapefile.java | 2 +- .../baremaps/config/ConfigReaderTest.java | 2 +- .../baremaps/geocoder/GeonamesIndexTest.java | 2 +- .../baremaps/geocoder/GeonamesReaderTest.java | 2 +- .../baremaps/geocoderosm/OSMIndexTest.java | 2 +- .../baremaps/iploc/IpLocObjectTest.java | 2 +- .../org/apache/baremaps/iploc/NicData.java | 2 +- .../repository/BlockImporterTest.java | 2 +- .../flatgeobuf/FlatGeoBufDataTableTest.java | 2 +- .../geopackage/GeoPackageDataSchemaTest.java | 2 +- .../geopackage/GeoPackageToPostgresTest.java | 2 +- .../tilestore/pmtiles/PMTilesTest.java | 2 +- .../utils/ProjectionTransformerTest.java | 1 + .../workflow/tasks/DecompressFileTest.java | 2 +- .../tasks/ExecuteSqlIntegrationTest.java | 2 +- .../workflow/tasks/ExecuteSqlScriptTest.java | 2 +- .../workflow/tasks/ImportGeoPackageTest.java | 2 +- .../tasks/ImportUpdateSampleTest.java | 4 +- baremaps-openstreetmap/pom.xml | 59 +++++++ .../baremaps/openstreetmap/OsmReader.java | 0 .../baremaps/openstreetmap/OsmReaders.java | 0 .../function/BlobToBlockMapper.java | 2 +- .../function/BlockEntitiesHandler.java | 2 +- .../function/ChangeEntitiesHandler.java | 0 .../function/CoordinateMapBuilder.java | 0 .../function/EntityGeometryBuilder.java | 0 .../function/EntityProjectionTransformer.java | 1 - .../function/EntityToGeometryMapper.java | 2 +- .../function/GeometryMapBuilder.java | 0 .../function/NodeGeometryBuilder.java | 6 +- .../function}/ProjectionTransformer.java | 4 +- .../function/ReferenceMapBuilder.java | 0 .../function/RelationMultiPolygonBuilder.java | 24 +-- .../function/WayGeometryBuilder.java | 13 +- .../baremaps/openstreetmap/model/Blob.java | 0 .../baremaps/openstreetmap/model/Block.java | 0 .../baremaps/openstreetmap/model/Bound.java | 0 .../baremaps/openstreetmap/model/Change.java | 0 .../openstreetmap/model/DataBlock.java | 0 .../baremaps/openstreetmap/model/Element.java | 0 .../baremaps/openstreetmap/model/Entity.java | 0 .../baremaps/openstreetmap/model/Header.java | 0 .../openstreetmap/model/HeaderBlock.java | 0 .../baremaps/openstreetmap/model/Info.java | 0 .../baremaps/openstreetmap/model/Member.java | 0 .../baremaps/openstreetmap/model/Node.java | 0 .../openstreetmap/model/Relation.java | 0 .../baremaps/openstreetmap/model/State.java | 0 .../baremaps/openstreetmap/model/User.java | 0 .../baremaps/openstreetmap/model/Way.java | 0 .../openstreetmap/pbf/BlobIterator.java | 0 .../openstreetmap/pbf/DataBlockReader.java | 2 +- .../openstreetmap/pbf/HeaderBlockReader.java | 2 +- .../openstreetmap/pbf/PbfBlockReader.java | 7 +- .../openstreetmap/pbf/PbfEntityReader.java | 2 +- .../baremaps/openstreetmap/pbf/PbfReader.java | 0 .../openstreetmap/state/StateReader.java | 0 .../stream/AccumulatingConsumer.java | 2 +- .../stream/BatchedSpliterator.java | 4 +- .../stream/BufferedSpliterator.java | 2 +- .../openstreetmap}/stream/ConsumerUtils.java | 2 +- .../stream/HoldingConsumer.java | 2 +- .../stream/PartitionedSpliterator.java | 2 +- .../openstreetmap}/stream/ProgressLogger.java | 2 +- .../stream/StreamException.java | 2 +- .../openstreetmap}/stream/StreamUtils.java | 8 +- .../openstreetmap}/stream/SupplierUtils.java | 2 +- .../stream/ThrowingFunction.java | 2 +- .../openstreetmap}/utils/CRSUtils.java | 2 +- .../openstreetmap}/utils/GeometryUtils.java | 3 +- .../openstreetmap/xml/XmlChangeReader.java | 0 .../xml/XmlChangeSpliterator.java | 2 +- .../openstreetmap/xml/XmlEntityReader.java | 10 +- .../xml/XmlEntitySpliterator.java | 2 +- .../src/main/proto/fileformat.proto | 0 .../src/main/proto/osmformat.proto | 0 .../baremaps/openstreetmap/OsmSampleTest.java | 41 ++--- .../baremaps/openstreetmap/OsmTestData.java | 55 +++++- .../EntityDataTypeGeometryBuilderTest.java | 2 +- .../openstreetmap/state/StateReaderTest.java | 0 .../stream/BatchedSpliteratorTest.java | 2 +- .../stream/PartitionedSpliteratorTest.java | 2 +- .../stream/StreamUtilsTest.java | 2 +- .../xml/XmlChangeSpliteratorTest.java | 12 +- .../xml/XmlEntitySpliteratorTestDataType.java | 10 +- .../data}/archives/file.bz2 | Bin .../data}/archives/file.gz | Bin .../data}/archives/file.tar.bz2 | Bin .../data}/archives/file.tar.gz | Bin .../data}/archives/file.zip | Bin .../data}/config/style.js | 0 .../data}/data/README.md | 0 .../data}/data/countries.fgb | Bin .../data}/data/countries.gpkg | Bin .../data}/data/data.gpkg | Bin .../data}/geonames/sample.txt | 0 .../data}/osm-sample/000/000/002.osc.gz | Bin .../data}/osm-sample/000/000/002.osc.xml | 0 .../data}/osm-sample/000/000/002.state.txt | 0 .../data}/osm-sample/000/000/003.osc.gz | Bin .../data}/osm-sample/000/000/003.osc.xml | 0 .../data}/osm-sample/000/000/003.state.txt | 0 .../data}/osm-sample/000/000/004.osc.gz | Bin .../data}/osm-sample/000/000/004.osc.xml | 0 .../data}/osm-sample/000/000/004.state.txt | 0 .../data}/osm-sample/build.sh | 0 .../data}/osm-sample/sample.osm.pbf | Bin .../data}/osm-sample/sample.osm.xml | 0 .../data}/osm-sample/state.txt | 0 .../data}/osm-testdata/1/100/data.osm | 0 .../data}/osm-testdata/1/100/data.osm.pbf | Bin .../data}/osm-testdata/1/100/nodes.wkt | 0 .../data}/osm-testdata/1/100/result | 0 .../data}/osm-testdata/1/100/test.json | 0 .../data}/osm-testdata/1/101/data.osm | 0 .../data}/osm-testdata/1/101/data.osm.pbf | Bin .../data}/osm-testdata/1/101/nodes.wkt | 0 .../data}/osm-testdata/1/101/result | 0 .../data}/osm-testdata/1/101/test.json | 0 .../data}/osm-testdata/1/102/data.osm | 0 .../data}/osm-testdata/1/102/data.osm.pbf | Bin .../data}/osm-testdata/1/102/nodes.wkt | 0 .../data}/osm-testdata/1/102/result | 0 .../data}/osm-testdata/1/102/test.json | 0 .../data}/osm-testdata/1/110/data.osm | 0 .../data}/osm-testdata/1/110/data.osm.pbf | Bin .../data}/osm-testdata/1/110/nodes.wkt | 0 .../data}/osm-testdata/1/110/result | 0 .../data}/osm-testdata/1/110/test.json | 0 .../data}/osm-testdata/1/110/ways.wkt | 0 .../data}/osm-testdata/1/111/data.osm | 0 .../data}/osm-testdata/1/111/data.osm.pbf | Bin .../data}/osm-testdata/1/111/nodes.wkt | 0 .../data}/osm-testdata/1/111/result | 0 .../data}/osm-testdata/1/111/test.json | 0 .../data}/osm-testdata/1/111/ways.wkt | 0 .../data}/osm-testdata/1/112/data.osm | 0 .../data}/osm-testdata/1/112/data.osm.pbf | Bin .../data}/osm-testdata/1/112/nodes.wkt | 0 .../data}/osm-testdata/1/112/result | 0 .../data}/osm-testdata/1/112/test.json | 0 .../data}/osm-testdata/1/112/ways.wkt | 0 .../data}/osm-testdata/1/113/data.osm | 0 .../data}/osm-testdata/1/113/data.osm.pbf | Bin .../data}/osm-testdata/1/113/nodes.wkt | 0 .../data}/osm-testdata/1/113/result | 0 .../data}/osm-testdata/1/113/test.json | 0 .../data}/osm-testdata/1/113/ways.wkt | 0 .../data}/osm-testdata/1/114/data.osm | 0 .../data}/osm-testdata/1/114/data.osm.pbf | Bin .../data}/osm-testdata/1/114/nodes.wkt | 0 .../data}/osm-testdata/1/114/result | 0 .../data}/osm-testdata/1/114/test.json | 0 .../data}/osm-testdata/1/114/ways.wkt | 0 .../data}/osm-testdata/1/115/data.osm | 0 .../data}/osm-testdata/1/115/data.osm.pbf | Bin .../data}/osm-testdata/1/115/nodes.wkt | 0 .../data}/osm-testdata/1/115/result | 0 .../data}/osm-testdata/1/115/test.json | 0 .../data}/osm-testdata/1/115/ways.wkt | 0 .../data}/osm-testdata/1/116/data.osm | 0 .../data}/osm-testdata/1/116/data.osm.pbf | Bin .../data}/osm-testdata/1/116/nodes.wkt | 0 .../data}/osm-testdata/1/116/result | 0 .../data}/osm-testdata/1/116/test.json | 0 .../data}/osm-testdata/1/116/ways.wkt | 0 .../data}/osm-testdata/1/120/data.osm | 0 .../data}/osm-testdata/1/120/data.osm.pbf | Bin .../data}/osm-testdata/1/120/result | 0 .../data}/osm-testdata/1/120/test.json | 0 .../data}/osm-testdata/1/121/data.osm | 0 .../data}/osm-testdata/1/121/data.osm.pbf | Bin .../data}/osm-testdata/1/121/nodes.wkt | 0 .../data}/osm-testdata/1/121/result | 0 .../data}/osm-testdata/1/121/test.json | 0 .../data}/osm-testdata/1/121/ways.wkt | 0 .../data}/osm-testdata/1/122/data.osm | 0 .../data}/osm-testdata/1/122/data.osm.pbf | Bin .../data}/osm-testdata/1/122/nodes.wkt | 0 .../data}/osm-testdata/1/122/result | 0 .../data}/osm-testdata/1/122/test.json | 0 .../data}/osm-testdata/1/122/ways.wkt | 0 .../data}/osm-testdata/1/123/data.osm | 0 .../data}/osm-testdata/1/123/data.osm.pbf | Bin .../data}/osm-testdata/1/123/nodes.wkt | 0 .../data}/osm-testdata/1/123/result | 0 .../data}/osm-testdata/1/123/test.json | 0 .../data}/osm-testdata/1/123/ways.wkt | 0 .../data}/osm-testdata/1/124/data.osm | 0 .../data}/osm-testdata/1/124/data.osm.pbf | Bin .../data}/osm-testdata/1/124/nodes.wkt | 0 .../data}/osm-testdata/1/124/result | 0 .../data}/osm-testdata/1/124/test.json | 0 .../data}/osm-testdata/1/124/ways.wkt | 0 .../data}/osm-testdata/1/130/data.osm | 0 .../data}/osm-testdata/1/130/data.osm.pbf | Bin .../data}/osm-testdata/1/130/nodes.wkt | 0 .../data}/osm-testdata/1/130/result | 0 .../data}/osm-testdata/1/130/test.json | 0 .../data}/osm-testdata/1/130/ways.wkt | 0 .../data}/osm-testdata/1/131/data.osm | 0 .../data}/osm-testdata/1/131/data.osm.pbf | Bin .../data}/osm-testdata/1/131/nodes.wkt | 0 .../data}/osm-testdata/1/131/result | 0 .../data}/osm-testdata/1/131/test.json | 0 .../data}/osm-testdata/1/131/ways.wkt | 0 .../data}/osm-testdata/1/132/data.osm | 0 .../data}/osm-testdata/1/132/data.osm.pbf | Bin .../data}/osm-testdata/1/132/nodes.wkt | 0 .../data}/osm-testdata/1/132/result | 0 .../data}/osm-testdata/1/132/test.json | 0 .../data}/osm-testdata/1/132/ways.wkt | 0 .../data}/osm-testdata/1/133/data.osm | 0 .../data}/osm-testdata/1/133/data.osm.pbf | Bin .../data}/osm-testdata/1/133/nodes.wkt | 0 .../data}/osm-testdata/1/133/result | 0 .../data}/osm-testdata/1/133/test.json | 0 .../data}/osm-testdata/1/133/ways.wkt | 0 .../data}/osm-testdata/1/134/data.osm | 0 .../data}/osm-testdata/1/134/data.osm.pbf | Bin .../data}/osm-testdata/1/134/nodes.wkt | 0 .../data}/osm-testdata/1/134/result | 0 .../data}/osm-testdata/1/134/test.json | 0 .../data}/osm-testdata/1/134/ways.wkt | 0 .../data}/osm-testdata/1/description.txt | 0 .../data}/osm-testdata/3/300/data.osm | 0 .../data}/osm-testdata/3/300/data.osm.pbf | Bin .../data}/osm-testdata/3/300/nodes.wkt | 0 .../data}/osm-testdata/3/300/result | 0 .../data}/osm-testdata/3/300/test.json | 0 .../data}/osm-testdata/3/301/data.osm | 0 .../data}/osm-testdata/3/301/data.osm.pbf | Bin .../data}/osm-testdata/3/301/nodes.wkt | 0 .../data}/osm-testdata/3/301/result | 0 .../data}/osm-testdata/3/301/test.json | 0 .../data}/osm-testdata/3/302/data.osm | 0 .../data}/osm-testdata/3/302/data.osm.pbf | Bin .../data}/osm-testdata/3/302/nodes.wkt | 0 .../data}/osm-testdata/3/302/result | 0 .../data}/osm-testdata/3/302/test.json | 0 .../data}/osm-testdata/3/303/data.osm | 0 .../data}/osm-testdata/3/303/data.osm.pbf | Bin .../data}/osm-testdata/3/303/nodes.wkt | 0 .../data}/osm-testdata/3/303/result | 0 .../data}/osm-testdata/3/303/test.json | 0 .../data}/osm-testdata/3/304/data.osm | 0 .../data}/osm-testdata/3/304/data.osm.pbf | Bin .../data}/osm-testdata/3/304/nodes.wkt | 0 .../data}/osm-testdata/3/304/result | 0 .../data}/osm-testdata/3/304/test.json | 0 .../data}/osm-testdata/3/305/data.osm | 0 .../data}/osm-testdata/3/305/data.osm.pbf | Bin .../data}/osm-testdata/3/305/nodes.wkt | 0 .../data}/osm-testdata/3/305/result | 0 .../data}/osm-testdata/3/305/test.json | 0 .../data}/osm-testdata/3/306/data.osm | 0 .../data}/osm-testdata/3/306/data.osm.pbf | Bin .../data}/osm-testdata/3/306/nodes.wkt | 0 .../data}/osm-testdata/3/306/result | 0 .../data}/osm-testdata/3/306/test.json | 0 .../data}/osm-testdata/3/307/data.osm | 0 .../data}/osm-testdata/3/307/data.osm.pbf | Bin .../data}/osm-testdata/3/307/nodes.wkt | 0 .../data}/osm-testdata/3/307/result | 0 .../data}/osm-testdata/3/307/test.json | 0 .../data}/osm-testdata/3/description.txt | 0 .../data}/osm-testdata/7/700/data.osm | 0 .../data}/osm-testdata/7/700/data.osm.pbf | Bin .../data}/osm-testdata/7/700/nodes.wkt | 0 .../data}/osm-testdata/7/700/result | 0 .../data}/osm-testdata/7/700/test.json | 0 .../data}/osm-testdata/7/700/ways.wkt | 0 .../data}/osm-testdata/7/701/data.osm | 0 .../data}/osm-testdata/7/701/data.osm.pbf | Bin .../data}/osm-testdata/7/701/nodes.wkt | 0 .../data}/osm-testdata/7/701/result | 0 .../data}/osm-testdata/7/701/test.json | 0 .../data}/osm-testdata/7/701/ways.wkt | 0 .../data}/osm-testdata/7/702/data.osm | 0 .../data}/osm-testdata/7/702/data.osm.pbf | Bin .../data}/osm-testdata/7/702/nodes.wkt | 0 .../data}/osm-testdata/7/702/result | 0 .../data}/osm-testdata/7/702/test.json | 0 .../data}/osm-testdata/7/702/ways.wkt | 0 .../data}/osm-testdata/7/703/data.osm | 0 .../data}/osm-testdata/7/703/data.osm.pbf | Bin .../data}/osm-testdata/7/703/nodes.wkt | 0 .../data}/osm-testdata/7/703/result | 0 .../data}/osm-testdata/7/703/test.json | 0 .../data}/osm-testdata/7/703/ways.wkt | 0 .../data}/osm-testdata/7/704/data.osm | 0 .../data}/osm-testdata/7/704/data.osm.pbf | Bin .../data}/osm-testdata/7/704/nodes.wkt | 0 .../data}/osm-testdata/7/704/result | 0 .../data}/osm-testdata/7/704/test.json | 0 .../data}/osm-testdata/7/704/ways.wkt | 0 .../data}/osm-testdata/7/705/data.osm | 0 .../data}/osm-testdata/7/705/data.osm.pbf | Bin .../data}/osm-testdata/7/705/nodes.wkt | 0 .../data}/osm-testdata/7/705/result | 0 .../data}/osm-testdata/7/705/test.json | 0 .../data}/osm-testdata/7/705/ways.wkt | 0 .../data}/osm-testdata/7/706/data.osm | 0 .../data}/osm-testdata/7/706/data.osm.pbf | Bin .../data}/osm-testdata/7/706/nodes.wkt | 0 .../data}/osm-testdata/7/706/result | 0 .../data}/osm-testdata/7/706/test.json | 0 .../data}/osm-testdata/7/706/ways.wkt | 0 .../data}/osm-testdata/7/707/data.osm | 0 .../data}/osm-testdata/7/707/data.osm.pbf | Bin .../data}/osm-testdata/7/707/nodes.wkt | 0 .../data}/osm-testdata/7/707/result | 0 .../data}/osm-testdata/7/707/test.json | 0 .../data}/osm-testdata/7/707/ways.wkt | 0 .../data}/osm-testdata/7/708/data.osm | 0 .../data}/osm-testdata/7/708/data.osm.pbf | Bin .../data}/osm-testdata/7/708/nodes.wkt | 0 .../data}/osm-testdata/7/708/result | 0 .../data}/osm-testdata/7/708/test.json | 0 .../data}/osm-testdata/7/708/ways.wkt | 0 .../data}/osm-testdata/7/709/data.osm | 0 .../data}/osm-testdata/7/709/data.osm.pbf | Bin .../data}/osm-testdata/7/709/nodes.wkt | 0 .../data}/osm-testdata/7/709/result | 0 .../data}/osm-testdata/7/709/test.json | 0 .../data}/osm-testdata/7/709/ways.wkt | 0 .../data}/osm-testdata/7/710/data.osm | 0 .../data}/osm-testdata/7/710/data.osm.pbf | Bin .../data}/osm-testdata/7/710/labels.wkt | 0 .../data}/osm-testdata/7/710/nodes.wkt | 0 .../data}/osm-testdata/7/710/result | 0 .../data}/osm-testdata/7/710/test.json | 0 .../data}/osm-testdata/7/710/ways.wkt | 0 .../data}/osm-testdata/7/711/data.osm | 0 .../data}/osm-testdata/7/711/data.osm.pbf | Bin .../data}/osm-testdata/7/711/nodes.wkt | 0 .../data}/osm-testdata/7/711/result | 0 .../data}/osm-testdata/7/711/test.json | 0 .../data}/osm-testdata/7/711/ways.wkt | 0 .../data}/osm-testdata/7/714/data.osm | 0 .../data}/osm-testdata/7/714/data.osm.pbf | Bin .../data}/osm-testdata/7/714/nodes.wkt | 0 .../data}/osm-testdata/7/714/result | 0 .../data}/osm-testdata/7/714/test.json | 0 .../data}/osm-testdata/7/714/ways.wkt | 0 .../data}/osm-testdata/7/715/data.osm | 0 .../data}/osm-testdata/7/715/data.osm.pbf | Bin .../data}/osm-testdata/7/715/nodes.wkt | 0 .../data}/osm-testdata/7/715/result | 0 .../data}/osm-testdata/7/715/test.json | 0 .../data}/osm-testdata/7/715/ways.wkt | 0 .../data}/osm-testdata/7/720/data.osm | 0 .../data}/osm-testdata/7/720/data.osm.pbf | Bin .../data}/osm-testdata/7/720/nodes.wkt | 0 .../data}/osm-testdata/7/720/result | 0 .../data}/osm-testdata/7/720/test.json | 0 .../data}/osm-testdata/7/720/ways.wkt | 0 .../data}/osm-testdata/7/721/data.osm | 0 .../data}/osm-testdata/7/721/data.osm.pbf | Bin .../data}/osm-testdata/7/721/nodes.wkt | 0 .../data}/osm-testdata/7/721/result | 0 .../data}/osm-testdata/7/721/test.json | 0 .../data}/osm-testdata/7/721/ways.wkt | 0 .../data}/osm-testdata/7/722/data.osm | 0 .../data}/osm-testdata/7/722/data.osm.pbf | Bin .../data}/osm-testdata/7/722/nodes.wkt | 0 .../data}/osm-testdata/7/722/result | 0 .../data}/osm-testdata/7/722/test.json | 0 .../data}/osm-testdata/7/722/ways.wkt | 0 .../data}/osm-testdata/7/723/data.osm | 0 .../data}/osm-testdata/7/723/data.osm.pbf | Bin .../data}/osm-testdata/7/723/nodes.wkt | 0 .../data}/osm-testdata/7/723/result | 0 .../data}/osm-testdata/7/723/test.json | 0 .../data}/osm-testdata/7/723/ways.wkt | 0 .../data}/osm-testdata/7/724/data.osm | 0 .../data}/osm-testdata/7/724/data.osm.pbf | Bin .../data}/osm-testdata/7/724/nodes.wkt | 0 .../data}/osm-testdata/7/724/result | 0 .../data}/osm-testdata/7/724/test.json | 0 .../data}/osm-testdata/7/724/ways.wkt | 0 .../data}/osm-testdata/7/725/data.osm | 0 .../data}/osm-testdata/7/725/data.osm.pbf | Bin .../data}/osm-testdata/7/725/nodes.wkt | 0 .../data}/osm-testdata/7/725/result | 0 .../data}/osm-testdata/7/725/test.json | 0 .../data}/osm-testdata/7/725/ways.wkt | 0 .../data}/osm-testdata/7/726/data.osm | 0 .../data}/osm-testdata/7/726/data.osm.pbf | Bin .../data}/osm-testdata/7/726/nodes.wkt | 0 .../data}/osm-testdata/7/726/result | 0 .../data}/osm-testdata/7/726/test.json | 0 .../data}/osm-testdata/7/726/ways.wkt | 0 .../data}/osm-testdata/7/727/data.osm | 0 .../data}/osm-testdata/7/727/data.osm.pbf | Bin .../data}/osm-testdata/7/727/nodes.wkt | 0 .../data}/osm-testdata/7/727/result | 0 .../data}/osm-testdata/7/727/test.json | 0 .../data}/osm-testdata/7/727/ways.wkt | 0 .../data}/osm-testdata/7/728/data.osm | 0 .../data}/osm-testdata/7/728/data.osm.pbf | Bin .../data}/osm-testdata/7/728/nodes.wkt | 0 .../data}/osm-testdata/7/728/result | 0 .../data}/osm-testdata/7/728/test.json | 0 .../data}/osm-testdata/7/728/ways.wkt | 0 .../data}/osm-testdata/7/729/data.osm | 0 .../data}/osm-testdata/7/729/data.osm.pbf | Bin .../data}/osm-testdata/7/729/nodes.wkt | 0 .../data}/osm-testdata/7/729/result | 0 .../data}/osm-testdata/7/729/test.json | 0 .../data}/osm-testdata/7/729/ways.wkt | 0 .../data}/osm-testdata/7/730/data.osm | 0 .../data}/osm-testdata/7/730/data.osm.pbf | Bin .../data}/osm-testdata/7/730/nodes.wkt | 0 .../data}/osm-testdata/7/730/result | 0 .../data}/osm-testdata/7/730/test.json | 0 .../data}/osm-testdata/7/730/ways.wkt | 0 .../data}/osm-testdata/7/731/data.osm | 0 .../data}/osm-testdata/7/731/data.osm.pbf | Bin .../data}/osm-testdata/7/731/nodes.wkt | 0 .../data}/osm-testdata/7/731/result | 0 .../data}/osm-testdata/7/731/test.json | 0 .../data}/osm-testdata/7/731/ways.wkt | 0 .../data}/osm-testdata/7/732/data.osm | 0 .../data}/osm-testdata/7/732/data.osm.pbf | Bin .../data}/osm-testdata/7/732/labels.wkt | 0 .../data}/osm-testdata/7/732/nodes.wkt | 0 .../data}/osm-testdata/7/732/result | 0 .../data}/osm-testdata/7/732/test.json | 0 .../data}/osm-testdata/7/732/ways.wkt | 0 .../data}/osm-testdata/7/733/data.osm | 0 .../data}/osm-testdata/7/733/data.osm.pbf | Bin .../data}/osm-testdata/7/733/nodes.wkt | 0 .../data}/osm-testdata/7/733/result | 0 .../data}/osm-testdata/7/733/test.json | 0 .../data}/osm-testdata/7/733/ways.wkt | 0 .../data}/osm-testdata/7/734/data.osm | 0 .../data}/osm-testdata/7/734/data.osm.pbf | Bin .../data}/osm-testdata/7/734/nodes.wkt | 0 .../data}/osm-testdata/7/734/result | 0 .../data}/osm-testdata/7/734/test.json | 0 .../data}/osm-testdata/7/734/ways.wkt | 0 .../data}/osm-testdata/7/740/data.osm | 0 .../data}/osm-testdata/7/740/data.osm.pbf | Bin .../data}/osm-testdata/7/740/nodes.wkt | 0 .../data}/osm-testdata/7/740/result | 0 .../data}/osm-testdata/7/740/test.json | 0 .../data}/osm-testdata/7/740/ways.wkt | 0 .../data}/osm-testdata/7/741/data.osm | 0 .../data}/osm-testdata/7/741/data.osm.pbf | Bin .../data}/osm-testdata/7/741/nodes.wkt | 0 .../data}/osm-testdata/7/741/result | 0 .../data}/osm-testdata/7/741/test.json | 0 .../data}/osm-testdata/7/741/ways.wkt | 0 .../data}/osm-testdata/7/742/data.osm | 0 .../data}/osm-testdata/7/742/data.osm.pbf | Bin .../data}/osm-testdata/7/742/nodes.wkt | 0 .../data}/osm-testdata/7/742/result | 0 .../data}/osm-testdata/7/742/test.json | 0 .../data}/osm-testdata/7/742/ways.wkt | 0 .../data}/osm-testdata/7/743/data.osm | 0 .../data}/osm-testdata/7/743/data.osm.pbf | Bin .../data}/osm-testdata/7/743/nodes.wkt | 0 .../data}/osm-testdata/7/743/result | 0 .../data}/osm-testdata/7/743/test.json | 0 .../data}/osm-testdata/7/743/ways.wkt | 0 .../data}/osm-testdata/7/744/data.osm | 0 .../data}/osm-testdata/7/744/data.osm.pbf | Bin .../data}/osm-testdata/7/744/nodes.wkt | 0 .../data}/osm-testdata/7/744/result | 0 .../data}/osm-testdata/7/744/test.json | 0 .../data}/osm-testdata/7/744/ways.wkt | 0 .../data}/osm-testdata/7/745/data.osm | 0 .../data}/osm-testdata/7/745/data.osm.pbf | Bin .../data}/osm-testdata/7/745/nodes.wkt | 0 .../data}/osm-testdata/7/745/result | 0 .../data}/osm-testdata/7/745/test.json | 0 .../data}/osm-testdata/7/745/ways.wkt | 0 .../data}/osm-testdata/7/746/data.osm | 0 .../data}/osm-testdata/7/746/data.osm.pbf | Bin .../data}/osm-testdata/7/746/nodes.wkt | 0 .../data}/osm-testdata/7/746/result | 0 .../data}/osm-testdata/7/746/test.json | 0 .../data}/osm-testdata/7/746/ways.wkt | 0 .../data}/osm-testdata/7/747/data.osm | 0 .../data}/osm-testdata/7/747/data.osm.pbf | Bin .../data}/osm-testdata/7/747/nodes.wkt | 0 .../data}/osm-testdata/7/747/result | 0 .../data}/osm-testdata/7/747/test.json | 0 .../data}/osm-testdata/7/747/ways.wkt | 0 .../data}/osm-testdata/7/748/data.osm | 0 .../data}/osm-testdata/7/748/data.osm.pbf | Bin .../data}/osm-testdata/7/748/nodes.wkt | 0 .../data}/osm-testdata/7/748/result | 0 .../data}/osm-testdata/7/748/test.json | 0 .../data}/osm-testdata/7/748/ways.wkt | 0 .../data}/osm-testdata/7/749/data.osm | 0 .../data}/osm-testdata/7/749/data.osm.pbf | Bin .../data}/osm-testdata/7/749/nodes.wkt | 0 .../data}/osm-testdata/7/749/result | 0 .../data}/osm-testdata/7/749/test.json | 0 .../data}/osm-testdata/7/749/ways.wkt | 0 .../data}/osm-testdata/7/750/data.osm | 0 .../data}/osm-testdata/7/750/data.osm.pbf | Bin .../data}/osm-testdata/7/750/nodes.wkt | 0 .../data}/osm-testdata/7/750/result | 0 .../data}/osm-testdata/7/750/test.json | 0 .../data}/osm-testdata/7/750/ways.wkt | 0 .../data}/osm-testdata/7/751/data.osm | 0 .../data}/osm-testdata/7/751/data.osm.pbf | Bin .../data}/osm-testdata/7/751/nodes.wkt | 0 .../data}/osm-testdata/7/751/result | 0 .../data}/osm-testdata/7/751/test.json | 0 .../data}/osm-testdata/7/751/ways.wkt | 0 .../data}/osm-testdata/7/752/data.osm | 0 .../data}/osm-testdata/7/752/data.osm.pbf | Bin .../data}/osm-testdata/7/752/nodes.wkt | 0 .../data}/osm-testdata/7/752/result | 0 .../data}/osm-testdata/7/752/test.json | 0 .../data}/osm-testdata/7/752/ways.wkt | 0 .../data}/osm-testdata/7/753/data.osm | 0 .../data}/osm-testdata/7/753/data.osm.pbf | Bin .../data}/osm-testdata/7/753/nodes.wkt | 0 .../data}/osm-testdata/7/753/result | 0 .../data}/osm-testdata/7/753/test.json | 0 .../data}/osm-testdata/7/753/ways.wkt | 0 .../data}/osm-testdata/7/754/data.osm | 0 .../data}/osm-testdata/7/754/data.osm.pbf | Bin .../data}/osm-testdata/7/754/nodes.wkt | 0 .../data}/osm-testdata/7/754/result | 0 .../data}/osm-testdata/7/754/test.json | 0 .../data}/osm-testdata/7/754/ways.wkt | 0 .../data}/osm-testdata/7/755/data.osm | 0 .../data}/osm-testdata/7/755/data.osm.pbf | Bin .../data}/osm-testdata/7/755/nodes.wkt | 0 .../data}/osm-testdata/7/755/result | 0 .../data}/osm-testdata/7/755/test.json | 0 .../data}/osm-testdata/7/755/ways.wkt | 0 .../data}/osm-testdata/7/756/data.osm | 0 .../data}/osm-testdata/7/756/data.osm.pbf | Bin .../data}/osm-testdata/7/756/nodes.wkt | 0 .../data}/osm-testdata/7/756/result | 0 .../data}/osm-testdata/7/756/test.json | 0 .../data}/osm-testdata/7/756/ways.wkt | 0 .../data}/osm-testdata/7/757/data.osm | 0 .../data}/osm-testdata/7/757/data.osm.pbf | Bin .../data}/osm-testdata/7/757/nodes.wkt | 0 .../data}/osm-testdata/7/757/result | 0 .../data}/osm-testdata/7/757/test.json | 0 .../data}/osm-testdata/7/757/ways.wkt | 0 .../data}/osm-testdata/7/758/data.osm | 0 .../data}/osm-testdata/7/758/data.osm.pbf | Bin .../data}/osm-testdata/7/758/nodes.wkt | 0 .../data}/osm-testdata/7/758/result | 0 .../data}/osm-testdata/7/758/test.json | 0 .../data}/osm-testdata/7/758/ways.wkt | 0 .../data}/osm-testdata/7/759/data.osm | 0 .../data}/osm-testdata/7/759/data.osm.pbf | Bin .../data}/osm-testdata/7/759/nodes.wkt | 0 .../data}/osm-testdata/7/759/result | 0 .../data}/osm-testdata/7/759/test.json | 0 .../data}/osm-testdata/7/759/ways.wkt | 0 .../data}/osm-testdata/7/760/data.osm | 0 .../data}/osm-testdata/7/760/data.osm.pbf | Bin .../data}/osm-testdata/7/760/nodes.wkt | 0 .../data}/osm-testdata/7/760/result | 0 .../data}/osm-testdata/7/760/test.json | 0 .../data}/osm-testdata/7/760/ways.wkt | 0 .../data}/osm-testdata/7/761/data.osm | 0 .../data}/osm-testdata/7/761/data.osm.pbf | Bin .../data}/osm-testdata/7/761/nodes.wkt | 0 .../data}/osm-testdata/7/761/result | 0 .../data}/osm-testdata/7/761/test.json | 0 .../data}/osm-testdata/7/761/ways.wkt | 0 .../data}/osm-testdata/7/762/data.osm | 0 .../data}/osm-testdata/7/762/data.osm.pbf | Bin .../data}/osm-testdata/7/762/nodes.wkt | 0 .../data}/osm-testdata/7/762/result | 0 .../data}/osm-testdata/7/762/test.json | 0 .../data}/osm-testdata/7/762/ways.wkt | 0 .../data}/osm-testdata/7/763/data.osm | 0 .../data}/osm-testdata/7/763/data.osm.pbf | Bin .../data}/osm-testdata/7/763/nodes.wkt | 0 .../data}/osm-testdata/7/763/result | 0 .../data}/osm-testdata/7/763/test.json | 0 .../data}/osm-testdata/7/763/ways.wkt | 0 .../data}/osm-testdata/7/764/data.osm | 0 .../data}/osm-testdata/7/764/data.osm.pbf | Bin .../data}/osm-testdata/7/764/nodes.wkt | 0 .../data}/osm-testdata/7/764/result | 0 .../data}/osm-testdata/7/764/test.json | 0 .../data}/osm-testdata/7/764/ways.wkt | 0 .../data}/osm-testdata/7/765/data.osm | 0 .../data}/osm-testdata/7/765/data.osm.pbf | Bin .../data}/osm-testdata/7/765/nodes.wkt | 0 .../data}/osm-testdata/7/765/result | 0 .../data}/osm-testdata/7/765/test.json | 0 .../data}/osm-testdata/7/765/ways.wkt | 0 .../data}/osm-testdata/7/766/data.osm | 0 .../data}/osm-testdata/7/766/data.osm.pbf | Bin .../data}/osm-testdata/7/766/nodes.wkt | 0 .../data}/osm-testdata/7/766/result | 0 .../data}/osm-testdata/7/766/test.json | 0 .../data}/osm-testdata/7/766/ways.wkt | 0 .../data}/osm-testdata/7/767/data.osm | 0 .../data}/osm-testdata/7/767/data.osm.pbf | Bin .../data}/osm-testdata/7/767/nodes.wkt | 0 .../data}/osm-testdata/7/767/result | 0 .../data}/osm-testdata/7/767/test.json | 0 .../data}/osm-testdata/7/767/ways.wkt | 0 .../data}/osm-testdata/7/768/data.osm | 0 .../data}/osm-testdata/7/768/data.osm.pbf | Bin .../data}/osm-testdata/7/768/nodes.wkt | 0 .../data}/osm-testdata/7/768/result | 0 .../data}/osm-testdata/7/768/test.json | 0 .../data}/osm-testdata/7/768/ways.wkt | 0 .../data}/osm-testdata/7/770/data.osm | 0 .../data}/osm-testdata/7/770/data.osm.pbf | Bin .../data}/osm-testdata/7/770/nodes.wkt | 0 .../data}/osm-testdata/7/770/result | 0 .../data}/osm-testdata/7/770/test.json | 0 .../data}/osm-testdata/7/770/ways.wkt | 0 .../data}/osm-testdata/7/771/data.osm | 0 .../data}/osm-testdata/7/771/data.osm.pbf | Bin .../data}/osm-testdata/7/771/nodes.wkt | 0 .../data}/osm-testdata/7/771/result | 0 .../data}/osm-testdata/7/771/test.json | 0 .../data}/osm-testdata/7/771/ways.wkt | 0 .../data}/osm-testdata/7/772/data.osm | 0 .../data}/osm-testdata/7/772/data.osm.pbf | Bin .../data}/osm-testdata/7/772/nodes.wkt | 0 .../data}/osm-testdata/7/772/result | 0 .../data}/osm-testdata/7/772/test.json | 0 .../data}/osm-testdata/7/772/ways.wkt | 0 .../data}/osm-testdata/7/773/data.osm | 0 .../data}/osm-testdata/7/773/data.osm.pbf | Bin .../data}/osm-testdata/7/773/nodes.wkt | 0 .../data}/osm-testdata/7/773/result | 0 .../data}/osm-testdata/7/773/test.json | 0 .../data}/osm-testdata/7/773/ways.wkt | 0 .../data}/osm-testdata/7/774/data.osm | 0 .../data}/osm-testdata/7/774/data.osm.pbf | Bin .../data}/osm-testdata/7/774/nodes.wkt | 0 .../data}/osm-testdata/7/774/result | 0 .../data}/osm-testdata/7/774/test.json | 0 .../data}/osm-testdata/7/774/ways.wkt | 0 .../data}/osm-testdata/7/775/data.osm | 0 .../data}/osm-testdata/7/775/data.osm.pbf | Bin .../data}/osm-testdata/7/775/nodes.wkt | 0 .../data}/osm-testdata/7/775/result | 0 .../data}/osm-testdata/7/775/test.json | 0 .../data}/osm-testdata/7/775/ways.wkt | 0 .../data}/osm-testdata/7/776/data.osm | 0 .../data}/osm-testdata/7/776/data.osm.pbf | Bin .../data}/osm-testdata/7/776/nodes.wkt | 0 .../data}/osm-testdata/7/776/result | 0 .../data}/osm-testdata/7/776/test.json | 0 .../data}/osm-testdata/7/776/ways.wkt | 0 .../data}/osm-testdata/7/777/data.osm | 0 .../data}/osm-testdata/7/777/data.osm.pbf | Bin .../data}/osm-testdata/7/777/nodes.wkt | 0 .../data}/osm-testdata/7/777/result | 0 .../data}/osm-testdata/7/777/test.json | 0 .../data}/osm-testdata/7/777/ways.wkt | 0 .../data}/osm-testdata/7/778/data.osm | 0 .../data}/osm-testdata/7/778/data.osm.pbf | Bin .../data}/osm-testdata/7/778/nodes.wkt | 0 .../data}/osm-testdata/7/778/result | 0 .../data}/osm-testdata/7/778/test.json | 0 .../data}/osm-testdata/7/778/ways.wkt | 0 .../data}/osm-testdata/7/779/data.osm | 0 .../data}/osm-testdata/7/779/data.osm.pbf | Bin .../data}/osm-testdata/7/779/nodes.wkt | 0 .../data}/osm-testdata/7/779/result | 0 .../data}/osm-testdata/7/779/test.json | 0 .../data}/osm-testdata/7/779/ways.wkt | 0 .../data}/osm-testdata/7/780/data.osm | 0 .../data}/osm-testdata/7/780/data.osm.pbf | Bin .../data}/osm-testdata/7/780/nodes.wkt | 0 .../data}/osm-testdata/7/780/result | 0 .../data}/osm-testdata/7/780/test.json | 0 .../data}/osm-testdata/7/780/ways.wkt | 0 .../data}/osm-testdata/7/781/data.osm | 0 .../data}/osm-testdata/7/781/data.osm.pbf | Bin .../data}/osm-testdata/7/781/nodes.wkt | 0 .../data}/osm-testdata/7/781/result | 0 .../data}/osm-testdata/7/781/test.json | 0 .../data}/osm-testdata/7/781/ways.wkt | 0 .../data}/osm-testdata/7/782/data.osm | 0 .../data}/osm-testdata/7/782/data.osm.pbf | Bin .../data}/osm-testdata/7/782/nodes.wkt | 0 .../data}/osm-testdata/7/782/result | 0 .../data}/osm-testdata/7/782/test.json | 0 .../data}/osm-testdata/7/782/ways.wkt | 0 .../data}/osm-testdata/7/783/data.osm | 0 .../data}/osm-testdata/7/783/data.osm.pbf | Bin .../data}/osm-testdata/7/783/nodes.wkt | 0 .../data}/osm-testdata/7/783/result | 0 .../data}/osm-testdata/7/783/test.json | 0 .../data}/osm-testdata/7/783/ways.wkt | 0 .../data}/osm-testdata/7/784/data.osm | 0 .../data}/osm-testdata/7/784/data.osm.pbf | Bin .../data}/osm-testdata/7/784/nodes.wkt | 0 .../data}/osm-testdata/7/784/result | 0 .../data}/osm-testdata/7/784/test.json | 0 .../data}/osm-testdata/7/784/ways.wkt | 0 .../data}/osm-testdata/7/785/data.osm | 0 .../data}/osm-testdata/7/785/data.osm.pbf | Bin .../data}/osm-testdata/7/785/nodes.wkt | 0 .../data}/osm-testdata/7/785/result | 0 .../data}/osm-testdata/7/785/test.json | 0 .../data}/osm-testdata/7/785/ways.wkt | 0 .../data}/osm-testdata/7/790/data.osm | 0 .../data}/osm-testdata/7/790/data.osm.pbf | Bin .../data}/osm-testdata/7/790/nodes.wkt | 0 .../data}/osm-testdata/7/790/result | 0 .../data}/osm-testdata/7/790/test.json | 0 .../data}/osm-testdata/7/790/ways.wkt | 0 .../data}/osm-testdata/7/791/data.osm | 0 .../data}/osm-testdata/7/791/data.osm.pbf | Bin .../data}/osm-testdata/7/791/nodes.wkt | 0 .../data}/osm-testdata/7/791/result | 0 .../data}/osm-testdata/7/791/test.json | 0 .../data}/osm-testdata/7/791/ways.wkt | 0 .../data}/osm-testdata/7/792/data.osm | 0 .../data}/osm-testdata/7/792/data.osm.pbf | Bin .../data}/osm-testdata/7/792/nodes.wkt | 0 .../data}/osm-testdata/7/792/result | 0 .../data}/osm-testdata/7/792/test.json | 0 .../data}/osm-testdata/7/792/ways.wkt | 0 .../data}/osm-testdata/7/793/data.osm | 0 .../data}/osm-testdata/7/793/data.osm.pbf | Bin .../data}/osm-testdata/7/793/nodes.wkt | 0 .../data}/osm-testdata/7/793/result | 0 .../data}/osm-testdata/7/793/test.json | 0 .../data}/osm-testdata/7/793/ways.wkt | 0 .../data}/osm-testdata/7/794/data.osm | 0 .../data}/osm-testdata/7/794/data.osm.pbf | Bin .../data}/osm-testdata/7/794/nodes.wkt | 0 .../data}/osm-testdata/7/794/result | 0 .../data}/osm-testdata/7/794/test.json | 0 .../data}/osm-testdata/7/794/ways.wkt | 0 .../data}/osm-testdata/7/795/data.osm | 0 .../data}/osm-testdata/7/795/data.osm.pbf | Bin .../data}/osm-testdata/7/795/nodes.wkt | 0 .../data}/osm-testdata/7/795/result | 0 .../data}/osm-testdata/7/795/test.json | 0 .../data}/osm-testdata/7/795/ways.wkt | 0 .../data}/osm-testdata/7/description.txt | 0 .../data}/osm-testdata/9/900/data.osm | 0 .../data}/osm-testdata/9/900/data.osm.pbf | Bin .../data}/osm-testdata/9/900/nodes.wkt | 0 .../data}/osm-testdata/9/900/result | 0 .../data}/osm-testdata/9/900/test.json | 0 .../data}/osm-testdata/9/900/ways.wkt | 0 .../data}/osm-testdata/9/901/data.osm | 0 .../data}/osm-testdata/9/901/data.osm.pbf | Bin .../data}/osm-testdata/9/901/nodes.wkt | 0 .../data}/osm-testdata/9/901/result | 0 .../data}/osm-testdata/9/901/test.json | 0 .../data}/osm-testdata/9/901/ways.wkt | 0 .../data}/osm-testdata/9/902/data.osm | 0 .../data}/osm-testdata/9/902/data.osm.pbf | Bin .../data}/osm-testdata/9/902/nodes.wkt | 0 .../data}/osm-testdata/9/902/result | 0 .../data}/osm-testdata/9/902/test.json | 0 .../data}/osm-testdata/9/902/ways.wkt | 0 .../data}/osm-testdata/9/903/data.osm | 0 .../data}/osm-testdata/9/903/data.osm.pbf | Bin .../data}/osm-testdata/9/903/nodes.wkt | 0 .../data}/osm-testdata/9/903/result | 0 .../data}/osm-testdata/9/903/test.json | 0 .../data}/osm-testdata/9/903/ways.wkt | 0 .../data}/osm-testdata/9/904/data.osm | 0 .../data}/osm-testdata/9/904/data.osm.pbf | Bin .../data}/osm-testdata/9/904/nodes.wkt | 0 .../data}/osm-testdata/9/904/result | 0 .../data}/osm-testdata/9/904/test.json | 0 .../data}/osm-testdata/9/904/ways.wkt | 0 .../data}/osm-testdata/9/905/data.osm | 0 .../data}/osm-testdata/9/905/data.osm.pbf | Bin .../data}/osm-testdata/9/905/nodes.wkt | 0 .../data}/osm-testdata/9/905/result | 0 .../data}/osm-testdata/9/905/test.json | 0 .../data}/osm-testdata/9/905/ways.wkt | 0 .../data}/osm-testdata/9/910/data.osm | 0 .../data}/osm-testdata/9/910/data.osm.pbf | Bin .../data}/osm-testdata/9/910/nodes.wkt | 0 .../data}/osm-testdata/9/910/result | 0 .../data}/osm-testdata/9/910/test.json | 0 .../data}/osm-testdata/9/910/ways.wkt | 0 .../data}/osm-testdata/9/911/data.osm | 0 .../data}/osm-testdata/9/911/data.osm.pbf | Bin .../data}/osm-testdata/9/911/nodes.wkt | 0 .../data}/osm-testdata/9/911/result | 0 .../data}/osm-testdata/9/911/test.json | 0 .../data}/osm-testdata/9/911/ways.wkt | 0 .../data}/osm-testdata/9/912/data.osm | 0 .../data}/osm-testdata/9/912/data.osm.pbf | Bin .../data}/osm-testdata/9/912/nodes.wkt | 0 .../data}/osm-testdata/9/912/result | 0 .../data}/osm-testdata/9/912/test.json | 0 .../data}/osm-testdata/9/912/ways.wkt | 0 .../data}/osm-testdata/9/913/data.osm | 0 .../data}/osm-testdata/9/913/data.osm.pbf | Bin .../data}/osm-testdata/9/913/nodes.wkt | 0 .../data}/osm-testdata/9/913/result | 0 .../data}/osm-testdata/9/913/test.json | 0 .../data}/osm-testdata/9/913/ways.wkt | 0 .../data}/osm-testdata/9/920/data.osm | 0 .../data}/osm-testdata/9/920/data.osm.pbf | Bin .../data}/osm-testdata/9/920/nodes.wkt | 0 .../data}/osm-testdata/9/920/result | 0 .../data}/osm-testdata/9/920/test.json | 0 .../data}/osm-testdata/9/920/ways.wkt | 0 .../data}/osm-testdata/9/921/data.osm | 0 .../data}/osm-testdata/9/921/data.osm.pbf | Bin .../data}/osm-testdata/9/921/nodes.wkt | 0 .../data}/osm-testdata/9/921/result | 0 .../data}/osm-testdata/9/921/test.json | 0 .../data}/osm-testdata/9/921/ways.wkt | 0 .../data}/osm-testdata/9/922/data.osm | 0 .../data}/osm-testdata/9/922/data.osm.pbf | Bin .../data}/osm-testdata/9/922/nodes.wkt | 0 .../data}/osm-testdata/9/922/result | 0 .../data}/osm-testdata/9/922/test.json | 0 .../data}/osm-testdata/9/922/ways.wkt | 0 .../data}/osm-testdata/9/923/data.osm | 0 .../data}/osm-testdata/9/923/data.osm.pbf | Bin .../data}/osm-testdata/9/923/nodes.wkt | 0 .../data}/osm-testdata/9/923/result | 0 .../data}/osm-testdata/9/923/test.json | 0 .../data}/osm-testdata/9/923/ways.wkt | 0 .../data}/osm-testdata/9/924/data.osm | 0 .../data}/osm-testdata/9/924/data.osm.pbf | Bin .../data}/osm-testdata/9/924/nodes.wkt | 0 .../data}/osm-testdata/9/924/result | 0 .../data}/osm-testdata/9/924/test.json | 0 .../data}/osm-testdata/9/924/ways.wkt | 0 .../data}/osm-testdata/9/925/data.osm | 0 .../data}/osm-testdata/9/925/data.osm.pbf | Bin .../data}/osm-testdata/9/925/nodes.wkt | 0 .../data}/osm-testdata/9/925/result | 0 .../data}/osm-testdata/9/925/test.json | 0 .../data}/osm-testdata/9/925/ways.wkt | 0 .../data}/osm-testdata/9/926/data.osm | 0 .../data}/osm-testdata/9/926/data.osm.pbf | Bin .../data}/osm-testdata/9/926/nodes.wkt | 0 .../data}/osm-testdata/9/926/result | 0 .../data}/osm-testdata/9/926/test.json | 0 .../data}/osm-testdata/9/926/ways.wkt | 0 .../data}/osm-testdata/9/927/data.osm | 0 .../data}/osm-testdata/9/927/data.osm.pbf | Bin .../data}/osm-testdata/9/927/nodes.wkt | 0 .../data}/osm-testdata/9/927/result | 0 .../data}/osm-testdata/9/927/test.json | 0 .../data}/osm-testdata/9/927/ways.wkt | 0 .../data}/osm-testdata/9/930/data.osm | 0 .../data}/osm-testdata/9/930/data.osm.pbf | Bin .../data}/osm-testdata/9/930/nodes.wkt | 0 .../data}/osm-testdata/9/930/result | 0 .../data}/osm-testdata/9/930/test.json | 0 .../data}/osm-testdata/9/930/ways.wkt | 0 .../data}/osm-testdata/9/931/data.osm | 0 .../data}/osm-testdata/9/931/data.osm.pbf | Bin .../data}/osm-testdata/9/931/nodes.wkt | 0 .../data}/osm-testdata/9/931/result | 0 .../data}/osm-testdata/9/931/test.json | 0 .../data}/osm-testdata/9/931/ways.wkt | 0 .../data}/osm-testdata/9/940/data.osm | 0 .../data}/osm-testdata/9/940/data.osm.pbf | Bin .../data}/osm-testdata/9/940/nodes.wkt | 0 .../data}/osm-testdata/9/940/result | 0 .../data}/osm-testdata/9/940/test.json | 0 .../data}/osm-testdata/9/940/ways.wkt | 0 .../data}/osm-testdata/9/950/data.osm | 0 .../data}/osm-testdata/9/950/data.osm.pbf | Bin .../data}/osm-testdata/9/950/nodes.wkt | 0 .../data}/osm-testdata/9/950/result | 0 .../data}/osm-testdata/9/950/test.json | 0 .../data}/osm-testdata/9/950/ways.wkt | 0 .../data}/osm-testdata/9/description.txt | 0 .../data}/osm-testdata/README.md | 0 .../data}/osm-testdata/multipolygon-tests.png | Bin .../data}/osm-testdata/tests.json | 0 .../data}/pmtiles/empty.pmtiles | 0 .../data}/pmtiles/invalid.pmtiles | 0 .../data}/pmtiles/invalid_v4.pmtiles | Bin .../data}/pmtiles/test_fixture_1.pmtiles | Bin .../data}/pmtiles/test_fixture_2.pmtiles | Bin .../data}/queries/hello-world.sql | 0 .../data}/queries/osm_create_extensions.sql | 0 .../data}/queries/osm_create_gin_indexes.sql | 0 .../data}/queries/osm_create_gist_indexes.sql | 0 .../queries/osm_create_spgist_indexes.sql | 0 .../data}/queries/osm_create_tables.sql | 0 .../data}/queries/osm_drop_tables.sql | 0 .../data}/queries/osm_truncate_table.sql | 0 .../data}/queries/queries.sql | 0 .../data}/queries/schema.sql | 0 .../data}/ripe/sample.txt | 0 .../data}/tilesets/tilejson.json | 0 .../data}/tilesets/tileset.json | 0 baremaps-testing/pom.xml | 13 ++ .../baremaps/openstreetmap}/OsmSample.java | 18 +- .../baremaps/openstreetmap}/TestFiles.java | 4 +- pom.xml | 13 ++ 927 files changed, 377 insertions(+), 314 deletions(-) delete mode 100644 baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java delete mode 100644 baremaps-core/src/main/java/org/apache/baremaps/utils/RoundingTransformer.java create mode 100644 baremaps-openstreetmap/pom.xml rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/OsmReaders.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/BlobToBlockMapper.java (96%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/BlockEntitiesHandler.java (96%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/ChangeEntitiesHandler.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java (97%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java (96%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/NodeGeometryBuilder.java (87%) rename {baremaps-core/src/main/java/org/apache/baremaps/utils => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function}/ProjectionTransformer.java (97%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java (89%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java (87%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Blob.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Block.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Bound.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Change.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/DataBlock.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Element.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Entity.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Header.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/HeaderBlock.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Info.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Member.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Node.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Relation.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/State.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/User.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/model/Way.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/pbf/BlobIterator.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/pbf/DataBlockReader.java (99%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/pbf/HeaderBlockReader.java (98%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java (93%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java (98%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/state/StateReader.java (100%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/AccumulatingConsumer.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/BatchedSpliterator.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/BufferedSpliterator.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/ConsumerUtils.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/HoldingConsumer.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/PartitionedSpliterator.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/ProgressLogger.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/StreamException.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/StreamUtils.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/SupplierUtils.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/stream/ThrowingFunction.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/utils/CRSUtils.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap}/utils/GeometryUtils.java (96%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeReader.java (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java (99%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java (88%) rename {baremaps-core => baremaps-openstreetmap}/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java (99%) rename {baremaps-core => baremaps-openstreetmap}/src/main/proto/fileformat.proto (100%) rename {baremaps-core => baremaps-openstreetmap}/src/main/proto/osmformat.proto (100%) rename {baremaps-core => baremaps-openstreetmap}/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java (73%) rename {baremaps-core => baremaps-openstreetmap}/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java (81%) rename {baremaps-core => baremaps-openstreetmap}/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java (99%) rename {baremaps-core => baremaps-openstreetmap}/src/test/java/org/apache/baremaps/openstreetmap/state/StateReaderTest.java (100%) rename {baremaps-core/src/test/java/org/apache/baremaps => baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap}/stream/BatchedSpliteratorTest.java (98%) rename {baremaps-core/src/test/java/org/apache/baremaps => baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap}/stream/PartitionedSpliteratorTest.java (98%) rename {baremaps-core/src/test/java/org/apache/baremaps => baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap}/stream/StreamUtilsTest.java (98%) rename {baremaps-core => baremaps-openstreetmap}/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java (83%) rename {baremaps-core => baremaps-openstreetmap}/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java (84%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/archives/file.bz2 (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/archives/file.gz (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/archives/file.tar.bz2 (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/archives/file.tar.gz (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/archives/file.zip (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/config/style.js (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/data/README.md (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/data/countries.fgb (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/data/countries.gpkg (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/data/data.gpkg (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/geonames/sample.txt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/000/000/002.osc.gz (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/000/000/002.osc.xml (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/000/000/002.state.txt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/000/000/003.osc.gz (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/000/000/003.osc.xml (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/000/000/003.state.txt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/000/000/004.osc.gz (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/000/000/004.osc.xml (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/000/000/004.state.txt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/build.sh (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/sample.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/sample.osm.xml (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-sample/state.txt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/100/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/100/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/100/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/100/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/100/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/101/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/101/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/101/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/101/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/101/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/102/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/102/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/102/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/102/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/102/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/110/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/110/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/110/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/110/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/110/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/110/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/111/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/111/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/111/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/111/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/111/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/111/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/112/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/112/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/112/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/112/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/112/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/112/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/113/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/113/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/113/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/113/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/113/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/113/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/114/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/114/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/114/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/114/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/114/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/114/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/115/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/115/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/115/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/115/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/115/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/115/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/116/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/116/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/116/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/116/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/116/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/116/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/120/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/120/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/120/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/120/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/121/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/121/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/121/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/121/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/121/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/121/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/122/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/122/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/122/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/122/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/122/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/122/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/123/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/123/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/123/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/123/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/123/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/123/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/124/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/124/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/124/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/124/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/124/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/124/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/130/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/130/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/130/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/130/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/130/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/130/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/131/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/131/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/131/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/131/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/131/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/131/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/132/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/132/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/132/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/132/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/132/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/132/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/133/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/133/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/133/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/133/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/133/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/133/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/134/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/134/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/134/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/134/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/134/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/134/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/1/description.txt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/300/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/300/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/300/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/300/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/300/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/301/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/301/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/301/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/301/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/301/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/302/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/302/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/302/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/302/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/302/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/303/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/303/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/303/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/303/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/303/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/304/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/304/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/304/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/304/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/304/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/305/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/305/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/305/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/305/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/305/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/306/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/306/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/306/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/306/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/306/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/307/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/307/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/307/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/307/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/307/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/3/description.txt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/700/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/700/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/700/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/700/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/700/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/700/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/701/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/701/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/701/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/701/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/701/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/701/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/702/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/702/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/702/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/702/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/702/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/702/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/703/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/703/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/703/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/703/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/703/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/703/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/704/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/704/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/704/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/704/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/704/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/704/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/705/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/705/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/705/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/705/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/705/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/705/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/706/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/706/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/706/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/706/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/706/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/706/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/707/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/707/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/707/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/707/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/707/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/707/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/708/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/708/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/708/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/708/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/708/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/708/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/709/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/709/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/709/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/709/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/709/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/709/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/710/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/710/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/710/labels.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/710/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/710/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/710/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/710/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/711/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/711/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/711/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/711/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/711/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/711/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/714/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/714/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/714/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/714/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/714/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/714/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/715/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/715/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/715/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/715/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/715/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/715/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/720/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/720/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/720/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/720/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/720/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/720/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/721/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/721/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/721/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/721/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/721/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/721/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/722/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/722/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/722/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/722/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/722/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/722/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/723/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/723/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/723/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/723/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/723/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/723/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/724/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/724/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/724/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/724/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/724/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/724/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/725/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/725/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/725/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/725/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/725/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/725/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/726/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/726/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/726/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/726/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/726/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/726/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/727/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/727/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/727/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/727/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/727/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/727/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/728/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/728/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/728/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/728/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/728/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/728/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/729/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/729/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/729/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/729/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/729/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/729/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/730/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/730/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/730/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/730/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/730/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/730/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/731/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/731/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/731/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/731/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/731/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/731/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/732/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/732/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/732/labels.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/732/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/732/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/732/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/732/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/733/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/733/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/733/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/733/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/733/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/733/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/734/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/734/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/734/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/734/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/734/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/734/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/740/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/740/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/740/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/740/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/740/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/740/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/741/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/741/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/741/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/741/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/741/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/741/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/742/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/742/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/742/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/742/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/742/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/742/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/743/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/743/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/743/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/743/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/743/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/743/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/744/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/744/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/744/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/744/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/744/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/744/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/745/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/745/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/745/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/745/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/745/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/745/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/746/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/746/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/746/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/746/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/746/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/746/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/747/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/747/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/747/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/747/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/747/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/747/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/748/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/748/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/748/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/748/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/748/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/748/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/749/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/749/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/749/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/749/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/749/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/749/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/750/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/750/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/750/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/750/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/750/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/750/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/751/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/751/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/751/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/751/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/751/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/751/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/752/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/752/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/752/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/752/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/752/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/752/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/753/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/753/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/753/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/753/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/753/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/753/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/754/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/754/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/754/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/754/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/754/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/754/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/755/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/755/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/755/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/755/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/755/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/755/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/756/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/756/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/756/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/756/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/756/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/756/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/757/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/757/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/757/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/757/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/757/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/757/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/758/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/758/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/758/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/758/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/758/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/758/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/759/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/759/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/759/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/759/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/759/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/759/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/760/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/760/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/760/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/760/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/760/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/760/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/761/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/761/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/761/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/761/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/761/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/761/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/762/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/762/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/762/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/762/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/762/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/762/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/763/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/763/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/763/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/763/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/763/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/763/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/764/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/764/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/764/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/764/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/764/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/764/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/765/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/765/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/765/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/765/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/765/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/765/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/766/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/766/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/766/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/766/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/766/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/766/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/767/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/767/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/767/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/767/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/767/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/767/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/768/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/768/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/768/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/768/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/768/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/768/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/770/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/770/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/770/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/770/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/770/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/770/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/771/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/771/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/771/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/771/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/771/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/771/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/772/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/772/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/772/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/772/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/772/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/772/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/773/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/773/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/773/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/773/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/773/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/773/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/774/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/774/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/774/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/774/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/774/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/774/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/775/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/775/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/775/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/775/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/775/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/775/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/776/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/776/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/776/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/776/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/776/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/776/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/777/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/777/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/777/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/777/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/777/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/777/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/778/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/778/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/778/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/778/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/778/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/778/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/779/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/779/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/779/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/779/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/779/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/779/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/780/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/780/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/780/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/780/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/780/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/780/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/781/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/781/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/781/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/781/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/781/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/781/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/782/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/782/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/782/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/782/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/782/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/782/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/783/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/783/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/783/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/783/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/783/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/783/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/784/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/784/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/784/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/784/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/784/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/784/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/785/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/785/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/785/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/785/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/785/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/785/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/790/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/790/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/790/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/790/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/790/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/790/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/791/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/791/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/791/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/791/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/791/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/791/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/792/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/792/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/792/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/792/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/792/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/792/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/793/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/793/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/793/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/793/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/793/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/793/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/794/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/794/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/794/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/794/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/794/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/794/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/795/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/795/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/795/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/795/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/795/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/795/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/7/description.txt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/900/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/900/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/900/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/900/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/900/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/900/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/901/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/901/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/901/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/901/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/901/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/901/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/902/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/902/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/902/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/902/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/902/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/902/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/903/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/903/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/903/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/903/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/903/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/903/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/904/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/904/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/904/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/904/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/904/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/904/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/905/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/905/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/905/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/905/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/905/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/905/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/910/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/910/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/910/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/910/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/910/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/910/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/911/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/911/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/911/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/911/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/911/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/911/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/912/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/912/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/912/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/912/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/912/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/912/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/913/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/913/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/913/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/913/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/913/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/913/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/920/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/920/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/920/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/920/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/920/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/920/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/921/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/921/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/921/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/921/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/921/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/921/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/922/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/922/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/922/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/922/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/922/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/922/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/923/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/923/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/923/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/923/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/923/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/923/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/924/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/924/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/924/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/924/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/924/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/924/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/925/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/925/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/925/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/925/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/925/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/925/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/926/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/926/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/926/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/926/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/926/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/926/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/927/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/927/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/927/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/927/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/927/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/927/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/930/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/930/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/930/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/930/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/930/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/930/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/931/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/931/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/931/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/931/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/931/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/931/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/940/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/940/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/940/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/940/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/940/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/940/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/950/data.osm (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/950/data.osm.pbf (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/950/nodes.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/950/result (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/950/test.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/950/ways.wkt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/9/description.txt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/README.md (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/multipolygon-tests.png (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/osm-testdata/tests.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/pmtiles/empty.pmtiles (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/pmtiles/invalid.pmtiles (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/pmtiles/invalid_v4.pmtiles (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/pmtiles/test_fixture_1.pmtiles (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/pmtiles/test_fixture_2.pmtiles (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/queries/hello-world.sql (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/queries/osm_create_extensions.sql (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/queries/osm_create_gin_indexes.sql (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/queries/osm_create_gist_indexes.sql (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/queries/osm_create_spgist_indexes.sql (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/queries/osm_create_tables.sql (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/queries/osm_drop_tables.sql (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/queries/osm_truncate_table.sql (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/queries/queries.sql (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/queries/schema.sql (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/ripe/sample.txt (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/tilesets/tilejson.json (100%) rename {baremaps-core/src/test/resources => baremaps-testing/data}/tilesets/tileset.json (100%) create mode 100644 baremaps-testing/pom.xml rename {baremaps-core/src/test/java/org/apache/baremaps/testing => baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap}/OsmSample.java (93%) rename {baremaps-core/src/test/java/org/apache/baremaps/testing => baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap}/TestFiles.java (92%) diff --git a/baremaps-core/pom.xml b/baremaps-core/pom.xml index 813322ef3..9ef438ed4 100644 --- a/baremaps-core/pom.xml +++ b/baremaps-core/pom.xml @@ -78,6 +78,14 @@ limitations under the License. net.ripe.ipresource ipresource + + org.apache.baremaps + baremaps-openstreetmap + + + org.apache.baremaps + baremaps-testing + org.apache.calcite calcite-core diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java index 0d2e6d8e5..c25c5e064 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java @@ -1,3 +1,20 @@ +/* + * 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.baremaps.database.collection; import java.util.*; @@ -5,106 +22,106 @@ public class DataConversions { - public static Map asMap(DataMap dataMap) { - if (dataMap instanceof DataMapAdapter adapter) { - return adapter.map; - } else { - return new MapAdapter<>(dataMap); - } + public static Map asMap(DataMap dataMap) { + if (dataMap instanceof DataMapAdapteradapter) { + return adapter.map; + } else { + return new MapAdapter<>(dataMap); } + } - public static DataMap asDataMap(Map map) { - if (map instanceof MapAdapter adapter) { - return adapter.map; - } else { - return new DataMapAdapter<>(map); - } + public static DataMap asDataMap(Map map) { + if (map instanceof MapAdapteradapter) { + return adapter.map; + } else { + return new DataMapAdapter<>(map); } + } - public static class MapAdapter extends AbstractMap { + public static class MapAdapter extends AbstractMap { - private final DataMap map; - private final int size; + private final DataMap map; + private final int size; + + public MapAdapter(DataMap dataMap) { + this.map = dataMap; + this.size = (int) dataMap.size(); + } - public MapAdapter(DataMap dataMap) { - this.map = dataMap; - this.size = (int) dataMap.size(); + @Override + public Set> entrySet() { + return new AbstractSet<>() { + @Override + public Iterator> iterator() { + return map.entryIterator(); } @Override - public Set> entrySet() { - return new AbstractSet<>() { - @Override - public Iterator> iterator() { - return map.entryIterator(); - } - - @Override - public int size() { - return size; - } - }; + public int size() { + return size; } + }; } + } - public static class DataMapAdapter implements DataMap { + public static class DataMapAdapter implements DataMap { - private final Map map; + private final Map map; - public DataMapAdapter(Map map) { - this.map = map; - } + public DataMapAdapter(Map map) { + this.map = map; + } - @Override - public long size() { - return map.size(); - } + @Override + public long size() { + return map.size(); + } - @Override - public V get(Object key) { - return map.get(key); - } + @Override + public V get(Object key) { + return map.get(key); + } - @Override - public V put(K key, V value) { - return map.put(key, value); - } + @Override + public V put(K key, V value) { + return map.put(key, value); + } - @Override - public V remove(K key) { - return map.remove(key); - } + @Override + public V remove(K key) { + return map.remove(key); + } - @Override - public boolean containsKey(Object key) { - return map.containsKey(key); - } + @Override + public boolean containsKey(Object key) { + return map.containsKey(key); + } - @Override - public boolean containsValue(V value) { - return map.containsValue(value); - } + @Override + public boolean containsValue(V value) { + return map.containsValue(value); + } - @Override - public void clear() { - map.clear(); - } + @Override + public void clear() { + map.clear(); + } - @Override - public Iterator keyIterator() { - return map.keySet().iterator(); - } + @Override + public Iterator keyIterator() { + return map.keySet().iterator(); + } - @Override - public Iterator valueIterator() { - return map.values().iterator(); - } + @Override + public Iterator valueIterator() { + return map.values().iterator(); + } - @Override - public Iterator> entryIterator() { - return map.entrySet().iterator(); - } + @Override + public Iterator> entryIterator() { + return map.entrySet().iterator(); } + } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java index 3fab02391..fc145df8a 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java @@ -96,6 +96,7 @@ default List getAll(List keys) { /** * Returns true if the map contains no elements. + * * @return true if the map contains no elements */ default boolean isEmpty() { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java deleted file mode 100644 index fdeef4778..000000000 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MapAdapter.java +++ /dev/null @@ -1,25 +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.baremaps.database.collection; - -import java.util.AbstractMap; -import java.util.AbstractSet; -import java.util.Iterator; -import java.util.Set; - - diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/WKBDataType.java b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/WKBDataType.java index f63f5b139..06078d432 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/WKBDataType.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/WKBDataType.java @@ -21,7 +21,7 @@ import java.nio.ByteBuffer; import org.apache.baremaps.database.type.DataType; -import org.apache.baremaps.utils.GeometryUtils; +import org.apache.baremaps.openstreetmap.utils.GeometryUtils; import org.locationtech.jts.geom.Geometry; /** A {@link DataType} for reading and writing {@link Geometry} in {@link ByteBuffer}s. */ diff --git a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java index d05b8034d..671ca1b2e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java @@ -36,9 +36,8 @@ /** * A reader for the Geonames database. */ -public class GeonamesReader implements OsmReader { +public class GeonamesReader { - @Override public Stream stream(InputStream inputStream) throws IOException { CsvMapper mapper = new CsvMapper(); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/iploc/IpLocRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/iploc/IpLocRepository.java index cc726d9f8..d4f696737 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/iploc/IpLocRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/iploc/IpLocRepository.java @@ -28,7 +28,7 @@ import java.util.List; import java.util.stream.Stream; import javax.sql.DataSource; -import org.apache.baremaps.stream.StreamUtils; +import org.apache.baremaps.openstreetmap.stream.StreamUtils; import org.locationtech.jts.geom.Coordinate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java index adaade371..bdf18bf55 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java @@ -17,8 +17,6 @@ package org.apache.baremaps.openstreetmap; -import static org.apache.baremaps.stream.ConsumerUtils.consumeThenReturn; - import java.io.BufferedInputStream; import java.net.MalformedURLException; import java.net.URI; @@ -30,13 +28,14 @@ import java.util.zip.GZIPInputStream; import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder; import org.apache.baremaps.openstreetmap.function.EntityToGeometryMapper; +import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.apache.baremaps.openstreetmap.model.*; import org.apache.baremaps.openstreetmap.repository.HeaderRepository; import org.apache.baremaps.openstreetmap.repository.Repository; +import org.apache.baremaps.openstreetmap.stream.ConsumerUtils; +import org.apache.baremaps.openstreetmap.stream.StreamException; import org.apache.baremaps.openstreetmap.xml.XmlChangeReader; -import org.apache.baremaps.stream.StreamException; import org.apache.baremaps.tilestore.TileCoord; -import org.apache.baremaps.utils.ProjectionTransformer; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Geometry; import org.slf4j.Logger; @@ -135,7 +134,8 @@ private Optional geometriesForPreviousVersion(Entity entity) { private Stream geometriesForNextVersion(Change change) { return change.getEntities().stream() - .map(consumeThenReturn(new EntityGeometryBuilder(coordinateMap, referenceMap))) + .map( + ConsumerUtils.consumeThenReturn(new EntityGeometryBuilder(coordinateMap, referenceMap))) .flatMap(new EntityToGeometryMapper().andThen(Optional::stream)); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresNodeRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresNodeRepository.java index 829afe53f..6b6efb8e5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresNodeRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresNodeRepository.java @@ -34,8 +34,8 @@ import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.repository.NodeRepository; import org.apache.baremaps.openstreetmap.repository.RepositoryException; +import org.apache.baremaps.openstreetmap.utils.GeometryUtils; import org.apache.baremaps.postgres.copy.CopyWriter; -import org.apache.baremaps.utils.GeometryUtils; import org.locationtech.jts.geom.Geometry; import org.postgresql.PGConnection; import org.postgresql.copy.PGCopyOutputStream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresRelationRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresRelationRepository.java index caef9d69a..6a5c7fe08 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresRelationRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresRelationRepository.java @@ -33,8 +33,8 @@ import org.apache.baremaps.openstreetmap.model.Relation; import org.apache.baremaps.openstreetmap.repository.RelationRepository; import org.apache.baremaps.openstreetmap.repository.RepositoryException; +import org.apache.baremaps.openstreetmap.utils.GeometryUtils; import org.apache.baremaps.postgres.copy.CopyWriter; -import org.apache.baremaps.utils.GeometryUtils; import org.locationtech.jts.geom.Geometry; import org.postgresql.PGConnection; import org.postgresql.copy.PGCopyOutputStream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresWayRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresWayRepository.java index 7e1650e22..572bee597 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresWayRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresWayRepository.java @@ -37,8 +37,8 @@ import org.apache.baremaps.openstreetmap.model.Way; import org.apache.baremaps.openstreetmap.repository.RepositoryException; import org.apache.baremaps.openstreetmap.repository.WayRepository; +import org.apache.baremaps.openstreetmap.utils.GeometryUtils; import org.apache.baremaps.postgres.copy.CopyWriter; -import org.apache.baremaps.utils.GeometryUtils; import org.locationtech.jts.geom.Geometry; import org.postgresql.PGConnection; import org.postgresql.copy.PGCopyOutputStream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/BlockImporter.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/BlockImporter.java index ade44a057..8706efb24 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/BlockImporter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/BlockImporter.java @@ -21,7 +21,7 @@ import java.util.function.Consumer; import org.apache.baremaps.openstreetmap.model.*; -import org.apache.baremaps.stream.StreamException; +import org.apache.baremaps.openstreetmap.stream.StreamException; /** A consumer for importing OpenStreetMap blocks in a database. */ public class BlockImporter implements Consumer { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java index b0ed666d6..88374ad56 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java @@ -27,7 +27,7 @@ import org.apache.baremaps.database.schema.DataRowImpl; import org.apache.baremaps.database.schema.DataRowType; import org.apache.baremaps.database.schema.DataTable; -import org.apache.baremaps.utils.GeometryUtils; +import org.apache.baremaps.openstreetmap.utils.GeometryUtils; import org.locationtech.jts.geom.*; /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/utils/RoundingTransformer.java b/baremaps-core/src/main/java/org/apache/baremaps/utils/RoundingTransformer.java deleted file mode 100644 index 40cbd0f89..000000000 --- a/baremaps-core/src/main/java/org/apache/baremaps/utils/RoundingTransformer.java +++ /dev/null @@ -1,62 +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.baremaps.utils; - -import org.locationtech.jts.geom.CoordinateSequence; -import org.locationtech.jts.geom.Geometry; -import org.locationtech.jts.geom.util.GeometryTransformer; - -/** - * A transformer that rounds the coordinates of a geometry to a given precision. - */ -public class RoundingTransformer extends GeometryTransformer { - - private int precision; - - /** - * Constructs a transformer that rounds the coordinates of a geometry to a given precision. - * - * @param precision the precision - */ - public RoundingTransformer(int precision) { - this.precision = precision; - } - - /** - * Rounds the coordinates of a geometry to a given precision. - * - * @param sequence the coordinate sequence - * @param parent the parent geometry - * @return the geometry - */ - @Override - protected CoordinateSequence transformCoordinates(CoordinateSequence sequence, Geometry parent) { - CoordinateSequence rounded = super.transformCoordinates(sequence, parent); - for (int i = 0; i < rounded.size(); i++) { - double roundedX = - Math.round(rounded.getOrdinate(i, CoordinateSequence.X) * Math.pow(10, precision)) - / Math.pow(10, precision); - double roundedY = - Math.round(rounded.getOrdinate(i, CoordinateSequence.Y) * Math.pow(10, precision)) - / Math.pow(10, precision); - rounded.setOrdinate(i, CoordinateSequence.X, roundedX); - rounded.setOrdinate(i, CoordinateSequence.Y, roundedY); - } - return rounded; - } -} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java index e0c0f87e0..e4b2a1f7d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java @@ -26,7 +26,7 @@ import org.apache.baremaps.geocoder.GeocoderConstants; import org.apache.baremaps.geocoderosm.GeocoderOsmConsumerEntity; import org.apache.baremaps.openstreetmap.pbf.PbfEntityReader; -import org.apache.baremaps.stream.StreamUtils; +import org.apache.baremaps.openstreetmap.stream.StreamUtils; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.apache.lucene.index.IndexWriter; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateIplocIndex.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateIplocIndex.java index e3702393c..2fc16a8ba 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateIplocIndex.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateIplocIndex.java @@ -26,7 +26,7 @@ import java.util.StringJoiner; import org.apache.baremaps.iploc.IpLocReader; import org.apache.baremaps.iploc.IpLocRepository; -import org.apache.baremaps.stream.StreamException; +import org.apache.baremaps.openstreetmap.stream.StreamException; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.apache.lucene.search.SearcherFactory; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExportVectorTiles.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExportVectorTiles.java index 4bff7db2f..95a5a57e3 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExportVectorTiles.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExportVectorTiles.java @@ -29,8 +29,8 @@ import java.util.stream.Collectors; import javax.sql.DataSource; import org.apache.baremaps.config.ConfigReader; -import org.apache.baremaps.stream.ProgressLogger; -import org.apache.baremaps.stream.StreamUtils; +import org.apache.baremaps.openstreetmap.stream.ProgressLogger; +import org.apache.baremaps.openstreetmap.stream.StreamUtils; import org.apache.baremaps.tilestore.*; import org.apache.baremaps.tilestore.file.FileTileStore; import org.apache.baremaps.tilestore.mbtiles.MBTilesStore; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java index 9b007a44d..ac85c8cb6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java @@ -21,9 +21,9 @@ import java.util.StringJoiner; import org.apache.baremaps.database.schema.DataTableAdapter; import org.apache.baremaps.database.schema.DataTableGeometryTransformer; +import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.apache.baremaps.storage.geopackage.GeoPackageDataSchema; import org.apache.baremaps.storage.postgres.PostgresDataSchema; -import org.apache.baremaps.utils.ProjectionTransformer; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.apache.baremaps.workflow.WorkflowException; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java index 18bd59915..e58962bdd 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java @@ -17,7 +17,7 @@ package org.apache.baremaps.workflow.tasks; -import static org.apache.baremaps.stream.ConsumerUtils.consumeThenReturn; +import static org.apache.baremaps.openstreetmap.stream.ConsumerUtils.consumeThenReturn; import java.io.BufferedInputStream; import java.nio.file.Files; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java index 5800b26ba..b6ea168a4 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java @@ -23,7 +23,6 @@ import java.util.List; import java.util.Map; import java.util.StringJoiner; -import org.apache.baremaps.database.collection.*; import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; import org.apache.baremaps.openstreetmap.model.Way; @@ -34,7 +33,7 @@ import org.apache.baremaps.openstreetmap.postgres.PostgresWayRepository; import org.apache.baremaps.openstreetmap.repository.*; import org.apache.baremaps.openstreetmap.repository.BlockImporter; -import org.apache.baremaps.stream.StreamUtils; +import org.apache.baremaps.openstreetmap.stream.StreamUtils; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.locationtech.jts.geom.Coordinate; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java index 8480fb88f..c90b518da 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java @@ -21,9 +21,9 @@ import java.util.StringJoiner; import org.apache.baremaps.database.schema.DataTableAdapter; import org.apache.baremaps.database.schema.DataTableGeometryTransformer; +import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.apache.baremaps.storage.postgres.PostgresDataSchema; import org.apache.baremaps.storage.shapefile.ShapefileDataTable; -import org.apache.baremaps.utils.ProjectionTransformer; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.apache.baremaps.workflow.WorkflowException; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java b/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java index 69cb579a5..b1b7df233 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java @@ -20,7 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; -import org.apache.baremaps.testing.TestFiles; +import org.apache.baremaps.openstreetmap.TestFiles; import org.apache.baremaps.vectortile.style.Style; import org.junit.jupiter.api.Test; import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java index 56a8588e0..b8c9af866 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java @@ -24,7 +24,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays; -import org.apache.baremaps.testing.TestFiles; +import org.apache.baremaps.openstreetmap.TestFiles; import org.apache.baremaps.utils.FileUtils; import org.apache.baremaps.workflow.WorkflowContext; import org.apache.baremaps.workflow.tasks.CreateGeonamesIndex; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java index 05e4a8794..b6c04d9e1 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java @@ -21,7 +21,7 @@ import java.io.IOException; import java.nio.file.Files; -import org.apache.baremaps.testing.TestFiles; +import org.apache.baremaps.openstreetmap.TestFiles; import org.junit.jupiter.api.Test; class GeonamesReaderTest { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java index 6890e2fcf..08d6e324d 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java @@ -17,7 +17,7 @@ package org.apache.baremaps.geocoderosm; -import static org.apache.baremaps.testing.OsmSample.SAMPLE_OSM_PBF; +import static org.apache.baremaps.openstreetmap.OsmSample.SAMPLE_OSM_PBF; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java b/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java index 9821d8a01..41b6d17a7 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java @@ -28,7 +28,7 @@ import java.util.List; import java.util.Optional; import net.ripe.ipresource.IpResourceRange; -import org.apache.baremaps.testing.TestFiles; +import org.apache.baremaps.openstreetmap.TestFiles; import org.apache.baremaps.utils.FileUtils; import org.apache.baremaps.workflow.WorkflowContext; import org.apache.baremaps.workflow.tasks.CreateGeonamesIndex; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicData.java b/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicData.java index 761272ad5..f1a1f290e 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicData.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicData.java @@ -23,7 +23,7 @@ import java.io.InputStream; import java.nio.file.Files; import java.util.List; -import org.apache.baremaps.testing.TestFiles; +import org.apache.baremaps.openstreetmap.TestFiles; public class NicData { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java index a12f0e61b..d43ec057b 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java @@ -17,7 +17,7 @@ package org.apache.baremaps.openstreetmap.repository; -import static org.apache.baremaps.testing.OsmSample.SAMPLE_OSM_PBF; +import static org.apache.baremaps.openstreetmap.OsmSample.SAMPLE_OSM_PBF; import static org.junit.jupiter.api.Assertions.*; import java.io.IOException; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java index 9d0940071..fcd54d84b 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java @@ -21,7 +21,7 @@ import java.io.IOException; import java.nio.file.Files; -import org.apache.baremaps.testing.TestFiles; +import org.apache.baremaps.openstreetmap.TestFiles; import org.junit.jupiter.api.Test; class FlatGeoBufDataTableTest { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java index b8a5c8ade..15518698e 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java @@ -19,7 +19,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -import org.apache.baremaps.testing.TestFiles; +import org.apache.baremaps.openstreetmap.TestFiles; import org.junit.jupiter.api.Test; class GeoPackageDataSchemaTest { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java index b1df66872..dbf2160ca 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java @@ -19,9 +19,9 @@ import static org.junit.jupiter.api.Assertions.*; +import org.apache.baremaps.openstreetmap.TestFiles; import org.apache.baremaps.storage.postgres.PostgresDataSchema; import org.apache.baremaps.testing.PostgresContainerTest; -import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/pmtiles/PMTilesTest.java b/baremaps-core/src/test/java/org/apache/baremaps/tilestore/pmtiles/PMTilesTest.java index e06f8d038..50b163704 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/pmtiles/PMTilesTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/tilestore/pmtiles/PMTilesTest.java @@ -29,7 +29,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; -import org.apache.baremaps.testing.TestFiles; +import org.apache.baremaps.openstreetmap.TestFiles; import org.junit.jupiter.api.Test; class PMTilesTest { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/utils/ProjectionTransformerTest.java b/baremaps-core/src/test/java/org/apache/baremaps/utils/ProjectionTransformerTest.java index fda5cdebc..2171eb988 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/utils/ProjectionTransformerTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/utils/ProjectionTransformerTest.java @@ -19,6 +19,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.junit.jupiter.api.Test; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.GeometryFactory; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/DecompressFileTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/DecompressFileTest.java index b39e4ea42..a7d829356 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/DecompressFileTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/DecompressFileTest.java @@ -21,7 +21,7 @@ import java.io.IOException; import java.nio.file.Files; -import org.apache.baremaps.testing.TestFiles; +import org.apache.baremaps.openstreetmap.TestFiles; import org.junit.jupiter.api.Test; class DecompressFileTest { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java index e094fe5fd..506802075 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java @@ -18,8 +18,8 @@ package org.apache.baremaps.workflow.tasks; +import org.apache.baremaps.openstreetmap.TestFiles; import org.apache.baremaps.testing.PostgresContainerTest; -import org.apache.baremaps.testing.TestFiles; import org.apache.baremaps.workflow.WorkflowContext; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java index e909a2d9e..c51bff191 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java @@ -19,8 +19,8 @@ +import org.apache.baremaps.openstreetmap.TestFiles; import org.apache.baremaps.testing.PostgresContainerTest; -import org.apache.baremaps.testing.TestFiles; import org.apache.baremaps.workflow.WorkflowContext; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java index e66fb8253..8694f19b5 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java @@ -19,8 +19,8 @@ +import org.apache.baremaps.openstreetmap.TestFiles; import org.apache.baremaps.testing.PostgresContainerTest; -import org.apache.baremaps.testing.TestFiles; import org.apache.baremaps.workflow.WorkflowContext; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java index cb75d868b..83cb47c9c 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java @@ -17,8 +17,8 @@ package org.apache.baremaps.workflow.tasks; +import static org.apache.baremaps.openstreetmap.OsmSample.*; import static org.apache.baremaps.testing.GeometryAssertions.assertGeometryEquals; -import static org.apache.baremaps.testing.OsmSample.*; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; @@ -31,6 +31,7 @@ import org.apache.baremaps.database.memory.OnHeapMemory; import org.apache.baremaps.database.type.LongListDataType; import org.apache.baremaps.database.type.geometry.CoordinateDataType; +import org.apache.baremaps.openstreetmap.OsmSample; import org.apache.baremaps.openstreetmap.model.Header; import org.apache.baremaps.openstreetmap.postgres.PostgresCoordinateMap; import org.apache.baremaps.openstreetmap.postgres.PostgresHeaderRepository; @@ -40,7 +41,6 @@ import org.apache.baremaps.openstreetmap.postgres.PostgresRepositoryTest; import org.apache.baremaps.openstreetmap.postgres.PostgresWayRepository; import org.apache.baremaps.openstreetmap.state.StateReader; -import org.apache.baremaps.testing.OsmSample; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.locationtech.jts.geom.Coordinate; diff --git a/baremaps-openstreetmap/pom.xml b/baremaps-openstreetmap/pom.xml new file mode 100644 index 000000000..b6c3830c0 --- /dev/null +++ b/baremaps-openstreetmap/pom.xml @@ -0,0 +1,59 @@ + + + 4.0.0 + + org.apache.baremaps + baremaps + 0.7.4-SNAPSHOT + + baremaps-openstreetmap + + + + com.google.protobuf + protobuf-java + + + org.apache.baremaps + baremaps-testing + + + org.locationtech.jts + jts-core + + + org.locationtech.proj4j + proj4j + + + + + + + org.xolstice.maven.plugins + protobuf-maven-plugin + ${version.plugin.protobuf-maven-plugin} + true + + + + compile + test-compile + + + com.google.protobuf:protoc:${version.lib.protobuf}:exe:${os.detected.classifier} + + + + + + + + kr.motd.maven + os-maven-plugin + ${version.plugin.os-maven-plugin} + + + + + diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/OsmReaders.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReaders.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/OsmReaders.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReaders.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/BlobToBlockMapper.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/BlobToBlockMapper.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/BlobToBlockMapper.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/BlobToBlockMapper.java index 6427377f8..d8b82fff9 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/BlobToBlockMapper.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/BlobToBlockMapper.java @@ -24,7 +24,7 @@ import org.apache.baremaps.openstreetmap.model.Block; import org.apache.baremaps.openstreetmap.pbf.DataBlockReader; import org.apache.baremaps.openstreetmap.pbf.HeaderBlockReader; -import org.apache.baremaps.stream.StreamException; +import org.apache.baremaps.openstreetmap.stream.StreamException; /** * Maps a blob to a block. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/BlockEntitiesHandler.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/BlockEntitiesHandler.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/BlockEntitiesHandler.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/BlockEntitiesHandler.java index a6ce9febd..ec4f73dd6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/BlockEntitiesHandler.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/BlockEntitiesHandler.java @@ -24,7 +24,7 @@ import org.apache.baremaps.openstreetmap.model.DataBlock; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.model.HeaderBlock; -import org.apache.baremaps.stream.StreamException; +import org.apache.baremaps.openstreetmap.stream.StreamException; /** Represents an operation on the entities of blocks of different types. */ public class BlockEntitiesHandler implements Consumer { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ChangeEntitiesHandler.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/ChangeEntitiesHandler.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ChangeEntitiesHandler.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/ChangeEntitiesHandler.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/CoordinateMapBuilder.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java index 3a3c5157e..a656ddc13 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java @@ -21,7 +21,6 @@ import java.util.function.Consumer; import org.apache.baremaps.openstreetmap.model.*; -import org.apache.baremaps.utils.ProjectionTransformer; /** Changes the projection of the geometry of an entity via side-effects. */ public class EntityProjectionTransformer implements Consumer { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java index c7274f9b9..783e9d3c5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java @@ -22,7 +22,7 @@ import java.util.Optional; import java.util.function.Function; import org.apache.baremaps.openstreetmap.model.*; -import org.apache.baremaps.stream.StreamException; +import org.apache.baremaps.openstreetmap.stream.StreamException; import org.locationtech.jts.geom.Geometry; /** A function that maps an {@code Entity} to its {@code Geometry}. */ diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/GeometryMapBuilder.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/NodeGeometryBuilder.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/NodeGeometryBuilder.java similarity index 87% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/NodeGeometryBuilder.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/NodeGeometryBuilder.java index f1c5b9475..7c10eddda 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/NodeGeometryBuilder.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/NodeGeometryBuilder.java @@ -17,7 +17,6 @@ package org.apache.baremaps.openstreetmap.function; -import static org.apache.baremaps.utils.GeometryUtils.GEOMETRY_FACTORY_WGS84; import java.util.function.Consumer; import org.apache.baremaps.openstreetmap.model.Entity; @@ -29,12 +28,13 @@ */ public class NodeGeometryBuilder implements Consumer { + private final GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326); + /** {@inheritDoc} */ @Override public void accept(Entity entity) { if (entity instanceof Node node) { - Point point = - GEOMETRY_FACTORY_WGS84.createPoint(new Coordinate(node.getLon(), node.getLat())); + Point point = geometryFactory.createPoint(new Coordinate(node.getLon(), node.getLat())); node.setGeometry(point); } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/utils/ProjectionTransformer.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/ProjectionTransformer.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/utils/ProjectionTransformer.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/ProjectionTransformer.java index 5ca14833a..42e506ace 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/utils/ProjectionTransformer.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/ProjectionTransformer.java @@ -15,12 +15,14 @@ * limitations under the License. */ -package org.apache.baremaps.utils; +package org.apache.baremaps.openstreetmap.function; import java.util.Objects; import java.util.stream.Stream; +import org.apache.baremaps.openstreetmap.utils.CRSUtils; +import org.apache.baremaps.openstreetmap.utils.GeometryUtils; import org.locationtech.jts.geom.*; import org.locationtech.jts.geom.impl.CoordinateArraySequence; import org.locationtech.jts.geom.util.GeometryTransformer; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/ReferenceMapBuilder.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java similarity index 89% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java index 111cfe816..5009f64b1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/RelationMultiPolygonBuilder.java @@ -17,7 +17,6 @@ package org.apache.baremaps.openstreetmap.function; -import static org.apache.baremaps.utils.GeometryUtils.GEOMETRY_FACTORY_WGS84; import java.util.ArrayList; import java.util.List; @@ -27,6 +26,7 @@ import org.apache.baremaps.openstreetmap.model.Member; import org.apache.baremaps.openstreetmap.model.Member.MemberType; import org.apache.baremaps.openstreetmap.model.Relation; +import org.apache.baremaps.openstreetmap.utils.GeometryUtils; import org.locationtech.jts.geom.*; import org.locationtech.jts.geom.prep.PreparedGeometryFactory; import org.locationtech.jts.geom.util.GeometryFixer; @@ -75,7 +75,7 @@ public void accept(Entity entity) { } catch (Exception e) { logger.debug("Unable to build the geometry for relation #" + relation.getId(), e); - var emptyMultiPolygon = GEOMETRY_FACTORY_WGS84.createMultiPolygon(); + var emptyMultiPolygon = GeometryUtils.GEOMETRY_FACTORY_WGS84.createMultiPolygon(); relation.setGeometry(emptyMultiPolygon); } } @@ -149,24 +149,26 @@ private void buildMultiPolygon(Relation relation) { // The interior rings of the inner polygon are in fact additional polygons for (int i = 0; i < innerPolygon.getNumInteriorRing(); i++) { var innerPolygonHole = - GEOMETRY_FACTORY_WGS84.createPolygon(innerPolygon.getInteriorRingN(i)); + GeometryUtils.GEOMETRY_FACTORY_WGS84 + .createPolygon(innerPolygon.getInteriorRingN(i)); repairPolygon(innerPolygonHole, polygons); } } } // Build the polygon from the shell and holes - var polygon = GEOMETRY_FACTORY_WGS84.createPolygon(shell, holes.toArray(new LinearRing[0])); + var polygon = GeometryUtils.GEOMETRY_FACTORY_WGS84.createPolygon(shell, + holes.toArray(new LinearRing[0])); repairPolygon(polygon, polygons); } // Build the multipolygon from the polygons if (!polygons.isEmpty()) { var multiPolygon = - GEOMETRY_FACTORY_WGS84.createMultiPolygon(polygons.toArray(new Polygon[0])); + GeometryUtils.GEOMETRY_FACTORY_WGS84.createMultiPolygon(polygons.toArray(new Polygon[0])); relation.setGeometry(multiPolygon); } else { - var emptyMultiPolygon = GEOMETRY_FACTORY_WGS84.createMultiPolygon(); + var emptyMultiPolygon = GeometryUtils.GEOMETRY_FACTORY_WGS84.createMultiPolygon(); relation.setGeometry(emptyMultiPolygon); } } @@ -179,7 +181,8 @@ private List createPolygons(List members) { for (Member member : members) { var lineString = createLineString(member); if (lineString.isClosed()) { - var polygon = GEOMETRY_FACTORY_WGS84.createPolygon(lineString.getCoordinateSequence()); + var polygon = + GeometryUtils.GEOMETRY_FACTORY_WGS84.createPolygon(lineString.getCoordinateSequence()); repairPolygon(polygon, polygons); } else { lineMerger.add(lineString); @@ -190,7 +193,8 @@ private List createPolygons(List members) { for (Object geometry : lineMerger.getMergedLineStrings()) { if (geometry instanceof LineString lineString) { if (lineString.isClosed()) { - var polygon = GEOMETRY_FACTORY_WGS84.createPolygon(lineString.getCoordinates()); + var polygon = + GeometryUtils.GEOMETRY_FACTORY_WGS84.createPolygon(lineString.getCoordinates()); repairPolygon(polygon, polygons); } } @@ -216,14 +220,14 @@ private LineString createLineString(Member member) { } Coordinate[] array = list.toArray(new Coordinate[0]); - return GEOMETRY_FACTORY_WGS84.createLineString(array); + return GeometryUtils.GEOMETRY_FACTORY_WGS84.createLineString(array); } private List combinePolygons(List polygons) { // The symDifference operation combines the polygons // and fixes the topology of the resulting geometry // e.g. it removes the holes that are contained in the shell - var geometry = GEOMETRY_FACTORY_WGS84.createEmpty(0); + var geometry = GeometryUtils.GEOMETRY_FACTORY_WGS84.createEmpty(0); for (Polygon polygon : polygons) { geometry = geometry.symDifference(polygon); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java similarity index 87% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java index a44d7d4f0..a93e99039 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/WayGeometryBuilder.java @@ -17,7 +17,6 @@ package org.apache.baremaps.openstreetmap.function; -import static org.apache.baremaps.utils.GeometryUtils.GEOMETRY_FACTORY_WGS84; import java.util.ArrayList; import java.util.List; @@ -25,9 +24,7 @@ import java.util.function.Consumer; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.model.Way; -import org.locationtech.jts.geom.Coordinate; -import org.locationtech.jts.geom.LineString; -import org.locationtech.jts.geom.Polygon; +import org.locationtech.jts.geom.*; import org.locationtech.jts.geom.util.GeometryFixer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -39,6 +36,8 @@ public class WayGeometryBuilder implements Consumer { private static final Logger logger = LoggerFactory.getLogger(WayGeometryBuilder.class); + private final GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326); + private final Map coordinateMap; /** @@ -67,7 +66,7 @@ public void accept(Entity entity) { } Coordinate[] array = list.toArray(new Coordinate[0]); - LineString line = GEOMETRY_FACTORY_WGS84.createLineString(array); + LineString line = geometryFactory.createLineString(array); if (!line.isEmpty()) { // Ways can be open or closed depending on the geometry or the tags: @@ -78,7 +77,7 @@ public void accept(Entity entity) { || way.getTags().containsKey("barrier")) { way.setGeometry(line); } else { - Polygon polygon = GEOMETRY_FACTORY_WGS84.createPolygon(line.getCoordinates()); + Polygon polygon = geometryFactory.createPolygon(line.getCoordinates()); if (polygon.isValid()) { way.setGeometry(polygon); } else { @@ -90,7 +89,7 @@ public void accept(Entity entity) { } } catch (Exception e) { logger.debug("Unable to build the geometry for way #" + way.getId(), e); - way.setGeometry(GEOMETRY_FACTORY_WGS84.createEmpty(0)); + way.setGeometry(geometryFactory.createEmpty(0)); } } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Blob.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Blob.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Blob.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Blob.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Block.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Block.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Block.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Block.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Bound.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Bound.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Bound.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Bound.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Change.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Change.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Change.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Change.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/DataBlock.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/DataBlock.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/DataBlock.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/DataBlock.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Element.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Element.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Element.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Element.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Entity.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Entity.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Entity.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Entity.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Header.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Header.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Header.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Header.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/HeaderBlock.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/HeaderBlock.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/HeaderBlock.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/HeaderBlock.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Info.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Info.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Info.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Info.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Member.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Member.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Member.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Member.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Node.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Node.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Node.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Node.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Relation.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Relation.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Relation.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Relation.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/State.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/State.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/State.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/State.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/User.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/User.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/User.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/User.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Way.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Way.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/model/Way.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Way.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/BlobIterator.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/BlobIterator.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/BlobIterator.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/BlobIterator.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/DataBlockReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/DataBlockReader.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/DataBlockReader.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/DataBlockReader.java index cd557ba27..3ceaadb4e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/DataBlockReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/DataBlockReader.java @@ -37,10 +37,10 @@ import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; import org.apache.baremaps.openstreetmap.model.Way; +import org.apache.baremaps.openstreetmap.stream.StreamException; import org.apache.baremaps.osm.binary.Osmformat; import org.apache.baremaps.osm.binary.Osmformat.DenseNodes; import org.apache.baremaps.osm.binary.Osmformat.PrimitiveGroup; -import org.apache.baremaps.stream.StreamException; /** A reader that extracts data blocks and entities from OpenStreetMap data blobs. */ public class DataBlockReader { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/HeaderBlockReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/HeaderBlockReader.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/HeaderBlockReader.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/HeaderBlockReader.java index b569193eb..e0f873bcc 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/HeaderBlockReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/HeaderBlockReader.java @@ -28,9 +28,9 @@ import org.apache.baremaps.openstreetmap.model.Bound; import org.apache.baremaps.openstreetmap.model.Header; import org.apache.baremaps.openstreetmap.model.HeaderBlock; +import org.apache.baremaps.openstreetmap.stream.StreamException; import org.apache.baremaps.osm.binary.Osmformat; import org.apache.baremaps.osm.binary.Osmformat.HeaderBBox; -import org.apache.baremaps.stream.StreamException; /** A reader that extracts header blocks and entities from OpenStreetMap header blobs. */ public class HeaderBlockReader { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java similarity index 93% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java index cfdcf8631..13ac06f0b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java @@ -17,15 +17,14 @@ package org.apache.baremaps.openstreetmap.pbf; -import static org.apache.baremaps.stream.ConsumerUtils.consumeThenReturn; - import java.io.InputStream; import java.util.List; import java.util.Map; import java.util.stream.Stream; import org.apache.baremaps.openstreetmap.function.*; import org.apache.baremaps.openstreetmap.model.Block; -import org.apache.baremaps.stream.StreamUtils; +import org.apache.baremaps.openstreetmap.stream.ConsumerUtils; +import org.apache.baremaps.openstreetmap.stream.StreamUtils; import org.locationtech.jts.geom.Coordinate; /** A utility class for reading an OpenStreetMap pbf file. */ @@ -118,7 +117,7 @@ public Stream stream(InputStream inputStream) { .andThen(entityProjectionTransformer); // Initialize the block mapper - var blockMapper = consumeThenReturn(new BlockEntitiesHandler(entityHandler)); + var blockMapper = ConsumerUtils.consumeThenReturn(new BlockEntitiesHandler(entityHandler)); blocks = blocks.map(blockMapper); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java index cf8c1dba0..b20b89d11 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java @@ -26,7 +26,7 @@ import org.apache.baremaps.openstreetmap.model.DataBlock; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.model.HeaderBlock; -import org.apache.baremaps.stream.StreamException; +import org.apache.baremaps.openstreetmap.stream.StreamException; import org.locationtech.jts.geom.Coordinate; /** A utility class for flattening the blocks streamed by a {@link PbfBlockReader}. */ diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/state/StateReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/state/StateReader.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/state/StateReader.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/state/StateReader.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/AccumulatingConsumer.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/AccumulatingConsumer.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/AccumulatingConsumer.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/AccumulatingConsumer.java index da83f7249..e9ffb95ee 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/AccumulatingConsumer.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/AccumulatingConsumer.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/BatchedSpliterator.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/BatchedSpliterator.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/BatchedSpliterator.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/BatchedSpliterator.java index 658920ce3..d519b54ce 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/BatchedSpliterator.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/BatchedSpliterator.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; @@ -31,7 +31,7 @@ * * @param */ -class BatchedSpliterator implements Spliterator { +public class BatchedSpliterator implements Spliterator { private final Spliterator spliterator; private final int batchSize; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/BufferedSpliterator.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/BufferedSpliterator.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/BufferedSpliterator.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/BufferedSpliterator.java index 6cc33854c..cfde53df6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/BufferedSpliterator.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/BufferedSpliterator.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/ConsumerUtils.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ConsumerUtils.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/ConsumerUtils.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ConsumerUtils.java index d4b16c043..45afc0c7c 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/ConsumerUtils.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ConsumerUtils.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/HoldingConsumer.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/HoldingConsumer.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/HoldingConsumer.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/HoldingConsumer.java index f2ba9caf5..8cdf22b58 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/HoldingConsumer.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/HoldingConsumer.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/PartitionedSpliterator.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/PartitionedSpliterator.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/PartitionedSpliterator.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/PartitionedSpliterator.java index de42729a3..68285143e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/PartitionedSpliterator.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/PartitionedSpliterator.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/ProgressLogger.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ProgressLogger.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/ProgressLogger.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ProgressLogger.java index 22613e0f6..168f487b2 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/ProgressLogger.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ProgressLogger.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/StreamException.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/StreamException.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/StreamException.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/StreamException.java index 611832820..bc3d162b7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/StreamException.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/StreamException.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; /** * When a checked exception occurs in a stream, it is a good practice to wrap that exception in an diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/StreamUtils.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/StreamUtils.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/StreamUtils.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/StreamUtils.java index 31b537227..d7e6b36cb 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/StreamUtils.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/StreamUtils.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; @@ -28,9 +28,9 @@ import java.util.function.Function; import java.util.stream.Stream; import java.util.stream.StreamSupport; -import org.apache.baremaps.stream.BufferedSpliterator.CompletionOrder; -import org.apache.baremaps.stream.BufferedSpliterator.InCompletionOrder; -import org.apache.baremaps.stream.BufferedSpliterator.InSourceOrder; +import org.apache.baremaps.openstreetmap.stream.BufferedSpliterator.CompletionOrder; +import org.apache.baremaps.openstreetmap.stream.BufferedSpliterator.InCompletionOrder; +import org.apache.baremaps.openstreetmap.stream.BufferedSpliterator.InSourceOrder; /** Utility methods for creating parallel, buffered and batched streams of unknown size. */ public class StreamUtils { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/SupplierUtils.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/SupplierUtils.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/SupplierUtils.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/SupplierUtils.java index faedc9759..149102933 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/SupplierUtils.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/SupplierUtils.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/stream/ThrowingFunction.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ThrowingFunction.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/stream/ThrowingFunction.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ThrowingFunction.java index b81799d64..5a59c3f5c 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/stream/ThrowingFunction.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ThrowingFunction.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; import static java.util.Objects.requireNonNull; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/utils/CRSUtils.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/CRSUtils.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/utils/CRSUtils.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/CRSUtils.java index b62abc733..5e9eae275 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/utils/CRSUtils.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/CRSUtils.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.utils; +package org.apache.baremaps.openstreetmap.utils; import org.locationtech.proj4j.CRSFactory; import org.locationtech.proj4j.CoordinateReferenceSystem; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/utils/GeometryUtils.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/GeometryUtils.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/utils/GeometryUtils.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/GeometryUtils.java index 96ebd2071..75c8fafdb 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/utils/GeometryUtils.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/GeometryUtils.java @@ -15,10 +15,11 @@ * limitations under the License. */ -package org.apache.baremaps.utils; +package org.apache.baremaps.openstreetmap.utils; import static org.locationtech.jts.io.WKBConstants.wkbNDR; +import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.locationtech.jts.geom.*; import org.locationtech.jts.io.ParseException; import org.locationtech.jts.io.WKBReader; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeReader.java similarity index 100% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeReader.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeReader.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java index 66d7fcec7..0850d7226 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java @@ -46,7 +46,7 @@ import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; import org.apache.baremaps.openstreetmap.model.Way; -import org.apache.baremaps.stream.StreamException; +import org.apache.baremaps.openstreetmap.stream.StreamException; /** * An object for traversing an OpenStreetMap XML file describing changes (osc.xml) and creating a diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java similarity index 88% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java index 40e1bd44d..40bb3d1a3 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java @@ -19,8 +19,6 @@ -import static org.apache.baremaps.stream.ConsumerUtils.consumeThenReturn; - import java.io.InputStream; import java.util.List; import java.util.Map; @@ -29,9 +27,9 @@ import org.apache.baremaps.openstreetmap.OsmReader; import org.apache.baremaps.openstreetmap.function.CoordinateMapBuilder; import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder; -import org.apache.baremaps.openstreetmap.function.EntityProjectionTransformer; import org.apache.baremaps.openstreetmap.function.ReferenceMapBuilder; import org.apache.baremaps.openstreetmap.model.Entity; +import org.apache.baremaps.openstreetmap.stream.ConsumerUtils; import org.locationtech.jts.geom.Coordinate; /** A utility class for parsing an OpenStreetMap XML file. */ @@ -94,12 +92,10 @@ public Stream stream(InputStream input) { var coordinateMapBuilder = new CoordinateMapBuilder(coordinateMap); var referenceMapBuilder = new ReferenceMapBuilder(referenceMap); var entityGeometryBuilder = new EntityGeometryBuilder(coordinateMap, referenceMap); - var entityProjectionTransformer = new EntityProjectionTransformer(4326, srid); var entityHandler = coordinateMapBuilder .andThen(referenceMapBuilder) - .andThen(entityGeometryBuilder) - .andThen(entityProjectionTransformer); - entities = entities.map(consumeThenReturn(entityHandler)); + .andThen(entityGeometryBuilder); + entities = entities.map(ConsumerUtils.consumeThenReturn(entityHandler)); } return entities; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java rename to baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java index 668e02b70..c431f3b36 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java @@ -48,7 +48,7 @@ import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; import org.apache.baremaps.openstreetmap.model.Way; -import org.apache.baremaps.stream.StreamException; +import org.apache.baremaps.openstreetmap.stream.StreamException; /** * An object for traversing an OpenStreetMap XML file describing entities (osm.xml) and creating a diff --git a/baremaps-core/src/main/proto/fileformat.proto b/baremaps-openstreetmap/src/main/proto/fileformat.proto similarity index 100% rename from baremaps-core/src/main/proto/fileformat.proto rename to baremaps-openstreetmap/src/main/proto/fileformat.proto diff --git a/baremaps-core/src/main/proto/osmformat.proto b/baremaps-openstreetmap/src/main/proto/osmformat.proto similarity index 100% rename from baremaps-core/src/main/proto/osmformat.proto rename to baremaps-openstreetmap/src/main/proto/osmformat.proto diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java similarity index 73% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java rename to baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java index 5ffec2349..f689f595a 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java @@ -17,9 +17,6 @@ package org.apache.baremaps.openstreetmap; -import static org.apache.baremaps.testing.OsmSample.SAMPLE_OSM_PBF; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; import java.io.IOException; import java.io.InputStream; @@ -37,7 +34,7 @@ import org.apache.baremaps.openstreetmap.pbf.PbfEntityReader; import org.apache.baremaps.openstreetmap.state.StateReader; import org.apache.baremaps.openstreetmap.xml.XmlEntityReader; -import org.apache.baremaps.testing.OsmSample; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; class OsmSampleTest { @@ -46,14 +43,14 @@ class OsmSampleTest { void sampleStateTxt() throws IOException { try (InputStream inputStream = Files.newInputStream(OsmSample.SAMPLE_STATE_TXT)) { State state = new StateReader().readState(inputStream); - assertEquals(1, state.getSequenceNumber()); - assertEquals(LocalDateTime.parse("2000-01-01T00:00:00"), state.getTimestamp()); + Assertions.assertEquals(1, state.getSequenceNumber()); + Assertions.assertEquals(LocalDateTime.parse("2000-01-01T00:00:00"), state.getTimestamp()); } } @Test void sampleOsmPbf() throws IOException { - try (InputStream inputStream = Files.newInputStream(SAMPLE_OSM_PBF)) { + try (InputStream inputStream = Files.newInputStream(OsmSample.SAMPLE_OSM_PBF)) { Stream stream = new PbfEntityReader().stream(inputStream); process(stream, 1, 1, 27, 7, 2); } @@ -76,31 +73,31 @@ void process(Stream stream, long headerCount, long boundCount, long node AtomicLong relations = new AtomicLong(0); stream.forEach(entity -> { if (entity instanceof Header header) { - assertNotNull(header); - assertEquals("osmium/1.16.0", header.getWritingProgram()); + Assertions.assertNotNull(header); + Assertions.assertEquals("osmium/1.16.0", header.getWritingProgram()); headers.incrementAndGet(); } else if (entity instanceof Bound bound) { - assertNotNull(bound); - assertEquals(0.0, bound.getMinLat(), 0.000001); - assertEquals(0.0, bound.getMinLon(), 0.000001); - assertEquals(20.0, bound.getMaxLat(), 0.000001); - assertEquals(20.0, bound.getMaxLon(), 0.000001); + Assertions.assertNotNull(bound); + Assertions.assertEquals(0.0, bound.getMinLat(), 0.000001); + Assertions.assertEquals(0.0, bound.getMinLon(), 0.000001); + Assertions.assertEquals(20.0, bound.getMaxLat(), 0.000001); + Assertions.assertEquals(20.0, bound.getMaxLon(), 0.000001); bounds.incrementAndGet(); } else if (entity instanceof Node node) { - assertNotNull(node); + Assertions.assertNotNull(node); nodes.incrementAndGet(); } else if (entity instanceof Way way) { - assertNotNull(way); + Assertions.assertNotNull(way); ways.incrementAndGet(); } else if (entity instanceof Relation relation) { - assertNotNull(relation); + Assertions.assertNotNull(relation); relations.incrementAndGet(); } }); - assertEquals(headerCount, headers.get()); - assertEquals(boundCount, bounds.get()); - assertEquals(nodeCount, nodes.get()); - assertEquals(wayCount, ways.get()); - assertEquals(relationCount, relations.get()); + Assertions.assertEquals(headerCount, headers.get()); + Assertions.assertEquals(boundCount, bounds.get()); + Assertions.assertEquals(nodeCount, nodes.get()); + Assertions.assertEquals(wayCount, ways.get()); + Assertions.assertEquals(relationCount, relations.get()); } } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java similarity index 81% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java rename to baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java index 775212d3e..da7479b27 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java @@ -17,9 +17,6 @@ package org.apache.baremaps.openstreetmap; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -30,26 +27,29 @@ import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.pbf.PbfEntityReader; import org.apache.baremaps.openstreetmap.xml.XmlEntityReader; -import org.apache.baremaps.testing.TestFiles; -import org.apache.baremaps.utils.RoundingTransformer; import org.jetbrains.annotations.NotNull; +import org.junit.Assert; import org.junit.jupiter.api.DynamicTest; import org.junit.jupiter.api.TestFactory; +import org.locationtech.jts.geom.CoordinateSequence; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.LineString; import org.locationtech.jts.geom.MultiPolygon; import org.locationtech.jts.geom.util.GeometryFixer; +import org.locationtech.jts.geom.util.GeometryTransformer; import org.locationtech.jts.io.WKTReader; import org.testcontainers.shaded.com.fasterxml.jackson.databind.DeserializationFeature; import org.testcontainers.shaded.com.fasterxml.jackson.databind.JsonNode; import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper; +import static org.apache.baremaps.openstreetmap.TestFiles.resolve; + public class OsmTestData { @TestFactory public Stream runTests() throws IOException { - var directory = TestFiles.resolve("osm-testdata"); + var directory = resolve("osm-testdata"); try (var files = Files.walk(directory)) { return files.filter(f -> f.endsWith("test.json")) .map(OsmTest::new) @@ -91,7 +91,7 @@ public void runTest(OsmTest osmTest, Stream entities) { // Each element should have a geometry var id = element.getId(); var fileGeometry = element.getGeometry(); - assertNotNull(fileGeometry); + Assert.assertNotNull(fileGeometry); // Prepare the test geometry var testWkt = osmTest.getWkts().get(id); @@ -122,7 +122,7 @@ public void runTest(OsmTest osmTest, Stream entities) { RoundingTransformer transformer = new RoundingTransformer(2); fileGeometry = transformer.transform(fileGeometry); - assertTrue(message, testGeometry.equalsTopo(fileGeometry)); + Assert.assertTrue(message, testGeometry.equalsTopo(fileGeometry)); } } @@ -261,4 +261,43 @@ public int compareTo(@NotNull OsmTestData.OsmTest o) { } } + /** + * A transformer that rounds the coordinates of a geometry to a given precision. + */ + public static class RoundingTransformer extends GeometryTransformer { + + private int precision; + + /** + * Constructs a transformer that rounds the coordinates of a geometry to a given precision. + * + * @param precision the precision + */ + public RoundingTransformer(int precision) { + this.precision = precision; + } + + /** + * Rounds the coordinates of a geometry to a given precision. + * + * @param sequence the coordinate sequence + * @param parent the parent geometry + * @return the geometry + */ + @Override + protected CoordinateSequence transformCoordinates(CoordinateSequence sequence, Geometry parent) { + CoordinateSequence rounded = super.transformCoordinates(sequence, parent); + for (int i = 0; i < rounded.size(); i++) { + double roundedX = + Math.round(rounded.getOrdinate(i, CoordinateSequence.X) * Math.pow(10, precision)) + / Math.pow(10, precision); + double roundedY = + Math.round(rounded.getOrdinate(i, CoordinateSequence.Y) * Math.pow(10, precision)) + / Math.pow(10, precision); + rounded.setOrdinate(i, CoordinateSequence.X, roundedX); + rounded.setOrdinate(i, CoordinateSequence.Y, roundedY); + } + return rounded; + } + } } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java similarity index 99% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java rename to baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java index 1fc7cc8fc..5e15daebe 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/geometry/EntityDataTypeGeometryBuilderTest.java @@ -34,7 +34,7 @@ import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; import org.apache.baremaps.openstreetmap.model.Way; -import org.apache.baremaps.utils.CRSUtils; +import org.apache.baremaps.openstreetmap.utils.CRSUtils; import org.junit.jupiter.api.Test; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.GeometryFactory; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/state/StateReaderTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/state/StateReaderTest.java similarity index 100% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/state/StateReaderTest.java rename to baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/state/StateReaderTest.java diff --git a/baremaps-core/src/test/java/org/apache/baremaps/stream/BatchedSpliteratorTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/BatchedSpliteratorTest.java similarity index 98% rename from baremaps-core/src/test/java/org/apache/baremaps/stream/BatchedSpliteratorTest.java rename to baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/BatchedSpliteratorTest.java index d389a54f1..351a0c8b2 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/stream/BatchedSpliteratorTest.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/BatchedSpliteratorTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/stream/PartitionedSpliteratorTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/PartitionedSpliteratorTest.java similarity index 98% rename from baremaps-core/src/test/java/org/apache/baremaps/stream/PartitionedSpliteratorTest.java rename to baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/PartitionedSpliteratorTest.java index ad39b098c..14bb58958 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/stream/PartitionedSpliteratorTest.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/PartitionedSpliteratorTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/stream/StreamUtilsTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/StreamUtilsTest.java similarity index 98% rename from baremaps-core/src/test/java/org/apache/baremaps/stream/StreamUtilsTest.java rename to baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/StreamUtilsTest.java index 23957274a..bd0164143 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/stream/StreamUtilsTest.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/StreamUtilsTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.stream; +package org.apache.baremaps.openstreetmap.stream; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java similarity index 83% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java rename to baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java index 60dd96f6f..56b6b9874 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java @@ -17,7 +17,6 @@ package org.apache.baremaps.openstreetmap.xml; -import static org.apache.baremaps.testing.OsmSample.SAMPLE_OSC_XML_2; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -27,16 +26,18 @@ import java.nio.file.Files; import java.util.Spliterator; import java.util.zip.GZIPInputStream; +import org.apache.baremaps.openstreetmap.OsmSample; import org.apache.baremaps.openstreetmap.model.Change; -import org.apache.baremaps.stream.AccumulatingConsumer; -import org.apache.baremaps.stream.HoldingConsumer; +import org.apache.baremaps.openstreetmap.stream.AccumulatingConsumer; +import org.apache.baremaps.openstreetmap.stream.HoldingConsumer; import org.junit.jupiter.api.Test; class XmlChangeSpliteratorTest { @Test void tryAdvance() throws IOException { - try (InputStream input = new GZIPInputStream(Files.newInputStream(SAMPLE_OSC_XML_2))) { + try ( + InputStream input = new GZIPInputStream(Files.newInputStream(OsmSample.SAMPLE_OSC_XML_2))) { Spliterator spliterator = new XmlChangeSpliterator(input); spliterator.forEachRemaining(fileBlock -> assertNotNull(fileBlock)); assertFalse(spliterator.tryAdvance(new HoldingConsumer<>())); @@ -45,7 +46,8 @@ void tryAdvance() throws IOException { @Test void forEachRemaining() throws IOException { - try (InputStream input = new GZIPInputStream(Files.newInputStream(SAMPLE_OSC_XML_2))) { + try ( + InputStream input = new GZIPInputStream(Files.newInputStream(OsmSample.SAMPLE_OSC_XML_2))) { Spliterator spliterator = new XmlChangeSpliterator(input); AccumulatingConsumer accumulator = new AccumulatingConsumer<>(); spliterator.forEachRemaining(accumulator); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java similarity index 84% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java rename to baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java index 31a630939..1a73c432b 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java @@ -17,7 +17,6 @@ package org.apache.baremaps.openstreetmap.xml; -import static org.apache.baremaps.testing.OsmSample.SAMPLE_OSM_XML; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -26,16 +25,17 @@ import java.io.InputStream; import java.nio.file.Files; import java.util.Spliterator; +import org.apache.baremaps.openstreetmap.OsmSample; import org.apache.baremaps.openstreetmap.model.Entity; -import org.apache.baremaps.stream.AccumulatingConsumer; -import org.apache.baremaps.stream.HoldingConsumer; +import org.apache.baremaps.openstreetmap.stream.AccumulatingConsumer; +import org.apache.baremaps.openstreetmap.stream.HoldingConsumer; import org.junit.jupiter.api.Test; class XmlEntitySpliteratorTestDataType { @Test void tryAdvance() throws IOException { - try (InputStream input = Files.newInputStream(SAMPLE_OSM_XML)) { + try (InputStream input = Files.newInputStream(OsmSample.SAMPLE_OSM_XML)) { Spliterator spliterator = new XmlEntitySpliterator(input); spliterator.forEachRemaining(fileBlock -> assertNotNull(fileBlock)); assertFalse(spliterator.tryAdvance(new HoldingConsumer<>())); @@ -44,7 +44,7 @@ void tryAdvance() throws IOException { @Test void forEachRemaining() throws IOException { - try (InputStream input = Files.newInputStream(SAMPLE_OSM_XML)) { + try (InputStream input = Files.newInputStream(OsmSample.SAMPLE_OSM_XML)) { Spliterator spliterator = new XmlEntitySpliterator(input); AccumulatingConsumer accumulator = new AccumulatingConsumer<>(); spliterator.forEachRemaining(accumulator); diff --git a/baremaps-core/src/test/resources/archives/file.bz2 b/baremaps-testing/data/archives/file.bz2 similarity index 100% rename from baremaps-core/src/test/resources/archives/file.bz2 rename to baremaps-testing/data/archives/file.bz2 diff --git a/baremaps-core/src/test/resources/archives/file.gz b/baremaps-testing/data/archives/file.gz similarity index 100% rename from baremaps-core/src/test/resources/archives/file.gz rename to baremaps-testing/data/archives/file.gz diff --git a/baremaps-core/src/test/resources/archives/file.tar.bz2 b/baremaps-testing/data/archives/file.tar.bz2 similarity index 100% rename from baremaps-core/src/test/resources/archives/file.tar.bz2 rename to baremaps-testing/data/archives/file.tar.bz2 diff --git a/baremaps-core/src/test/resources/archives/file.tar.gz b/baremaps-testing/data/archives/file.tar.gz similarity index 100% rename from baremaps-core/src/test/resources/archives/file.tar.gz rename to baremaps-testing/data/archives/file.tar.gz diff --git a/baremaps-core/src/test/resources/archives/file.zip b/baremaps-testing/data/archives/file.zip similarity index 100% rename from baremaps-core/src/test/resources/archives/file.zip rename to baremaps-testing/data/archives/file.zip diff --git a/baremaps-core/src/test/resources/config/style.js b/baremaps-testing/data/config/style.js similarity index 100% rename from baremaps-core/src/test/resources/config/style.js rename to baremaps-testing/data/config/style.js diff --git a/baremaps-core/src/test/resources/data/README.md b/baremaps-testing/data/data/README.md similarity index 100% rename from baremaps-core/src/test/resources/data/README.md rename to baremaps-testing/data/data/README.md diff --git a/baremaps-core/src/test/resources/data/countries.fgb b/baremaps-testing/data/data/countries.fgb similarity index 100% rename from baremaps-core/src/test/resources/data/countries.fgb rename to baremaps-testing/data/data/countries.fgb diff --git a/baremaps-core/src/test/resources/data/countries.gpkg b/baremaps-testing/data/data/countries.gpkg similarity index 100% rename from baremaps-core/src/test/resources/data/countries.gpkg rename to baremaps-testing/data/data/countries.gpkg diff --git a/baremaps-core/src/test/resources/data/data.gpkg b/baremaps-testing/data/data/data.gpkg similarity index 100% rename from baremaps-core/src/test/resources/data/data.gpkg rename to baremaps-testing/data/data/data.gpkg diff --git a/baremaps-core/src/test/resources/geonames/sample.txt b/baremaps-testing/data/geonames/sample.txt similarity index 100% rename from baremaps-core/src/test/resources/geonames/sample.txt rename to baremaps-testing/data/geonames/sample.txt diff --git a/baremaps-core/src/test/resources/osm-sample/000/000/002.osc.gz b/baremaps-testing/data/osm-sample/000/000/002.osc.gz similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/000/000/002.osc.gz rename to baremaps-testing/data/osm-sample/000/000/002.osc.gz diff --git a/baremaps-core/src/test/resources/osm-sample/000/000/002.osc.xml b/baremaps-testing/data/osm-sample/000/000/002.osc.xml similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/000/000/002.osc.xml rename to baremaps-testing/data/osm-sample/000/000/002.osc.xml diff --git a/baremaps-core/src/test/resources/osm-sample/000/000/002.state.txt b/baremaps-testing/data/osm-sample/000/000/002.state.txt similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/000/000/002.state.txt rename to baremaps-testing/data/osm-sample/000/000/002.state.txt diff --git a/baremaps-core/src/test/resources/osm-sample/000/000/003.osc.gz b/baremaps-testing/data/osm-sample/000/000/003.osc.gz similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/000/000/003.osc.gz rename to baremaps-testing/data/osm-sample/000/000/003.osc.gz diff --git a/baremaps-core/src/test/resources/osm-sample/000/000/003.osc.xml b/baremaps-testing/data/osm-sample/000/000/003.osc.xml similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/000/000/003.osc.xml rename to baremaps-testing/data/osm-sample/000/000/003.osc.xml diff --git a/baremaps-core/src/test/resources/osm-sample/000/000/003.state.txt b/baremaps-testing/data/osm-sample/000/000/003.state.txt similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/000/000/003.state.txt rename to baremaps-testing/data/osm-sample/000/000/003.state.txt diff --git a/baremaps-core/src/test/resources/osm-sample/000/000/004.osc.gz b/baremaps-testing/data/osm-sample/000/000/004.osc.gz similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/000/000/004.osc.gz rename to baremaps-testing/data/osm-sample/000/000/004.osc.gz diff --git a/baremaps-core/src/test/resources/osm-sample/000/000/004.osc.xml b/baremaps-testing/data/osm-sample/000/000/004.osc.xml similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/000/000/004.osc.xml rename to baremaps-testing/data/osm-sample/000/000/004.osc.xml diff --git a/baremaps-core/src/test/resources/osm-sample/000/000/004.state.txt b/baremaps-testing/data/osm-sample/000/000/004.state.txt similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/000/000/004.state.txt rename to baremaps-testing/data/osm-sample/000/000/004.state.txt diff --git a/baremaps-core/src/test/resources/osm-sample/build.sh b/baremaps-testing/data/osm-sample/build.sh similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/build.sh rename to baremaps-testing/data/osm-sample/build.sh diff --git a/baremaps-core/src/test/resources/osm-sample/sample.osm.pbf b/baremaps-testing/data/osm-sample/sample.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/sample.osm.pbf rename to baremaps-testing/data/osm-sample/sample.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-sample/sample.osm.xml b/baremaps-testing/data/osm-sample/sample.osm.xml similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/sample.osm.xml rename to baremaps-testing/data/osm-sample/sample.osm.xml diff --git a/baremaps-core/src/test/resources/osm-sample/state.txt b/baremaps-testing/data/osm-sample/state.txt similarity index 100% rename from baremaps-core/src/test/resources/osm-sample/state.txt rename to baremaps-testing/data/osm-sample/state.txt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/100/data.osm b/baremaps-testing/data/osm-testdata/1/100/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/100/data.osm rename to baremaps-testing/data/osm-testdata/1/100/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/100/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/100/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/100/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/100/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/100/nodes.wkt b/baremaps-testing/data/osm-testdata/1/100/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/100/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/100/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/100/result b/baremaps-testing/data/osm-testdata/1/100/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/100/result rename to baremaps-testing/data/osm-testdata/1/100/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/100/test.json b/baremaps-testing/data/osm-testdata/1/100/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/100/test.json rename to baremaps-testing/data/osm-testdata/1/100/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/101/data.osm b/baremaps-testing/data/osm-testdata/1/101/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/101/data.osm rename to baremaps-testing/data/osm-testdata/1/101/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/101/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/101/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/101/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/101/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/101/nodes.wkt b/baremaps-testing/data/osm-testdata/1/101/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/101/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/101/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/101/result b/baremaps-testing/data/osm-testdata/1/101/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/101/result rename to baremaps-testing/data/osm-testdata/1/101/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/101/test.json b/baremaps-testing/data/osm-testdata/1/101/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/101/test.json rename to baremaps-testing/data/osm-testdata/1/101/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/102/data.osm b/baremaps-testing/data/osm-testdata/1/102/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/102/data.osm rename to baremaps-testing/data/osm-testdata/1/102/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/102/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/102/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/102/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/102/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/102/nodes.wkt b/baremaps-testing/data/osm-testdata/1/102/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/102/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/102/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/102/result b/baremaps-testing/data/osm-testdata/1/102/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/102/result rename to baremaps-testing/data/osm-testdata/1/102/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/102/test.json b/baremaps-testing/data/osm-testdata/1/102/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/102/test.json rename to baremaps-testing/data/osm-testdata/1/102/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/110/data.osm b/baremaps-testing/data/osm-testdata/1/110/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/110/data.osm rename to baremaps-testing/data/osm-testdata/1/110/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/110/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/110/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/110/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/110/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/110/nodes.wkt b/baremaps-testing/data/osm-testdata/1/110/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/110/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/110/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/110/result b/baremaps-testing/data/osm-testdata/1/110/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/110/result rename to baremaps-testing/data/osm-testdata/1/110/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/110/test.json b/baremaps-testing/data/osm-testdata/1/110/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/110/test.json rename to baremaps-testing/data/osm-testdata/1/110/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/110/ways.wkt b/baremaps-testing/data/osm-testdata/1/110/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/110/ways.wkt rename to baremaps-testing/data/osm-testdata/1/110/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/111/data.osm b/baremaps-testing/data/osm-testdata/1/111/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/111/data.osm rename to baremaps-testing/data/osm-testdata/1/111/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/111/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/111/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/111/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/111/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/111/nodes.wkt b/baremaps-testing/data/osm-testdata/1/111/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/111/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/111/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/111/result b/baremaps-testing/data/osm-testdata/1/111/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/111/result rename to baremaps-testing/data/osm-testdata/1/111/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/111/test.json b/baremaps-testing/data/osm-testdata/1/111/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/111/test.json rename to baremaps-testing/data/osm-testdata/1/111/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/111/ways.wkt b/baremaps-testing/data/osm-testdata/1/111/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/111/ways.wkt rename to baremaps-testing/data/osm-testdata/1/111/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/112/data.osm b/baremaps-testing/data/osm-testdata/1/112/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/112/data.osm rename to baremaps-testing/data/osm-testdata/1/112/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/112/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/112/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/112/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/112/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/112/nodes.wkt b/baremaps-testing/data/osm-testdata/1/112/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/112/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/112/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/112/result b/baremaps-testing/data/osm-testdata/1/112/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/112/result rename to baremaps-testing/data/osm-testdata/1/112/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/112/test.json b/baremaps-testing/data/osm-testdata/1/112/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/112/test.json rename to baremaps-testing/data/osm-testdata/1/112/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/112/ways.wkt b/baremaps-testing/data/osm-testdata/1/112/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/112/ways.wkt rename to baremaps-testing/data/osm-testdata/1/112/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/113/data.osm b/baremaps-testing/data/osm-testdata/1/113/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/113/data.osm rename to baremaps-testing/data/osm-testdata/1/113/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/113/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/113/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/113/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/113/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/113/nodes.wkt b/baremaps-testing/data/osm-testdata/1/113/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/113/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/113/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/113/result b/baremaps-testing/data/osm-testdata/1/113/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/113/result rename to baremaps-testing/data/osm-testdata/1/113/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/113/test.json b/baremaps-testing/data/osm-testdata/1/113/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/113/test.json rename to baremaps-testing/data/osm-testdata/1/113/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/113/ways.wkt b/baremaps-testing/data/osm-testdata/1/113/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/113/ways.wkt rename to baremaps-testing/data/osm-testdata/1/113/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/114/data.osm b/baremaps-testing/data/osm-testdata/1/114/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/114/data.osm rename to baremaps-testing/data/osm-testdata/1/114/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/114/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/114/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/114/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/114/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/114/nodes.wkt b/baremaps-testing/data/osm-testdata/1/114/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/114/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/114/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/114/result b/baremaps-testing/data/osm-testdata/1/114/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/114/result rename to baremaps-testing/data/osm-testdata/1/114/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/114/test.json b/baremaps-testing/data/osm-testdata/1/114/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/114/test.json rename to baremaps-testing/data/osm-testdata/1/114/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/114/ways.wkt b/baremaps-testing/data/osm-testdata/1/114/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/114/ways.wkt rename to baremaps-testing/data/osm-testdata/1/114/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/115/data.osm b/baremaps-testing/data/osm-testdata/1/115/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/115/data.osm rename to baremaps-testing/data/osm-testdata/1/115/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/115/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/115/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/115/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/115/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/115/nodes.wkt b/baremaps-testing/data/osm-testdata/1/115/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/115/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/115/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/115/result b/baremaps-testing/data/osm-testdata/1/115/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/115/result rename to baremaps-testing/data/osm-testdata/1/115/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/115/test.json b/baremaps-testing/data/osm-testdata/1/115/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/115/test.json rename to baremaps-testing/data/osm-testdata/1/115/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/115/ways.wkt b/baremaps-testing/data/osm-testdata/1/115/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/115/ways.wkt rename to baremaps-testing/data/osm-testdata/1/115/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/116/data.osm b/baremaps-testing/data/osm-testdata/1/116/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/116/data.osm rename to baremaps-testing/data/osm-testdata/1/116/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/116/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/116/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/116/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/116/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/116/nodes.wkt b/baremaps-testing/data/osm-testdata/1/116/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/116/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/116/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/116/result b/baremaps-testing/data/osm-testdata/1/116/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/116/result rename to baremaps-testing/data/osm-testdata/1/116/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/116/test.json b/baremaps-testing/data/osm-testdata/1/116/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/116/test.json rename to baremaps-testing/data/osm-testdata/1/116/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/116/ways.wkt b/baremaps-testing/data/osm-testdata/1/116/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/116/ways.wkt rename to baremaps-testing/data/osm-testdata/1/116/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/120/data.osm b/baremaps-testing/data/osm-testdata/1/120/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/120/data.osm rename to baremaps-testing/data/osm-testdata/1/120/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/120/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/120/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/120/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/120/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/120/result b/baremaps-testing/data/osm-testdata/1/120/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/120/result rename to baremaps-testing/data/osm-testdata/1/120/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/120/test.json b/baremaps-testing/data/osm-testdata/1/120/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/120/test.json rename to baremaps-testing/data/osm-testdata/1/120/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/121/data.osm b/baremaps-testing/data/osm-testdata/1/121/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/121/data.osm rename to baremaps-testing/data/osm-testdata/1/121/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/121/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/121/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/121/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/121/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/121/nodes.wkt b/baremaps-testing/data/osm-testdata/1/121/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/121/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/121/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/121/result b/baremaps-testing/data/osm-testdata/1/121/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/121/result rename to baremaps-testing/data/osm-testdata/1/121/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/121/test.json b/baremaps-testing/data/osm-testdata/1/121/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/121/test.json rename to baremaps-testing/data/osm-testdata/1/121/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/121/ways.wkt b/baremaps-testing/data/osm-testdata/1/121/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/121/ways.wkt rename to baremaps-testing/data/osm-testdata/1/121/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/122/data.osm b/baremaps-testing/data/osm-testdata/1/122/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/122/data.osm rename to baremaps-testing/data/osm-testdata/1/122/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/122/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/122/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/122/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/122/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/122/nodes.wkt b/baremaps-testing/data/osm-testdata/1/122/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/122/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/122/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/122/result b/baremaps-testing/data/osm-testdata/1/122/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/122/result rename to baremaps-testing/data/osm-testdata/1/122/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/122/test.json b/baremaps-testing/data/osm-testdata/1/122/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/122/test.json rename to baremaps-testing/data/osm-testdata/1/122/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/122/ways.wkt b/baremaps-testing/data/osm-testdata/1/122/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/122/ways.wkt rename to baremaps-testing/data/osm-testdata/1/122/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/123/data.osm b/baremaps-testing/data/osm-testdata/1/123/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/123/data.osm rename to baremaps-testing/data/osm-testdata/1/123/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/123/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/123/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/123/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/123/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/123/nodes.wkt b/baremaps-testing/data/osm-testdata/1/123/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/123/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/123/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/123/result b/baremaps-testing/data/osm-testdata/1/123/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/123/result rename to baremaps-testing/data/osm-testdata/1/123/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/123/test.json b/baremaps-testing/data/osm-testdata/1/123/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/123/test.json rename to baremaps-testing/data/osm-testdata/1/123/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/123/ways.wkt b/baremaps-testing/data/osm-testdata/1/123/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/123/ways.wkt rename to baremaps-testing/data/osm-testdata/1/123/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/124/data.osm b/baremaps-testing/data/osm-testdata/1/124/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/124/data.osm rename to baremaps-testing/data/osm-testdata/1/124/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/124/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/124/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/124/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/124/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/124/nodes.wkt b/baremaps-testing/data/osm-testdata/1/124/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/124/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/124/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/124/result b/baremaps-testing/data/osm-testdata/1/124/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/124/result rename to baremaps-testing/data/osm-testdata/1/124/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/124/test.json b/baremaps-testing/data/osm-testdata/1/124/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/124/test.json rename to baremaps-testing/data/osm-testdata/1/124/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/124/ways.wkt b/baremaps-testing/data/osm-testdata/1/124/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/124/ways.wkt rename to baremaps-testing/data/osm-testdata/1/124/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/130/data.osm b/baremaps-testing/data/osm-testdata/1/130/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/130/data.osm rename to baremaps-testing/data/osm-testdata/1/130/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/130/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/130/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/130/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/130/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/130/nodes.wkt b/baremaps-testing/data/osm-testdata/1/130/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/130/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/130/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/130/result b/baremaps-testing/data/osm-testdata/1/130/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/130/result rename to baremaps-testing/data/osm-testdata/1/130/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/130/test.json b/baremaps-testing/data/osm-testdata/1/130/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/130/test.json rename to baremaps-testing/data/osm-testdata/1/130/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/130/ways.wkt b/baremaps-testing/data/osm-testdata/1/130/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/130/ways.wkt rename to baremaps-testing/data/osm-testdata/1/130/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/131/data.osm b/baremaps-testing/data/osm-testdata/1/131/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/131/data.osm rename to baremaps-testing/data/osm-testdata/1/131/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/131/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/131/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/131/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/131/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/131/nodes.wkt b/baremaps-testing/data/osm-testdata/1/131/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/131/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/131/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/131/result b/baremaps-testing/data/osm-testdata/1/131/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/131/result rename to baremaps-testing/data/osm-testdata/1/131/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/131/test.json b/baremaps-testing/data/osm-testdata/1/131/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/131/test.json rename to baremaps-testing/data/osm-testdata/1/131/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/131/ways.wkt b/baremaps-testing/data/osm-testdata/1/131/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/131/ways.wkt rename to baremaps-testing/data/osm-testdata/1/131/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/132/data.osm b/baremaps-testing/data/osm-testdata/1/132/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/132/data.osm rename to baremaps-testing/data/osm-testdata/1/132/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/132/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/132/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/132/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/132/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/132/nodes.wkt b/baremaps-testing/data/osm-testdata/1/132/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/132/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/132/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/132/result b/baremaps-testing/data/osm-testdata/1/132/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/132/result rename to baremaps-testing/data/osm-testdata/1/132/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/132/test.json b/baremaps-testing/data/osm-testdata/1/132/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/132/test.json rename to baremaps-testing/data/osm-testdata/1/132/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/132/ways.wkt b/baremaps-testing/data/osm-testdata/1/132/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/132/ways.wkt rename to baremaps-testing/data/osm-testdata/1/132/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/133/data.osm b/baremaps-testing/data/osm-testdata/1/133/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/133/data.osm rename to baremaps-testing/data/osm-testdata/1/133/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/133/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/133/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/133/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/133/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/133/nodes.wkt b/baremaps-testing/data/osm-testdata/1/133/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/133/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/133/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/133/result b/baremaps-testing/data/osm-testdata/1/133/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/133/result rename to baremaps-testing/data/osm-testdata/1/133/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/133/test.json b/baremaps-testing/data/osm-testdata/1/133/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/133/test.json rename to baremaps-testing/data/osm-testdata/1/133/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/133/ways.wkt b/baremaps-testing/data/osm-testdata/1/133/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/133/ways.wkt rename to baremaps-testing/data/osm-testdata/1/133/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/134/data.osm b/baremaps-testing/data/osm-testdata/1/134/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/134/data.osm rename to baremaps-testing/data/osm-testdata/1/134/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/1/134/data.osm.pbf b/baremaps-testing/data/osm-testdata/1/134/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/134/data.osm.pbf rename to baremaps-testing/data/osm-testdata/1/134/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/1/134/nodes.wkt b/baremaps-testing/data/osm-testdata/1/134/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/134/nodes.wkt rename to baremaps-testing/data/osm-testdata/1/134/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/134/result b/baremaps-testing/data/osm-testdata/1/134/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/134/result rename to baremaps-testing/data/osm-testdata/1/134/result diff --git a/baremaps-core/src/test/resources/osm-testdata/1/134/test.json b/baremaps-testing/data/osm-testdata/1/134/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/134/test.json rename to baremaps-testing/data/osm-testdata/1/134/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/1/134/ways.wkt b/baremaps-testing/data/osm-testdata/1/134/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/134/ways.wkt rename to baremaps-testing/data/osm-testdata/1/134/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/1/description.txt b/baremaps-testing/data/osm-testdata/1/description.txt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/1/description.txt rename to baremaps-testing/data/osm-testdata/1/description.txt diff --git a/baremaps-core/src/test/resources/osm-testdata/3/300/data.osm b/baremaps-testing/data/osm-testdata/3/300/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/300/data.osm rename to baremaps-testing/data/osm-testdata/3/300/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/3/300/data.osm.pbf b/baremaps-testing/data/osm-testdata/3/300/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/300/data.osm.pbf rename to baremaps-testing/data/osm-testdata/3/300/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/3/300/nodes.wkt b/baremaps-testing/data/osm-testdata/3/300/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/300/nodes.wkt rename to baremaps-testing/data/osm-testdata/3/300/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/3/300/result b/baremaps-testing/data/osm-testdata/3/300/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/300/result rename to baremaps-testing/data/osm-testdata/3/300/result diff --git a/baremaps-core/src/test/resources/osm-testdata/3/300/test.json b/baremaps-testing/data/osm-testdata/3/300/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/300/test.json rename to baremaps-testing/data/osm-testdata/3/300/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/3/301/data.osm b/baremaps-testing/data/osm-testdata/3/301/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/301/data.osm rename to baremaps-testing/data/osm-testdata/3/301/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/3/301/data.osm.pbf b/baremaps-testing/data/osm-testdata/3/301/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/301/data.osm.pbf rename to baremaps-testing/data/osm-testdata/3/301/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/3/301/nodes.wkt b/baremaps-testing/data/osm-testdata/3/301/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/301/nodes.wkt rename to baremaps-testing/data/osm-testdata/3/301/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/3/301/result b/baremaps-testing/data/osm-testdata/3/301/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/301/result rename to baremaps-testing/data/osm-testdata/3/301/result diff --git a/baremaps-core/src/test/resources/osm-testdata/3/301/test.json b/baremaps-testing/data/osm-testdata/3/301/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/301/test.json rename to baremaps-testing/data/osm-testdata/3/301/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/3/302/data.osm b/baremaps-testing/data/osm-testdata/3/302/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/302/data.osm rename to baremaps-testing/data/osm-testdata/3/302/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/3/302/data.osm.pbf b/baremaps-testing/data/osm-testdata/3/302/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/302/data.osm.pbf rename to baremaps-testing/data/osm-testdata/3/302/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/3/302/nodes.wkt b/baremaps-testing/data/osm-testdata/3/302/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/302/nodes.wkt rename to baremaps-testing/data/osm-testdata/3/302/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/3/302/result b/baremaps-testing/data/osm-testdata/3/302/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/302/result rename to baremaps-testing/data/osm-testdata/3/302/result diff --git a/baremaps-core/src/test/resources/osm-testdata/3/302/test.json b/baremaps-testing/data/osm-testdata/3/302/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/302/test.json rename to baremaps-testing/data/osm-testdata/3/302/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/3/303/data.osm b/baremaps-testing/data/osm-testdata/3/303/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/303/data.osm rename to baremaps-testing/data/osm-testdata/3/303/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/3/303/data.osm.pbf b/baremaps-testing/data/osm-testdata/3/303/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/303/data.osm.pbf rename to baremaps-testing/data/osm-testdata/3/303/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/3/303/nodes.wkt b/baremaps-testing/data/osm-testdata/3/303/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/303/nodes.wkt rename to baremaps-testing/data/osm-testdata/3/303/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/3/303/result b/baremaps-testing/data/osm-testdata/3/303/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/303/result rename to baremaps-testing/data/osm-testdata/3/303/result diff --git a/baremaps-core/src/test/resources/osm-testdata/3/303/test.json b/baremaps-testing/data/osm-testdata/3/303/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/303/test.json rename to baremaps-testing/data/osm-testdata/3/303/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/3/304/data.osm b/baremaps-testing/data/osm-testdata/3/304/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/304/data.osm rename to baremaps-testing/data/osm-testdata/3/304/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/3/304/data.osm.pbf b/baremaps-testing/data/osm-testdata/3/304/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/304/data.osm.pbf rename to baremaps-testing/data/osm-testdata/3/304/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/3/304/nodes.wkt b/baremaps-testing/data/osm-testdata/3/304/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/304/nodes.wkt rename to baremaps-testing/data/osm-testdata/3/304/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/3/304/result b/baremaps-testing/data/osm-testdata/3/304/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/304/result rename to baremaps-testing/data/osm-testdata/3/304/result diff --git a/baremaps-core/src/test/resources/osm-testdata/3/304/test.json b/baremaps-testing/data/osm-testdata/3/304/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/304/test.json rename to baremaps-testing/data/osm-testdata/3/304/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/3/305/data.osm b/baremaps-testing/data/osm-testdata/3/305/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/305/data.osm rename to baremaps-testing/data/osm-testdata/3/305/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/3/305/data.osm.pbf b/baremaps-testing/data/osm-testdata/3/305/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/305/data.osm.pbf rename to baremaps-testing/data/osm-testdata/3/305/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/3/305/nodes.wkt b/baremaps-testing/data/osm-testdata/3/305/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/305/nodes.wkt rename to baremaps-testing/data/osm-testdata/3/305/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/3/305/result b/baremaps-testing/data/osm-testdata/3/305/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/305/result rename to baremaps-testing/data/osm-testdata/3/305/result diff --git a/baremaps-core/src/test/resources/osm-testdata/3/305/test.json b/baremaps-testing/data/osm-testdata/3/305/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/305/test.json rename to baremaps-testing/data/osm-testdata/3/305/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/3/306/data.osm b/baremaps-testing/data/osm-testdata/3/306/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/306/data.osm rename to baremaps-testing/data/osm-testdata/3/306/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/3/306/data.osm.pbf b/baremaps-testing/data/osm-testdata/3/306/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/306/data.osm.pbf rename to baremaps-testing/data/osm-testdata/3/306/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/3/306/nodes.wkt b/baremaps-testing/data/osm-testdata/3/306/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/306/nodes.wkt rename to baremaps-testing/data/osm-testdata/3/306/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/3/306/result b/baremaps-testing/data/osm-testdata/3/306/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/306/result rename to baremaps-testing/data/osm-testdata/3/306/result diff --git a/baremaps-core/src/test/resources/osm-testdata/3/306/test.json b/baremaps-testing/data/osm-testdata/3/306/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/306/test.json rename to baremaps-testing/data/osm-testdata/3/306/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/3/307/data.osm b/baremaps-testing/data/osm-testdata/3/307/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/307/data.osm rename to baremaps-testing/data/osm-testdata/3/307/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/3/307/data.osm.pbf b/baremaps-testing/data/osm-testdata/3/307/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/307/data.osm.pbf rename to baremaps-testing/data/osm-testdata/3/307/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/3/307/nodes.wkt b/baremaps-testing/data/osm-testdata/3/307/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/307/nodes.wkt rename to baremaps-testing/data/osm-testdata/3/307/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/3/307/result b/baremaps-testing/data/osm-testdata/3/307/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/307/result rename to baremaps-testing/data/osm-testdata/3/307/result diff --git a/baremaps-core/src/test/resources/osm-testdata/3/307/test.json b/baremaps-testing/data/osm-testdata/3/307/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/307/test.json rename to baremaps-testing/data/osm-testdata/3/307/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/3/description.txt b/baremaps-testing/data/osm-testdata/3/description.txt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/3/description.txt rename to baremaps-testing/data/osm-testdata/3/description.txt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/700/data.osm b/baremaps-testing/data/osm-testdata/7/700/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/700/data.osm rename to baremaps-testing/data/osm-testdata/7/700/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/700/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/700/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/700/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/700/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/700/nodes.wkt b/baremaps-testing/data/osm-testdata/7/700/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/700/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/700/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/700/result b/baremaps-testing/data/osm-testdata/7/700/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/700/result rename to baremaps-testing/data/osm-testdata/7/700/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/700/test.json b/baremaps-testing/data/osm-testdata/7/700/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/700/test.json rename to baremaps-testing/data/osm-testdata/7/700/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/700/ways.wkt b/baremaps-testing/data/osm-testdata/7/700/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/700/ways.wkt rename to baremaps-testing/data/osm-testdata/7/700/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/701/data.osm b/baremaps-testing/data/osm-testdata/7/701/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/701/data.osm rename to baremaps-testing/data/osm-testdata/7/701/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/701/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/701/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/701/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/701/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/701/nodes.wkt b/baremaps-testing/data/osm-testdata/7/701/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/701/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/701/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/701/result b/baremaps-testing/data/osm-testdata/7/701/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/701/result rename to baremaps-testing/data/osm-testdata/7/701/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/701/test.json b/baremaps-testing/data/osm-testdata/7/701/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/701/test.json rename to baremaps-testing/data/osm-testdata/7/701/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/701/ways.wkt b/baremaps-testing/data/osm-testdata/7/701/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/701/ways.wkt rename to baremaps-testing/data/osm-testdata/7/701/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/702/data.osm b/baremaps-testing/data/osm-testdata/7/702/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/702/data.osm rename to baremaps-testing/data/osm-testdata/7/702/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/702/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/702/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/702/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/702/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/702/nodes.wkt b/baremaps-testing/data/osm-testdata/7/702/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/702/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/702/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/702/result b/baremaps-testing/data/osm-testdata/7/702/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/702/result rename to baremaps-testing/data/osm-testdata/7/702/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/702/test.json b/baremaps-testing/data/osm-testdata/7/702/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/702/test.json rename to baremaps-testing/data/osm-testdata/7/702/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/702/ways.wkt b/baremaps-testing/data/osm-testdata/7/702/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/702/ways.wkt rename to baremaps-testing/data/osm-testdata/7/702/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/703/data.osm b/baremaps-testing/data/osm-testdata/7/703/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/703/data.osm rename to baremaps-testing/data/osm-testdata/7/703/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/703/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/703/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/703/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/703/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/703/nodes.wkt b/baremaps-testing/data/osm-testdata/7/703/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/703/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/703/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/703/result b/baremaps-testing/data/osm-testdata/7/703/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/703/result rename to baremaps-testing/data/osm-testdata/7/703/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/703/test.json b/baremaps-testing/data/osm-testdata/7/703/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/703/test.json rename to baremaps-testing/data/osm-testdata/7/703/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/703/ways.wkt b/baremaps-testing/data/osm-testdata/7/703/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/703/ways.wkt rename to baremaps-testing/data/osm-testdata/7/703/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/704/data.osm b/baremaps-testing/data/osm-testdata/7/704/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/704/data.osm rename to baremaps-testing/data/osm-testdata/7/704/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/704/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/704/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/704/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/704/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/704/nodes.wkt b/baremaps-testing/data/osm-testdata/7/704/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/704/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/704/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/704/result b/baremaps-testing/data/osm-testdata/7/704/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/704/result rename to baremaps-testing/data/osm-testdata/7/704/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/704/test.json b/baremaps-testing/data/osm-testdata/7/704/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/704/test.json rename to baremaps-testing/data/osm-testdata/7/704/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/704/ways.wkt b/baremaps-testing/data/osm-testdata/7/704/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/704/ways.wkt rename to baremaps-testing/data/osm-testdata/7/704/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/705/data.osm b/baremaps-testing/data/osm-testdata/7/705/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/705/data.osm rename to baremaps-testing/data/osm-testdata/7/705/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/705/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/705/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/705/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/705/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/705/nodes.wkt b/baremaps-testing/data/osm-testdata/7/705/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/705/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/705/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/705/result b/baremaps-testing/data/osm-testdata/7/705/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/705/result rename to baremaps-testing/data/osm-testdata/7/705/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/705/test.json b/baremaps-testing/data/osm-testdata/7/705/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/705/test.json rename to baremaps-testing/data/osm-testdata/7/705/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/705/ways.wkt b/baremaps-testing/data/osm-testdata/7/705/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/705/ways.wkt rename to baremaps-testing/data/osm-testdata/7/705/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/706/data.osm b/baremaps-testing/data/osm-testdata/7/706/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/706/data.osm rename to baremaps-testing/data/osm-testdata/7/706/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/706/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/706/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/706/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/706/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/706/nodes.wkt b/baremaps-testing/data/osm-testdata/7/706/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/706/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/706/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/706/result b/baremaps-testing/data/osm-testdata/7/706/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/706/result rename to baremaps-testing/data/osm-testdata/7/706/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/706/test.json b/baremaps-testing/data/osm-testdata/7/706/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/706/test.json rename to baremaps-testing/data/osm-testdata/7/706/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/706/ways.wkt b/baremaps-testing/data/osm-testdata/7/706/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/706/ways.wkt rename to baremaps-testing/data/osm-testdata/7/706/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/707/data.osm b/baremaps-testing/data/osm-testdata/7/707/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/707/data.osm rename to baremaps-testing/data/osm-testdata/7/707/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/707/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/707/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/707/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/707/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/707/nodes.wkt b/baremaps-testing/data/osm-testdata/7/707/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/707/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/707/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/707/result b/baremaps-testing/data/osm-testdata/7/707/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/707/result rename to baremaps-testing/data/osm-testdata/7/707/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/707/test.json b/baremaps-testing/data/osm-testdata/7/707/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/707/test.json rename to baremaps-testing/data/osm-testdata/7/707/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/707/ways.wkt b/baremaps-testing/data/osm-testdata/7/707/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/707/ways.wkt rename to baremaps-testing/data/osm-testdata/7/707/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/708/data.osm b/baremaps-testing/data/osm-testdata/7/708/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/708/data.osm rename to baremaps-testing/data/osm-testdata/7/708/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/708/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/708/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/708/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/708/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/708/nodes.wkt b/baremaps-testing/data/osm-testdata/7/708/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/708/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/708/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/708/result b/baremaps-testing/data/osm-testdata/7/708/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/708/result rename to baremaps-testing/data/osm-testdata/7/708/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/708/test.json b/baremaps-testing/data/osm-testdata/7/708/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/708/test.json rename to baremaps-testing/data/osm-testdata/7/708/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/708/ways.wkt b/baremaps-testing/data/osm-testdata/7/708/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/708/ways.wkt rename to baremaps-testing/data/osm-testdata/7/708/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/709/data.osm b/baremaps-testing/data/osm-testdata/7/709/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/709/data.osm rename to baremaps-testing/data/osm-testdata/7/709/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/709/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/709/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/709/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/709/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/709/nodes.wkt b/baremaps-testing/data/osm-testdata/7/709/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/709/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/709/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/709/result b/baremaps-testing/data/osm-testdata/7/709/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/709/result rename to baremaps-testing/data/osm-testdata/7/709/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/709/test.json b/baremaps-testing/data/osm-testdata/7/709/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/709/test.json rename to baremaps-testing/data/osm-testdata/7/709/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/709/ways.wkt b/baremaps-testing/data/osm-testdata/7/709/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/709/ways.wkt rename to baremaps-testing/data/osm-testdata/7/709/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/710/data.osm b/baremaps-testing/data/osm-testdata/7/710/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/710/data.osm rename to baremaps-testing/data/osm-testdata/7/710/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/710/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/710/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/710/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/710/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/710/labels.wkt b/baremaps-testing/data/osm-testdata/7/710/labels.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/710/labels.wkt rename to baremaps-testing/data/osm-testdata/7/710/labels.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/710/nodes.wkt b/baremaps-testing/data/osm-testdata/7/710/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/710/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/710/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/710/result b/baremaps-testing/data/osm-testdata/7/710/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/710/result rename to baremaps-testing/data/osm-testdata/7/710/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/710/test.json b/baremaps-testing/data/osm-testdata/7/710/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/710/test.json rename to baremaps-testing/data/osm-testdata/7/710/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/710/ways.wkt b/baremaps-testing/data/osm-testdata/7/710/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/710/ways.wkt rename to baremaps-testing/data/osm-testdata/7/710/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/711/data.osm b/baremaps-testing/data/osm-testdata/7/711/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/711/data.osm rename to baremaps-testing/data/osm-testdata/7/711/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/711/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/711/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/711/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/711/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/711/nodes.wkt b/baremaps-testing/data/osm-testdata/7/711/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/711/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/711/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/711/result b/baremaps-testing/data/osm-testdata/7/711/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/711/result rename to baremaps-testing/data/osm-testdata/7/711/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/711/test.json b/baremaps-testing/data/osm-testdata/7/711/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/711/test.json rename to baremaps-testing/data/osm-testdata/7/711/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/711/ways.wkt b/baremaps-testing/data/osm-testdata/7/711/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/711/ways.wkt rename to baremaps-testing/data/osm-testdata/7/711/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/714/data.osm b/baremaps-testing/data/osm-testdata/7/714/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/714/data.osm rename to baremaps-testing/data/osm-testdata/7/714/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/714/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/714/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/714/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/714/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/714/nodes.wkt b/baremaps-testing/data/osm-testdata/7/714/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/714/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/714/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/714/result b/baremaps-testing/data/osm-testdata/7/714/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/714/result rename to baremaps-testing/data/osm-testdata/7/714/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/714/test.json b/baremaps-testing/data/osm-testdata/7/714/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/714/test.json rename to baremaps-testing/data/osm-testdata/7/714/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/714/ways.wkt b/baremaps-testing/data/osm-testdata/7/714/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/714/ways.wkt rename to baremaps-testing/data/osm-testdata/7/714/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/715/data.osm b/baremaps-testing/data/osm-testdata/7/715/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/715/data.osm rename to baremaps-testing/data/osm-testdata/7/715/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/715/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/715/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/715/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/715/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/715/nodes.wkt b/baremaps-testing/data/osm-testdata/7/715/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/715/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/715/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/715/result b/baremaps-testing/data/osm-testdata/7/715/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/715/result rename to baremaps-testing/data/osm-testdata/7/715/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/715/test.json b/baremaps-testing/data/osm-testdata/7/715/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/715/test.json rename to baremaps-testing/data/osm-testdata/7/715/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/715/ways.wkt b/baremaps-testing/data/osm-testdata/7/715/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/715/ways.wkt rename to baremaps-testing/data/osm-testdata/7/715/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/720/data.osm b/baremaps-testing/data/osm-testdata/7/720/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/720/data.osm rename to baremaps-testing/data/osm-testdata/7/720/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/720/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/720/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/720/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/720/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/720/nodes.wkt b/baremaps-testing/data/osm-testdata/7/720/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/720/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/720/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/720/result b/baremaps-testing/data/osm-testdata/7/720/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/720/result rename to baremaps-testing/data/osm-testdata/7/720/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/720/test.json b/baremaps-testing/data/osm-testdata/7/720/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/720/test.json rename to baremaps-testing/data/osm-testdata/7/720/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/720/ways.wkt b/baremaps-testing/data/osm-testdata/7/720/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/720/ways.wkt rename to baremaps-testing/data/osm-testdata/7/720/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/721/data.osm b/baremaps-testing/data/osm-testdata/7/721/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/721/data.osm rename to baremaps-testing/data/osm-testdata/7/721/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/721/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/721/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/721/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/721/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/721/nodes.wkt b/baremaps-testing/data/osm-testdata/7/721/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/721/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/721/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/721/result b/baremaps-testing/data/osm-testdata/7/721/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/721/result rename to baremaps-testing/data/osm-testdata/7/721/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/721/test.json b/baremaps-testing/data/osm-testdata/7/721/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/721/test.json rename to baremaps-testing/data/osm-testdata/7/721/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/721/ways.wkt b/baremaps-testing/data/osm-testdata/7/721/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/721/ways.wkt rename to baremaps-testing/data/osm-testdata/7/721/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/722/data.osm b/baremaps-testing/data/osm-testdata/7/722/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/722/data.osm rename to baremaps-testing/data/osm-testdata/7/722/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/722/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/722/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/722/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/722/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/722/nodes.wkt b/baremaps-testing/data/osm-testdata/7/722/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/722/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/722/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/722/result b/baremaps-testing/data/osm-testdata/7/722/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/722/result rename to baremaps-testing/data/osm-testdata/7/722/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/722/test.json b/baremaps-testing/data/osm-testdata/7/722/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/722/test.json rename to baremaps-testing/data/osm-testdata/7/722/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/722/ways.wkt b/baremaps-testing/data/osm-testdata/7/722/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/722/ways.wkt rename to baremaps-testing/data/osm-testdata/7/722/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/723/data.osm b/baremaps-testing/data/osm-testdata/7/723/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/723/data.osm rename to baremaps-testing/data/osm-testdata/7/723/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/723/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/723/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/723/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/723/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/723/nodes.wkt b/baremaps-testing/data/osm-testdata/7/723/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/723/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/723/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/723/result b/baremaps-testing/data/osm-testdata/7/723/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/723/result rename to baremaps-testing/data/osm-testdata/7/723/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/723/test.json b/baremaps-testing/data/osm-testdata/7/723/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/723/test.json rename to baremaps-testing/data/osm-testdata/7/723/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/723/ways.wkt b/baremaps-testing/data/osm-testdata/7/723/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/723/ways.wkt rename to baremaps-testing/data/osm-testdata/7/723/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/724/data.osm b/baremaps-testing/data/osm-testdata/7/724/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/724/data.osm rename to baremaps-testing/data/osm-testdata/7/724/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/724/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/724/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/724/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/724/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/724/nodes.wkt b/baremaps-testing/data/osm-testdata/7/724/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/724/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/724/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/724/result b/baremaps-testing/data/osm-testdata/7/724/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/724/result rename to baremaps-testing/data/osm-testdata/7/724/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/724/test.json b/baremaps-testing/data/osm-testdata/7/724/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/724/test.json rename to baremaps-testing/data/osm-testdata/7/724/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/724/ways.wkt b/baremaps-testing/data/osm-testdata/7/724/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/724/ways.wkt rename to baremaps-testing/data/osm-testdata/7/724/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/725/data.osm b/baremaps-testing/data/osm-testdata/7/725/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/725/data.osm rename to baremaps-testing/data/osm-testdata/7/725/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/725/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/725/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/725/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/725/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/725/nodes.wkt b/baremaps-testing/data/osm-testdata/7/725/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/725/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/725/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/725/result b/baremaps-testing/data/osm-testdata/7/725/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/725/result rename to baremaps-testing/data/osm-testdata/7/725/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/725/test.json b/baremaps-testing/data/osm-testdata/7/725/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/725/test.json rename to baremaps-testing/data/osm-testdata/7/725/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/725/ways.wkt b/baremaps-testing/data/osm-testdata/7/725/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/725/ways.wkt rename to baremaps-testing/data/osm-testdata/7/725/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/726/data.osm b/baremaps-testing/data/osm-testdata/7/726/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/726/data.osm rename to baremaps-testing/data/osm-testdata/7/726/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/726/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/726/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/726/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/726/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/726/nodes.wkt b/baremaps-testing/data/osm-testdata/7/726/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/726/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/726/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/726/result b/baremaps-testing/data/osm-testdata/7/726/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/726/result rename to baremaps-testing/data/osm-testdata/7/726/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/726/test.json b/baremaps-testing/data/osm-testdata/7/726/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/726/test.json rename to baremaps-testing/data/osm-testdata/7/726/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/726/ways.wkt b/baremaps-testing/data/osm-testdata/7/726/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/726/ways.wkt rename to baremaps-testing/data/osm-testdata/7/726/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/727/data.osm b/baremaps-testing/data/osm-testdata/7/727/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/727/data.osm rename to baremaps-testing/data/osm-testdata/7/727/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/727/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/727/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/727/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/727/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/727/nodes.wkt b/baremaps-testing/data/osm-testdata/7/727/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/727/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/727/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/727/result b/baremaps-testing/data/osm-testdata/7/727/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/727/result rename to baremaps-testing/data/osm-testdata/7/727/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/727/test.json b/baremaps-testing/data/osm-testdata/7/727/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/727/test.json rename to baremaps-testing/data/osm-testdata/7/727/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/727/ways.wkt b/baremaps-testing/data/osm-testdata/7/727/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/727/ways.wkt rename to baremaps-testing/data/osm-testdata/7/727/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/728/data.osm b/baremaps-testing/data/osm-testdata/7/728/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/728/data.osm rename to baremaps-testing/data/osm-testdata/7/728/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/728/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/728/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/728/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/728/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/728/nodes.wkt b/baremaps-testing/data/osm-testdata/7/728/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/728/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/728/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/728/result b/baremaps-testing/data/osm-testdata/7/728/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/728/result rename to baremaps-testing/data/osm-testdata/7/728/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/728/test.json b/baremaps-testing/data/osm-testdata/7/728/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/728/test.json rename to baremaps-testing/data/osm-testdata/7/728/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/728/ways.wkt b/baremaps-testing/data/osm-testdata/7/728/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/728/ways.wkt rename to baremaps-testing/data/osm-testdata/7/728/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/729/data.osm b/baremaps-testing/data/osm-testdata/7/729/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/729/data.osm rename to baremaps-testing/data/osm-testdata/7/729/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/729/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/729/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/729/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/729/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/729/nodes.wkt b/baremaps-testing/data/osm-testdata/7/729/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/729/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/729/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/729/result b/baremaps-testing/data/osm-testdata/7/729/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/729/result rename to baremaps-testing/data/osm-testdata/7/729/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/729/test.json b/baremaps-testing/data/osm-testdata/7/729/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/729/test.json rename to baremaps-testing/data/osm-testdata/7/729/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/729/ways.wkt b/baremaps-testing/data/osm-testdata/7/729/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/729/ways.wkt rename to baremaps-testing/data/osm-testdata/7/729/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/730/data.osm b/baremaps-testing/data/osm-testdata/7/730/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/730/data.osm rename to baremaps-testing/data/osm-testdata/7/730/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/730/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/730/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/730/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/730/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/730/nodes.wkt b/baremaps-testing/data/osm-testdata/7/730/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/730/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/730/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/730/result b/baremaps-testing/data/osm-testdata/7/730/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/730/result rename to baremaps-testing/data/osm-testdata/7/730/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/730/test.json b/baremaps-testing/data/osm-testdata/7/730/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/730/test.json rename to baremaps-testing/data/osm-testdata/7/730/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/730/ways.wkt b/baremaps-testing/data/osm-testdata/7/730/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/730/ways.wkt rename to baremaps-testing/data/osm-testdata/7/730/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/731/data.osm b/baremaps-testing/data/osm-testdata/7/731/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/731/data.osm rename to baremaps-testing/data/osm-testdata/7/731/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/731/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/731/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/731/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/731/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/731/nodes.wkt b/baremaps-testing/data/osm-testdata/7/731/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/731/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/731/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/731/result b/baremaps-testing/data/osm-testdata/7/731/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/731/result rename to baremaps-testing/data/osm-testdata/7/731/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/731/test.json b/baremaps-testing/data/osm-testdata/7/731/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/731/test.json rename to baremaps-testing/data/osm-testdata/7/731/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/731/ways.wkt b/baremaps-testing/data/osm-testdata/7/731/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/731/ways.wkt rename to baremaps-testing/data/osm-testdata/7/731/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/732/data.osm b/baremaps-testing/data/osm-testdata/7/732/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/732/data.osm rename to baremaps-testing/data/osm-testdata/7/732/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/732/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/732/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/732/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/732/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/732/labels.wkt b/baremaps-testing/data/osm-testdata/7/732/labels.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/732/labels.wkt rename to baremaps-testing/data/osm-testdata/7/732/labels.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/732/nodes.wkt b/baremaps-testing/data/osm-testdata/7/732/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/732/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/732/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/732/result b/baremaps-testing/data/osm-testdata/7/732/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/732/result rename to baremaps-testing/data/osm-testdata/7/732/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/732/test.json b/baremaps-testing/data/osm-testdata/7/732/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/732/test.json rename to baremaps-testing/data/osm-testdata/7/732/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/732/ways.wkt b/baremaps-testing/data/osm-testdata/7/732/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/732/ways.wkt rename to baremaps-testing/data/osm-testdata/7/732/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/733/data.osm b/baremaps-testing/data/osm-testdata/7/733/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/733/data.osm rename to baremaps-testing/data/osm-testdata/7/733/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/733/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/733/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/733/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/733/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/733/nodes.wkt b/baremaps-testing/data/osm-testdata/7/733/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/733/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/733/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/733/result b/baremaps-testing/data/osm-testdata/7/733/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/733/result rename to baremaps-testing/data/osm-testdata/7/733/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/733/test.json b/baremaps-testing/data/osm-testdata/7/733/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/733/test.json rename to baremaps-testing/data/osm-testdata/7/733/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/733/ways.wkt b/baremaps-testing/data/osm-testdata/7/733/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/733/ways.wkt rename to baremaps-testing/data/osm-testdata/7/733/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/734/data.osm b/baremaps-testing/data/osm-testdata/7/734/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/734/data.osm rename to baremaps-testing/data/osm-testdata/7/734/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/734/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/734/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/734/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/734/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/734/nodes.wkt b/baremaps-testing/data/osm-testdata/7/734/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/734/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/734/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/734/result b/baremaps-testing/data/osm-testdata/7/734/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/734/result rename to baremaps-testing/data/osm-testdata/7/734/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/734/test.json b/baremaps-testing/data/osm-testdata/7/734/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/734/test.json rename to baremaps-testing/data/osm-testdata/7/734/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/734/ways.wkt b/baremaps-testing/data/osm-testdata/7/734/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/734/ways.wkt rename to baremaps-testing/data/osm-testdata/7/734/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/740/data.osm b/baremaps-testing/data/osm-testdata/7/740/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/740/data.osm rename to baremaps-testing/data/osm-testdata/7/740/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/740/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/740/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/740/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/740/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/740/nodes.wkt b/baremaps-testing/data/osm-testdata/7/740/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/740/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/740/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/740/result b/baremaps-testing/data/osm-testdata/7/740/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/740/result rename to baremaps-testing/data/osm-testdata/7/740/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/740/test.json b/baremaps-testing/data/osm-testdata/7/740/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/740/test.json rename to baremaps-testing/data/osm-testdata/7/740/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/740/ways.wkt b/baremaps-testing/data/osm-testdata/7/740/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/740/ways.wkt rename to baremaps-testing/data/osm-testdata/7/740/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/741/data.osm b/baremaps-testing/data/osm-testdata/7/741/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/741/data.osm rename to baremaps-testing/data/osm-testdata/7/741/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/741/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/741/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/741/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/741/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/741/nodes.wkt b/baremaps-testing/data/osm-testdata/7/741/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/741/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/741/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/741/result b/baremaps-testing/data/osm-testdata/7/741/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/741/result rename to baremaps-testing/data/osm-testdata/7/741/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/741/test.json b/baremaps-testing/data/osm-testdata/7/741/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/741/test.json rename to baremaps-testing/data/osm-testdata/7/741/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/741/ways.wkt b/baremaps-testing/data/osm-testdata/7/741/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/741/ways.wkt rename to baremaps-testing/data/osm-testdata/7/741/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/742/data.osm b/baremaps-testing/data/osm-testdata/7/742/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/742/data.osm rename to baremaps-testing/data/osm-testdata/7/742/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/742/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/742/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/742/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/742/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/742/nodes.wkt b/baremaps-testing/data/osm-testdata/7/742/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/742/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/742/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/742/result b/baremaps-testing/data/osm-testdata/7/742/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/742/result rename to baremaps-testing/data/osm-testdata/7/742/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/742/test.json b/baremaps-testing/data/osm-testdata/7/742/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/742/test.json rename to baremaps-testing/data/osm-testdata/7/742/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/742/ways.wkt b/baremaps-testing/data/osm-testdata/7/742/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/742/ways.wkt rename to baremaps-testing/data/osm-testdata/7/742/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/743/data.osm b/baremaps-testing/data/osm-testdata/7/743/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/743/data.osm rename to baremaps-testing/data/osm-testdata/7/743/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/743/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/743/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/743/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/743/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/743/nodes.wkt b/baremaps-testing/data/osm-testdata/7/743/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/743/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/743/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/743/result b/baremaps-testing/data/osm-testdata/7/743/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/743/result rename to baremaps-testing/data/osm-testdata/7/743/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/743/test.json b/baremaps-testing/data/osm-testdata/7/743/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/743/test.json rename to baremaps-testing/data/osm-testdata/7/743/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/743/ways.wkt b/baremaps-testing/data/osm-testdata/7/743/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/743/ways.wkt rename to baremaps-testing/data/osm-testdata/7/743/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/744/data.osm b/baremaps-testing/data/osm-testdata/7/744/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/744/data.osm rename to baremaps-testing/data/osm-testdata/7/744/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/744/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/744/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/744/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/744/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/744/nodes.wkt b/baremaps-testing/data/osm-testdata/7/744/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/744/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/744/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/744/result b/baremaps-testing/data/osm-testdata/7/744/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/744/result rename to baremaps-testing/data/osm-testdata/7/744/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/744/test.json b/baremaps-testing/data/osm-testdata/7/744/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/744/test.json rename to baremaps-testing/data/osm-testdata/7/744/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/744/ways.wkt b/baremaps-testing/data/osm-testdata/7/744/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/744/ways.wkt rename to baremaps-testing/data/osm-testdata/7/744/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/745/data.osm b/baremaps-testing/data/osm-testdata/7/745/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/745/data.osm rename to baremaps-testing/data/osm-testdata/7/745/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/745/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/745/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/745/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/745/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/745/nodes.wkt b/baremaps-testing/data/osm-testdata/7/745/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/745/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/745/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/745/result b/baremaps-testing/data/osm-testdata/7/745/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/745/result rename to baremaps-testing/data/osm-testdata/7/745/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/745/test.json b/baremaps-testing/data/osm-testdata/7/745/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/745/test.json rename to baremaps-testing/data/osm-testdata/7/745/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/745/ways.wkt b/baremaps-testing/data/osm-testdata/7/745/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/745/ways.wkt rename to baremaps-testing/data/osm-testdata/7/745/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/746/data.osm b/baremaps-testing/data/osm-testdata/7/746/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/746/data.osm rename to baremaps-testing/data/osm-testdata/7/746/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/746/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/746/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/746/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/746/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/746/nodes.wkt b/baremaps-testing/data/osm-testdata/7/746/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/746/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/746/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/746/result b/baremaps-testing/data/osm-testdata/7/746/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/746/result rename to baremaps-testing/data/osm-testdata/7/746/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/746/test.json b/baremaps-testing/data/osm-testdata/7/746/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/746/test.json rename to baremaps-testing/data/osm-testdata/7/746/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/746/ways.wkt b/baremaps-testing/data/osm-testdata/7/746/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/746/ways.wkt rename to baremaps-testing/data/osm-testdata/7/746/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/747/data.osm b/baremaps-testing/data/osm-testdata/7/747/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/747/data.osm rename to baremaps-testing/data/osm-testdata/7/747/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/747/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/747/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/747/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/747/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/747/nodes.wkt b/baremaps-testing/data/osm-testdata/7/747/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/747/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/747/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/747/result b/baremaps-testing/data/osm-testdata/7/747/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/747/result rename to baremaps-testing/data/osm-testdata/7/747/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/747/test.json b/baremaps-testing/data/osm-testdata/7/747/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/747/test.json rename to baremaps-testing/data/osm-testdata/7/747/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/747/ways.wkt b/baremaps-testing/data/osm-testdata/7/747/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/747/ways.wkt rename to baremaps-testing/data/osm-testdata/7/747/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/748/data.osm b/baremaps-testing/data/osm-testdata/7/748/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/748/data.osm rename to baremaps-testing/data/osm-testdata/7/748/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/748/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/748/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/748/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/748/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/748/nodes.wkt b/baremaps-testing/data/osm-testdata/7/748/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/748/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/748/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/748/result b/baremaps-testing/data/osm-testdata/7/748/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/748/result rename to baremaps-testing/data/osm-testdata/7/748/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/748/test.json b/baremaps-testing/data/osm-testdata/7/748/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/748/test.json rename to baremaps-testing/data/osm-testdata/7/748/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/748/ways.wkt b/baremaps-testing/data/osm-testdata/7/748/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/748/ways.wkt rename to baremaps-testing/data/osm-testdata/7/748/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/749/data.osm b/baremaps-testing/data/osm-testdata/7/749/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/749/data.osm rename to baremaps-testing/data/osm-testdata/7/749/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/749/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/749/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/749/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/749/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/749/nodes.wkt b/baremaps-testing/data/osm-testdata/7/749/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/749/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/749/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/749/result b/baremaps-testing/data/osm-testdata/7/749/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/749/result rename to baremaps-testing/data/osm-testdata/7/749/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/749/test.json b/baremaps-testing/data/osm-testdata/7/749/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/749/test.json rename to baremaps-testing/data/osm-testdata/7/749/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/749/ways.wkt b/baremaps-testing/data/osm-testdata/7/749/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/749/ways.wkt rename to baremaps-testing/data/osm-testdata/7/749/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/750/data.osm b/baremaps-testing/data/osm-testdata/7/750/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/750/data.osm rename to baremaps-testing/data/osm-testdata/7/750/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/750/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/750/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/750/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/750/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/750/nodes.wkt b/baremaps-testing/data/osm-testdata/7/750/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/750/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/750/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/750/result b/baremaps-testing/data/osm-testdata/7/750/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/750/result rename to baremaps-testing/data/osm-testdata/7/750/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/750/test.json b/baremaps-testing/data/osm-testdata/7/750/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/750/test.json rename to baremaps-testing/data/osm-testdata/7/750/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/750/ways.wkt b/baremaps-testing/data/osm-testdata/7/750/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/750/ways.wkt rename to baremaps-testing/data/osm-testdata/7/750/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/751/data.osm b/baremaps-testing/data/osm-testdata/7/751/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/751/data.osm rename to baremaps-testing/data/osm-testdata/7/751/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/751/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/751/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/751/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/751/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/751/nodes.wkt b/baremaps-testing/data/osm-testdata/7/751/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/751/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/751/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/751/result b/baremaps-testing/data/osm-testdata/7/751/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/751/result rename to baremaps-testing/data/osm-testdata/7/751/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/751/test.json b/baremaps-testing/data/osm-testdata/7/751/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/751/test.json rename to baremaps-testing/data/osm-testdata/7/751/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/751/ways.wkt b/baremaps-testing/data/osm-testdata/7/751/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/751/ways.wkt rename to baremaps-testing/data/osm-testdata/7/751/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/752/data.osm b/baremaps-testing/data/osm-testdata/7/752/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/752/data.osm rename to baremaps-testing/data/osm-testdata/7/752/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/752/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/752/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/752/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/752/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/752/nodes.wkt b/baremaps-testing/data/osm-testdata/7/752/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/752/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/752/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/752/result b/baremaps-testing/data/osm-testdata/7/752/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/752/result rename to baremaps-testing/data/osm-testdata/7/752/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/752/test.json b/baremaps-testing/data/osm-testdata/7/752/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/752/test.json rename to baremaps-testing/data/osm-testdata/7/752/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/752/ways.wkt b/baremaps-testing/data/osm-testdata/7/752/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/752/ways.wkt rename to baremaps-testing/data/osm-testdata/7/752/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/753/data.osm b/baremaps-testing/data/osm-testdata/7/753/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/753/data.osm rename to baremaps-testing/data/osm-testdata/7/753/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/753/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/753/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/753/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/753/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/753/nodes.wkt b/baremaps-testing/data/osm-testdata/7/753/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/753/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/753/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/753/result b/baremaps-testing/data/osm-testdata/7/753/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/753/result rename to baremaps-testing/data/osm-testdata/7/753/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/753/test.json b/baremaps-testing/data/osm-testdata/7/753/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/753/test.json rename to baremaps-testing/data/osm-testdata/7/753/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/753/ways.wkt b/baremaps-testing/data/osm-testdata/7/753/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/753/ways.wkt rename to baremaps-testing/data/osm-testdata/7/753/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/754/data.osm b/baremaps-testing/data/osm-testdata/7/754/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/754/data.osm rename to baremaps-testing/data/osm-testdata/7/754/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/754/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/754/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/754/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/754/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/754/nodes.wkt b/baremaps-testing/data/osm-testdata/7/754/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/754/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/754/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/754/result b/baremaps-testing/data/osm-testdata/7/754/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/754/result rename to baremaps-testing/data/osm-testdata/7/754/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/754/test.json b/baremaps-testing/data/osm-testdata/7/754/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/754/test.json rename to baremaps-testing/data/osm-testdata/7/754/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/754/ways.wkt b/baremaps-testing/data/osm-testdata/7/754/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/754/ways.wkt rename to baremaps-testing/data/osm-testdata/7/754/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/755/data.osm b/baremaps-testing/data/osm-testdata/7/755/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/755/data.osm rename to baremaps-testing/data/osm-testdata/7/755/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/755/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/755/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/755/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/755/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/755/nodes.wkt b/baremaps-testing/data/osm-testdata/7/755/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/755/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/755/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/755/result b/baremaps-testing/data/osm-testdata/7/755/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/755/result rename to baremaps-testing/data/osm-testdata/7/755/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/755/test.json b/baremaps-testing/data/osm-testdata/7/755/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/755/test.json rename to baremaps-testing/data/osm-testdata/7/755/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/755/ways.wkt b/baremaps-testing/data/osm-testdata/7/755/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/755/ways.wkt rename to baremaps-testing/data/osm-testdata/7/755/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/756/data.osm b/baremaps-testing/data/osm-testdata/7/756/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/756/data.osm rename to baremaps-testing/data/osm-testdata/7/756/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/756/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/756/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/756/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/756/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/756/nodes.wkt b/baremaps-testing/data/osm-testdata/7/756/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/756/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/756/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/756/result b/baremaps-testing/data/osm-testdata/7/756/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/756/result rename to baremaps-testing/data/osm-testdata/7/756/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/756/test.json b/baremaps-testing/data/osm-testdata/7/756/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/756/test.json rename to baremaps-testing/data/osm-testdata/7/756/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/756/ways.wkt b/baremaps-testing/data/osm-testdata/7/756/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/756/ways.wkt rename to baremaps-testing/data/osm-testdata/7/756/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/757/data.osm b/baremaps-testing/data/osm-testdata/7/757/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/757/data.osm rename to baremaps-testing/data/osm-testdata/7/757/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/757/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/757/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/757/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/757/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/757/nodes.wkt b/baremaps-testing/data/osm-testdata/7/757/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/757/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/757/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/757/result b/baremaps-testing/data/osm-testdata/7/757/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/757/result rename to baremaps-testing/data/osm-testdata/7/757/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/757/test.json b/baremaps-testing/data/osm-testdata/7/757/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/757/test.json rename to baremaps-testing/data/osm-testdata/7/757/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/757/ways.wkt b/baremaps-testing/data/osm-testdata/7/757/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/757/ways.wkt rename to baremaps-testing/data/osm-testdata/7/757/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/758/data.osm b/baremaps-testing/data/osm-testdata/7/758/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/758/data.osm rename to baremaps-testing/data/osm-testdata/7/758/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/758/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/758/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/758/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/758/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/758/nodes.wkt b/baremaps-testing/data/osm-testdata/7/758/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/758/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/758/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/758/result b/baremaps-testing/data/osm-testdata/7/758/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/758/result rename to baremaps-testing/data/osm-testdata/7/758/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/758/test.json b/baremaps-testing/data/osm-testdata/7/758/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/758/test.json rename to baremaps-testing/data/osm-testdata/7/758/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/758/ways.wkt b/baremaps-testing/data/osm-testdata/7/758/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/758/ways.wkt rename to baremaps-testing/data/osm-testdata/7/758/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/759/data.osm b/baremaps-testing/data/osm-testdata/7/759/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/759/data.osm rename to baremaps-testing/data/osm-testdata/7/759/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/759/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/759/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/759/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/759/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/759/nodes.wkt b/baremaps-testing/data/osm-testdata/7/759/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/759/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/759/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/759/result b/baremaps-testing/data/osm-testdata/7/759/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/759/result rename to baremaps-testing/data/osm-testdata/7/759/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/759/test.json b/baremaps-testing/data/osm-testdata/7/759/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/759/test.json rename to baremaps-testing/data/osm-testdata/7/759/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/759/ways.wkt b/baremaps-testing/data/osm-testdata/7/759/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/759/ways.wkt rename to baremaps-testing/data/osm-testdata/7/759/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/760/data.osm b/baremaps-testing/data/osm-testdata/7/760/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/760/data.osm rename to baremaps-testing/data/osm-testdata/7/760/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/760/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/760/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/760/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/760/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/760/nodes.wkt b/baremaps-testing/data/osm-testdata/7/760/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/760/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/760/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/760/result b/baremaps-testing/data/osm-testdata/7/760/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/760/result rename to baremaps-testing/data/osm-testdata/7/760/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/760/test.json b/baremaps-testing/data/osm-testdata/7/760/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/760/test.json rename to baremaps-testing/data/osm-testdata/7/760/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/760/ways.wkt b/baremaps-testing/data/osm-testdata/7/760/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/760/ways.wkt rename to baremaps-testing/data/osm-testdata/7/760/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/761/data.osm b/baremaps-testing/data/osm-testdata/7/761/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/761/data.osm rename to baremaps-testing/data/osm-testdata/7/761/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/761/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/761/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/761/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/761/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/761/nodes.wkt b/baremaps-testing/data/osm-testdata/7/761/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/761/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/761/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/761/result b/baremaps-testing/data/osm-testdata/7/761/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/761/result rename to baremaps-testing/data/osm-testdata/7/761/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/761/test.json b/baremaps-testing/data/osm-testdata/7/761/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/761/test.json rename to baremaps-testing/data/osm-testdata/7/761/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/761/ways.wkt b/baremaps-testing/data/osm-testdata/7/761/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/761/ways.wkt rename to baremaps-testing/data/osm-testdata/7/761/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/762/data.osm b/baremaps-testing/data/osm-testdata/7/762/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/762/data.osm rename to baremaps-testing/data/osm-testdata/7/762/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/762/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/762/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/762/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/762/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/762/nodes.wkt b/baremaps-testing/data/osm-testdata/7/762/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/762/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/762/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/762/result b/baremaps-testing/data/osm-testdata/7/762/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/762/result rename to baremaps-testing/data/osm-testdata/7/762/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/762/test.json b/baremaps-testing/data/osm-testdata/7/762/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/762/test.json rename to baremaps-testing/data/osm-testdata/7/762/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/762/ways.wkt b/baremaps-testing/data/osm-testdata/7/762/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/762/ways.wkt rename to baremaps-testing/data/osm-testdata/7/762/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/763/data.osm b/baremaps-testing/data/osm-testdata/7/763/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/763/data.osm rename to baremaps-testing/data/osm-testdata/7/763/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/763/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/763/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/763/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/763/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/763/nodes.wkt b/baremaps-testing/data/osm-testdata/7/763/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/763/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/763/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/763/result b/baremaps-testing/data/osm-testdata/7/763/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/763/result rename to baremaps-testing/data/osm-testdata/7/763/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/763/test.json b/baremaps-testing/data/osm-testdata/7/763/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/763/test.json rename to baremaps-testing/data/osm-testdata/7/763/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/763/ways.wkt b/baremaps-testing/data/osm-testdata/7/763/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/763/ways.wkt rename to baremaps-testing/data/osm-testdata/7/763/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/764/data.osm b/baremaps-testing/data/osm-testdata/7/764/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/764/data.osm rename to baremaps-testing/data/osm-testdata/7/764/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/764/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/764/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/764/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/764/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/764/nodes.wkt b/baremaps-testing/data/osm-testdata/7/764/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/764/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/764/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/764/result b/baremaps-testing/data/osm-testdata/7/764/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/764/result rename to baremaps-testing/data/osm-testdata/7/764/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/764/test.json b/baremaps-testing/data/osm-testdata/7/764/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/764/test.json rename to baremaps-testing/data/osm-testdata/7/764/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/764/ways.wkt b/baremaps-testing/data/osm-testdata/7/764/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/764/ways.wkt rename to baremaps-testing/data/osm-testdata/7/764/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/765/data.osm b/baremaps-testing/data/osm-testdata/7/765/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/765/data.osm rename to baremaps-testing/data/osm-testdata/7/765/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/765/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/765/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/765/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/765/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/765/nodes.wkt b/baremaps-testing/data/osm-testdata/7/765/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/765/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/765/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/765/result b/baremaps-testing/data/osm-testdata/7/765/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/765/result rename to baremaps-testing/data/osm-testdata/7/765/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/765/test.json b/baremaps-testing/data/osm-testdata/7/765/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/765/test.json rename to baremaps-testing/data/osm-testdata/7/765/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/765/ways.wkt b/baremaps-testing/data/osm-testdata/7/765/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/765/ways.wkt rename to baremaps-testing/data/osm-testdata/7/765/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/766/data.osm b/baremaps-testing/data/osm-testdata/7/766/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/766/data.osm rename to baremaps-testing/data/osm-testdata/7/766/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/766/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/766/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/766/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/766/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/766/nodes.wkt b/baremaps-testing/data/osm-testdata/7/766/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/766/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/766/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/766/result b/baremaps-testing/data/osm-testdata/7/766/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/766/result rename to baremaps-testing/data/osm-testdata/7/766/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/766/test.json b/baremaps-testing/data/osm-testdata/7/766/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/766/test.json rename to baremaps-testing/data/osm-testdata/7/766/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/766/ways.wkt b/baremaps-testing/data/osm-testdata/7/766/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/766/ways.wkt rename to baremaps-testing/data/osm-testdata/7/766/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/767/data.osm b/baremaps-testing/data/osm-testdata/7/767/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/767/data.osm rename to baremaps-testing/data/osm-testdata/7/767/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/767/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/767/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/767/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/767/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/767/nodes.wkt b/baremaps-testing/data/osm-testdata/7/767/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/767/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/767/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/767/result b/baremaps-testing/data/osm-testdata/7/767/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/767/result rename to baremaps-testing/data/osm-testdata/7/767/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/767/test.json b/baremaps-testing/data/osm-testdata/7/767/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/767/test.json rename to baremaps-testing/data/osm-testdata/7/767/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/767/ways.wkt b/baremaps-testing/data/osm-testdata/7/767/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/767/ways.wkt rename to baremaps-testing/data/osm-testdata/7/767/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/768/data.osm b/baremaps-testing/data/osm-testdata/7/768/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/768/data.osm rename to baremaps-testing/data/osm-testdata/7/768/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/768/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/768/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/768/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/768/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/768/nodes.wkt b/baremaps-testing/data/osm-testdata/7/768/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/768/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/768/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/768/result b/baremaps-testing/data/osm-testdata/7/768/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/768/result rename to baremaps-testing/data/osm-testdata/7/768/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/768/test.json b/baremaps-testing/data/osm-testdata/7/768/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/768/test.json rename to baremaps-testing/data/osm-testdata/7/768/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/768/ways.wkt b/baremaps-testing/data/osm-testdata/7/768/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/768/ways.wkt rename to baremaps-testing/data/osm-testdata/7/768/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/770/data.osm b/baremaps-testing/data/osm-testdata/7/770/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/770/data.osm rename to baremaps-testing/data/osm-testdata/7/770/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/770/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/770/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/770/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/770/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/770/nodes.wkt b/baremaps-testing/data/osm-testdata/7/770/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/770/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/770/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/770/result b/baremaps-testing/data/osm-testdata/7/770/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/770/result rename to baremaps-testing/data/osm-testdata/7/770/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/770/test.json b/baremaps-testing/data/osm-testdata/7/770/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/770/test.json rename to baremaps-testing/data/osm-testdata/7/770/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/770/ways.wkt b/baremaps-testing/data/osm-testdata/7/770/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/770/ways.wkt rename to baremaps-testing/data/osm-testdata/7/770/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/771/data.osm b/baremaps-testing/data/osm-testdata/7/771/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/771/data.osm rename to baremaps-testing/data/osm-testdata/7/771/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/771/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/771/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/771/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/771/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/771/nodes.wkt b/baremaps-testing/data/osm-testdata/7/771/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/771/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/771/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/771/result b/baremaps-testing/data/osm-testdata/7/771/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/771/result rename to baremaps-testing/data/osm-testdata/7/771/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/771/test.json b/baremaps-testing/data/osm-testdata/7/771/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/771/test.json rename to baremaps-testing/data/osm-testdata/7/771/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/771/ways.wkt b/baremaps-testing/data/osm-testdata/7/771/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/771/ways.wkt rename to baremaps-testing/data/osm-testdata/7/771/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/772/data.osm b/baremaps-testing/data/osm-testdata/7/772/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/772/data.osm rename to baremaps-testing/data/osm-testdata/7/772/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/772/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/772/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/772/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/772/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/772/nodes.wkt b/baremaps-testing/data/osm-testdata/7/772/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/772/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/772/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/772/result b/baremaps-testing/data/osm-testdata/7/772/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/772/result rename to baremaps-testing/data/osm-testdata/7/772/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/772/test.json b/baremaps-testing/data/osm-testdata/7/772/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/772/test.json rename to baremaps-testing/data/osm-testdata/7/772/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/772/ways.wkt b/baremaps-testing/data/osm-testdata/7/772/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/772/ways.wkt rename to baremaps-testing/data/osm-testdata/7/772/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/773/data.osm b/baremaps-testing/data/osm-testdata/7/773/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/773/data.osm rename to baremaps-testing/data/osm-testdata/7/773/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/773/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/773/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/773/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/773/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/773/nodes.wkt b/baremaps-testing/data/osm-testdata/7/773/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/773/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/773/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/773/result b/baremaps-testing/data/osm-testdata/7/773/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/773/result rename to baremaps-testing/data/osm-testdata/7/773/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/773/test.json b/baremaps-testing/data/osm-testdata/7/773/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/773/test.json rename to baremaps-testing/data/osm-testdata/7/773/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/773/ways.wkt b/baremaps-testing/data/osm-testdata/7/773/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/773/ways.wkt rename to baremaps-testing/data/osm-testdata/7/773/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/774/data.osm b/baremaps-testing/data/osm-testdata/7/774/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/774/data.osm rename to baremaps-testing/data/osm-testdata/7/774/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/774/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/774/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/774/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/774/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/774/nodes.wkt b/baremaps-testing/data/osm-testdata/7/774/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/774/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/774/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/774/result b/baremaps-testing/data/osm-testdata/7/774/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/774/result rename to baremaps-testing/data/osm-testdata/7/774/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/774/test.json b/baremaps-testing/data/osm-testdata/7/774/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/774/test.json rename to baremaps-testing/data/osm-testdata/7/774/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/774/ways.wkt b/baremaps-testing/data/osm-testdata/7/774/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/774/ways.wkt rename to baremaps-testing/data/osm-testdata/7/774/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/775/data.osm b/baremaps-testing/data/osm-testdata/7/775/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/775/data.osm rename to baremaps-testing/data/osm-testdata/7/775/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/775/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/775/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/775/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/775/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/775/nodes.wkt b/baremaps-testing/data/osm-testdata/7/775/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/775/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/775/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/775/result b/baremaps-testing/data/osm-testdata/7/775/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/775/result rename to baremaps-testing/data/osm-testdata/7/775/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/775/test.json b/baremaps-testing/data/osm-testdata/7/775/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/775/test.json rename to baremaps-testing/data/osm-testdata/7/775/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/775/ways.wkt b/baremaps-testing/data/osm-testdata/7/775/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/775/ways.wkt rename to baremaps-testing/data/osm-testdata/7/775/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/776/data.osm b/baremaps-testing/data/osm-testdata/7/776/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/776/data.osm rename to baremaps-testing/data/osm-testdata/7/776/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/776/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/776/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/776/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/776/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/776/nodes.wkt b/baremaps-testing/data/osm-testdata/7/776/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/776/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/776/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/776/result b/baremaps-testing/data/osm-testdata/7/776/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/776/result rename to baremaps-testing/data/osm-testdata/7/776/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/776/test.json b/baremaps-testing/data/osm-testdata/7/776/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/776/test.json rename to baremaps-testing/data/osm-testdata/7/776/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/776/ways.wkt b/baremaps-testing/data/osm-testdata/7/776/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/776/ways.wkt rename to baremaps-testing/data/osm-testdata/7/776/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/777/data.osm b/baremaps-testing/data/osm-testdata/7/777/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/777/data.osm rename to baremaps-testing/data/osm-testdata/7/777/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/777/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/777/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/777/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/777/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/777/nodes.wkt b/baremaps-testing/data/osm-testdata/7/777/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/777/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/777/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/777/result b/baremaps-testing/data/osm-testdata/7/777/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/777/result rename to baremaps-testing/data/osm-testdata/7/777/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/777/test.json b/baremaps-testing/data/osm-testdata/7/777/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/777/test.json rename to baremaps-testing/data/osm-testdata/7/777/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/777/ways.wkt b/baremaps-testing/data/osm-testdata/7/777/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/777/ways.wkt rename to baremaps-testing/data/osm-testdata/7/777/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/778/data.osm b/baremaps-testing/data/osm-testdata/7/778/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/778/data.osm rename to baremaps-testing/data/osm-testdata/7/778/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/778/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/778/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/778/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/778/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/778/nodes.wkt b/baremaps-testing/data/osm-testdata/7/778/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/778/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/778/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/778/result b/baremaps-testing/data/osm-testdata/7/778/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/778/result rename to baremaps-testing/data/osm-testdata/7/778/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/778/test.json b/baremaps-testing/data/osm-testdata/7/778/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/778/test.json rename to baremaps-testing/data/osm-testdata/7/778/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/778/ways.wkt b/baremaps-testing/data/osm-testdata/7/778/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/778/ways.wkt rename to baremaps-testing/data/osm-testdata/7/778/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/779/data.osm b/baremaps-testing/data/osm-testdata/7/779/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/779/data.osm rename to baremaps-testing/data/osm-testdata/7/779/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/779/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/779/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/779/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/779/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/779/nodes.wkt b/baremaps-testing/data/osm-testdata/7/779/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/779/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/779/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/779/result b/baremaps-testing/data/osm-testdata/7/779/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/779/result rename to baremaps-testing/data/osm-testdata/7/779/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/779/test.json b/baremaps-testing/data/osm-testdata/7/779/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/779/test.json rename to baremaps-testing/data/osm-testdata/7/779/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/779/ways.wkt b/baremaps-testing/data/osm-testdata/7/779/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/779/ways.wkt rename to baremaps-testing/data/osm-testdata/7/779/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/780/data.osm b/baremaps-testing/data/osm-testdata/7/780/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/780/data.osm rename to baremaps-testing/data/osm-testdata/7/780/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/780/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/780/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/780/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/780/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/780/nodes.wkt b/baremaps-testing/data/osm-testdata/7/780/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/780/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/780/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/780/result b/baremaps-testing/data/osm-testdata/7/780/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/780/result rename to baremaps-testing/data/osm-testdata/7/780/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/780/test.json b/baremaps-testing/data/osm-testdata/7/780/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/780/test.json rename to baremaps-testing/data/osm-testdata/7/780/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/780/ways.wkt b/baremaps-testing/data/osm-testdata/7/780/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/780/ways.wkt rename to baremaps-testing/data/osm-testdata/7/780/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/781/data.osm b/baremaps-testing/data/osm-testdata/7/781/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/781/data.osm rename to baremaps-testing/data/osm-testdata/7/781/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/781/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/781/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/781/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/781/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/781/nodes.wkt b/baremaps-testing/data/osm-testdata/7/781/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/781/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/781/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/781/result b/baremaps-testing/data/osm-testdata/7/781/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/781/result rename to baremaps-testing/data/osm-testdata/7/781/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/781/test.json b/baremaps-testing/data/osm-testdata/7/781/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/781/test.json rename to baremaps-testing/data/osm-testdata/7/781/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/781/ways.wkt b/baremaps-testing/data/osm-testdata/7/781/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/781/ways.wkt rename to baremaps-testing/data/osm-testdata/7/781/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/782/data.osm b/baremaps-testing/data/osm-testdata/7/782/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/782/data.osm rename to baremaps-testing/data/osm-testdata/7/782/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/782/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/782/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/782/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/782/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/782/nodes.wkt b/baremaps-testing/data/osm-testdata/7/782/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/782/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/782/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/782/result b/baremaps-testing/data/osm-testdata/7/782/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/782/result rename to baremaps-testing/data/osm-testdata/7/782/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/782/test.json b/baremaps-testing/data/osm-testdata/7/782/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/782/test.json rename to baremaps-testing/data/osm-testdata/7/782/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/782/ways.wkt b/baremaps-testing/data/osm-testdata/7/782/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/782/ways.wkt rename to baremaps-testing/data/osm-testdata/7/782/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/783/data.osm b/baremaps-testing/data/osm-testdata/7/783/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/783/data.osm rename to baremaps-testing/data/osm-testdata/7/783/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/783/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/783/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/783/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/783/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/783/nodes.wkt b/baremaps-testing/data/osm-testdata/7/783/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/783/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/783/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/783/result b/baremaps-testing/data/osm-testdata/7/783/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/783/result rename to baremaps-testing/data/osm-testdata/7/783/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/783/test.json b/baremaps-testing/data/osm-testdata/7/783/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/783/test.json rename to baremaps-testing/data/osm-testdata/7/783/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/783/ways.wkt b/baremaps-testing/data/osm-testdata/7/783/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/783/ways.wkt rename to baremaps-testing/data/osm-testdata/7/783/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/784/data.osm b/baremaps-testing/data/osm-testdata/7/784/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/784/data.osm rename to baremaps-testing/data/osm-testdata/7/784/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/784/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/784/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/784/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/784/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/784/nodes.wkt b/baremaps-testing/data/osm-testdata/7/784/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/784/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/784/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/784/result b/baremaps-testing/data/osm-testdata/7/784/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/784/result rename to baremaps-testing/data/osm-testdata/7/784/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/784/test.json b/baremaps-testing/data/osm-testdata/7/784/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/784/test.json rename to baremaps-testing/data/osm-testdata/7/784/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/784/ways.wkt b/baremaps-testing/data/osm-testdata/7/784/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/784/ways.wkt rename to baremaps-testing/data/osm-testdata/7/784/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/785/data.osm b/baremaps-testing/data/osm-testdata/7/785/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/785/data.osm rename to baremaps-testing/data/osm-testdata/7/785/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/785/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/785/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/785/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/785/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/785/nodes.wkt b/baremaps-testing/data/osm-testdata/7/785/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/785/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/785/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/785/result b/baremaps-testing/data/osm-testdata/7/785/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/785/result rename to baremaps-testing/data/osm-testdata/7/785/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/785/test.json b/baremaps-testing/data/osm-testdata/7/785/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/785/test.json rename to baremaps-testing/data/osm-testdata/7/785/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/785/ways.wkt b/baremaps-testing/data/osm-testdata/7/785/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/785/ways.wkt rename to baremaps-testing/data/osm-testdata/7/785/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/790/data.osm b/baremaps-testing/data/osm-testdata/7/790/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/790/data.osm rename to baremaps-testing/data/osm-testdata/7/790/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/790/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/790/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/790/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/790/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/790/nodes.wkt b/baremaps-testing/data/osm-testdata/7/790/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/790/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/790/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/790/result b/baremaps-testing/data/osm-testdata/7/790/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/790/result rename to baremaps-testing/data/osm-testdata/7/790/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/790/test.json b/baremaps-testing/data/osm-testdata/7/790/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/790/test.json rename to baremaps-testing/data/osm-testdata/7/790/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/790/ways.wkt b/baremaps-testing/data/osm-testdata/7/790/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/790/ways.wkt rename to baremaps-testing/data/osm-testdata/7/790/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/791/data.osm b/baremaps-testing/data/osm-testdata/7/791/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/791/data.osm rename to baremaps-testing/data/osm-testdata/7/791/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/791/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/791/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/791/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/791/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/791/nodes.wkt b/baremaps-testing/data/osm-testdata/7/791/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/791/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/791/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/791/result b/baremaps-testing/data/osm-testdata/7/791/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/791/result rename to baremaps-testing/data/osm-testdata/7/791/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/791/test.json b/baremaps-testing/data/osm-testdata/7/791/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/791/test.json rename to baremaps-testing/data/osm-testdata/7/791/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/791/ways.wkt b/baremaps-testing/data/osm-testdata/7/791/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/791/ways.wkt rename to baremaps-testing/data/osm-testdata/7/791/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/792/data.osm b/baremaps-testing/data/osm-testdata/7/792/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/792/data.osm rename to baremaps-testing/data/osm-testdata/7/792/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/792/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/792/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/792/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/792/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/792/nodes.wkt b/baremaps-testing/data/osm-testdata/7/792/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/792/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/792/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/792/result b/baremaps-testing/data/osm-testdata/7/792/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/792/result rename to baremaps-testing/data/osm-testdata/7/792/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/792/test.json b/baremaps-testing/data/osm-testdata/7/792/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/792/test.json rename to baremaps-testing/data/osm-testdata/7/792/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/792/ways.wkt b/baremaps-testing/data/osm-testdata/7/792/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/792/ways.wkt rename to baremaps-testing/data/osm-testdata/7/792/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/793/data.osm b/baremaps-testing/data/osm-testdata/7/793/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/793/data.osm rename to baremaps-testing/data/osm-testdata/7/793/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/793/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/793/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/793/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/793/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/793/nodes.wkt b/baremaps-testing/data/osm-testdata/7/793/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/793/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/793/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/793/result b/baremaps-testing/data/osm-testdata/7/793/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/793/result rename to baremaps-testing/data/osm-testdata/7/793/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/793/test.json b/baremaps-testing/data/osm-testdata/7/793/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/793/test.json rename to baremaps-testing/data/osm-testdata/7/793/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/793/ways.wkt b/baremaps-testing/data/osm-testdata/7/793/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/793/ways.wkt rename to baremaps-testing/data/osm-testdata/7/793/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/794/data.osm b/baremaps-testing/data/osm-testdata/7/794/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/794/data.osm rename to baremaps-testing/data/osm-testdata/7/794/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/794/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/794/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/794/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/794/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/794/nodes.wkt b/baremaps-testing/data/osm-testdata/7/794/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/794/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/794/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/794/result b/baremaps-testing/data/osm-testdata/7/794/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/794/result rename to baremaps-testing/data/osm-testdata/7/794/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/794/test.json b/baremaps-testing/data/osm-testdata/7/794/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/794/test.json rename to baremaps-testing/data/osm-testdata/7/794/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/794/ways.wkt b/baremaps-testing/data/osm-testdata/7/794/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/794/ways.wkt rename to baremaps-testing/data/osm-testdata/7/794/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/795/data.osm b/baremaps-testing/data/osm-testdata/7/795/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/795/data.osm rename to baremaps-testing/data/osm-testdata/7/795/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/7/795/data.osm.pbf b/baremaps-testing/data/osm-testdata/7/795/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/795/data.osm.pbf rename to baremaps-testing/data/osm-testdata/7/795/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/7/795/nodes.wkt b/baremaps-testing/data/osm-testdata/7/795/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/795/nodes.wkt rename to baremaps-testing/data/osm-testdata/7/795/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/795/result b/baremaps-testing/data/osm-testdata/7/795/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/795/result rename to baremaps-testing/data/osm-testdata/7/795/result diff --git a/baremaps-core/src/test/resources/osm-testdata/7/795/test.json b/baremaps-testing/data/osm-testdata/7/795/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/795/test.json rename to baremaps-testing/data/osm-testdata/7/795/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/7/795/ways.wkt b/baremaps-testing/data/osm-testdata/7/795/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/795/ways.wkt rename to baremaps-testing/data/osm-testdata/7/795/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/7/description.txt b/baremaps-testing/data/osm-testdata/7/description.txt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/7/description.txt rename to baremaps-testing/data/osm-testdata/7/description.txt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/900/data.osm b/baremaps-testing/data/osm-testdata/9/900/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/900/data.osm rename to baremaps-testing/data/osm-testdata/9/900/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/900/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/900/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/900/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/900/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/900/nodes.wkt b/baremaps-testing/data/osm-testdata/9/900/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/900/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/900/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/900/result b/baremaps-testing/data/osm-testdata/9/900/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/900/result rename to baremaps-testing/data/osm-testdata/9/900/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/900/test.json b/baremaps-testing/data/osm-testdata/9/900/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/900/test.json rename to baremaps-testing/data/osm-testdata/9/900/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/900/ways.wkt b/baremaps-testing/data/osm-testdata/9/900/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/900/ways.wkt rename to baremaps-testing/data/osm-testdata/9/900/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/901/data.osm b/baremaps-testing/data/osm-testdata/9/901/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/901/data.osm rename to baremaps-testing/data/osm-testdata/9/901/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/901/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/901/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/901/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/901/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/901/nodes.wkt b/baremaps-testing/data/osm-testdata/9/901/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/901/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/901/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/901/result b/baremaps-testing/data/osm-testdata/9/901/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/901/result rename to baremaps-testing/data/osm-testdata/9/901/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/901/test.json b/baremaps-testing/data/osm-testdata/9/901/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/901/test.json rename to baremaps-testing/data/osm-testdata/9/901/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/901/ways.wkt b/baremaps-testing/data/osm-testdata/9/901/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/901/ways.wkt rename to baremaps-testing/data/osm-testdata/9/901/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/902/data.osm b/baremaps-testing/data/osm-testdata/9/902/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/902/data.osm rename to baremaps-testing/data/osm-testdata/9/902/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/902/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/902/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/902/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/902/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/902/nodes.wkt b/baremaps-testing/data/osm-testdata/9/902/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/902/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/902/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/902/result b/baremaps-testing/data/osm-testdata/9/902/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/902/result rename to baremaps-testing/data/osm-testdata/9/902/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/902/test.json b/baremaps-testing/data/osm-testdata/9/902/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/902/test.json rename to baremaps-testing/data/osm-testdata/9/902/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/902/ways.wkt b/baremaps-testing/data/osm-testdata/9/902/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/902/ways.wkt rename to baremaps-testing/data/osm-testdata/9/902/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/903/data.osm b/baremaps-testing/data/osm-testdata/9/903/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/903/data.osm rename to baremaps-testing/data/osm-testdata/9/903/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/903/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/903/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/903/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/903/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/903/nodes.wkt b/baremaps-testing/data/osm-testdata/9/903/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/903/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/903/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/903/result b/baremaps-testing/data/osm-testdata/9/903/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/903/result rename to baremaps-testing/data/osm-testdata/9/903/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/903/test.json b/baremaps-testing/data/osm-testdata/9/903/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/903/test.json rename to baremaps-testing/data/osm-testdata/9/903/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/903/ways.wkt b/baremaps-testing/data/osm-testdata/9/903/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/903/ways.wkt rename to baremaps-testing/data/osm-testdata/9/903/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/904/data.osm b/baremaps-testing/data/osm-testdata/9/904/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/904/data.osm rename to baremaps-testing/data/osm-testdata/9/904/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/904/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/904/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/904/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/904/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/904/nodes.wkt b/baremaps-testing/data/osm-testdata/9/904/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/904/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/904/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/904/result b/baremaps-testing/data/osm-testdata/9/904/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/904/result rename to baremaps-testing/data/osm-testdata/9/904/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/904/test.json b/baremaps-testing/data/osm-testdata/9/904/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/904/test.json rename to baremaps-testing/data/osm-testdata/9/904/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/904/ways.wkt b/baremaps-testing/data/osm-testdata/9/904/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/904/ways.wkt rename to baremaps-testing/data/osm-testdata/9/904/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/905/data.osm b/baremaps-testing/data/osm-testdata/9/905/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/905/data.osm rename to baremaps-testing/data/osm-testdata/9/905/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/905/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/905/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/905/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/905/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/905/nodes.wkt b/baremaps-testing/data/osm-testdata/9/905/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/905/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/905/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/905/result b/baremaps-testing/data/osm-testdata/9/905/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/905/result rename to baremaps-testing/data/osm-testdata/9/905/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/905/test.json b/baremaps-testing/data/osm-testdata/9/905/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/905/test.json rename to baremaps-testing/data/osm-testdata/9/905/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/905/ways.wkt b/baremaps-testing/data/osm-testdata/9/905/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/905/ways.wkt rename to baremaps-testing/data/osm-testdata/9/905/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/910/data.osm b/baremaps-testing/data/osm-testdata/9/910/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/910/data.osm rename to baremaps-testing/data/osm-testdata/9/910/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/910/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/910/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/910/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/910/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/910/nodes.wkt b/baremaps-testing/data/osm-testdata/9/910/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/910/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/910/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/910/result b/baremaps-testing/data/osm-testdata/9/910/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/910/result rename to baremaps-testing/data/osm-testdata/9/910/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/910/test.json b/baremaps-testing/data/osm-testdata/9/910/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/910/test.json rename to baremaps-testing/data/osm-testdata/9/910/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/910/ways.wkt b/baremaps-testing/data/osm-testdata/9/910/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/910/ways.wkt rename to baremaps-testing/data/osm-testdata/9/910/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/911/data.osm b/baremaps-testing/data/osm-testdata/9/911/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/911/data.osm rename to baremaps-testing/data/osm-testdata/9/911/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/911/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/911/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/911/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/911/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/911/nodes.wkt b/baremaps-testing/data/osm-testdata/9/911/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/911/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/911/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/911/result b/baremaps-testing/data/osm-testdata/9/911/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/911/result rename to baremaps-testing/data/osm-testdata/9/911/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/911/test.json b/baremaps-testing/data/osm-testdata/9/911/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/911/test.json rename to baremaps-testing/data/osm-testdata/9/911/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/911/ways.wkt b/baremaps-testing/data/osm-testdata/9/911/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/911/ways.wkt rename to baremaps-testing/data/osm-testdata/9/911/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/912/data.osm b/baremaps-testing/data/osm-testdata/9/912/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/912/data.osm rename to baremaps-testing/data/osm-testdata/9/912/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/912/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/912/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/912/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/912/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/912/nodes.wkt b/baremaps-testing/data/osm-testdata/9/912/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/912/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/912/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/912/result b/baremaps-testing/data/osm-testdata/9/912/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/912/result rename to baremaps-testing/data/osm-testdata/9/912/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/912/test.json b/baremaps-testing/data/osm-testdata/9/912/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/912/test.json rename to baremaps-testing/data/osm-testdata/9/912/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/912/ways.wkt b/baremaps-testing/data/osm-testdata/9/912/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/912/ways.wkt rename to baremaps-testing/data/osm-testdata/9/912/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/913/data.osm b/baremaps-testing/data/osm-testdata/9/913/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/913/data.osm rename to baremaps-testing/data/osm-testdata/9/913/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/913/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/913/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/913/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/913/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/913/nodes.wkt b/baremaps-testing/data/osm-testdata/9/913/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/913/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/913/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/913/result b/baremaps-testing/data/osm-testdata/9/913/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/913/result rename to baremaps-testing/data/osm-testdata/9/913/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/913/test.json b/baremaps-testing/data/osm-testdata/9/913/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/913/test.json rename to baremaps-testing/data/osm-testdata/9/913/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/913/ways.wkt b/baremaps-testing/data/osm-testdata/9/913/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/913/ways.wkt rename to baremaps-testing/data/osm-testdata/9/913/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/920/data.osm b/baremaps-testing/data/osm-testdata/9/920/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/920/data.osm rename to baremaps-testing/data/osm-testdata/9/920/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/920/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/920/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/920/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/920/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/920/nodes.wkt b/baremaps-testing/data/osm-testdata/9/920/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/920/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/920/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/920/result b/baremaps-testing/data/osm-testdata/9/920/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/920/result rename to baremaps-testing/data/osm-testdata/9/920/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/920/test.json b/baremaps-testing/data/osm-testdata/9/920/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/920/test.json rename to baremaps-testing/data/osm-testdata/9/920/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/920/ways.wkt b/baremaps-testing/data/osm-testdata/9/920/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/920/ways.wkt rename to baremaps-testing/data/osm-testdata/9/920/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/921/data.osm b/baremaps-testing/data/osm-testdata/9/921/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/921/data.osm rename to baremaps-testing/data/osm-testdata/9/921/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/921/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/921/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/921/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/921/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/921/nodes.wkt b/baremaps-testing/data/osm-testdata/9/921/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/921/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/921/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/921/result b/baremaps-testing/data/osm-testdata/9/921/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/921/result rename to baremaps-testing/data/osm-testdata/9/921/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/921/test.json b/baremaps-testing/data/osm-testdata/9/921/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/921/test.json rename to baremaps-testing/data/osm-testdata/9/921/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/921/ways.wkt b/baremaps-testing/data/osm-testdata/9/921/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/921/ways.wkt rename to baremaps-testing/data/osm-testdata/9/921/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/922/data.osm b/baremaps-testing/data/osm-testdata/9/922/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/922/data.osm rename to baremaps-testing/data/osm-testdata/9/922/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/922/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/922/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/922/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/922/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/922/nodes.wkt b/baremaps-testing/data/osm-testdata/9/922/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/922/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/922/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/922/result b/baremaps-testing/data/osm-testdata/9/922/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/922/result rename to baremaps-testing/data/osm-testdata/9/922/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/922/test.json b/baremaps-testing/data/osm-testdata/9/922/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/922/test.json rename to baremaps-testing/data/osm-testdata/9/922/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/922/ways.wkt b/baremaps-testing/data/osm-testdata/9/922/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/922/ways.wkt rename to baremaps-testing/data/osm-testdata/9/922/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/923/data.osm b/baremaps-testing/data/osm-testdata/9/923/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/923/data.osm rename to baremaps-testing/data/osm-testdata/9/923/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/923/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/923/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/923/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/923/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/923/nodes.wkt b/baremaps-testing/data/osm-testdata/9/923/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/923/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/923/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/923/result b/baremaps-testing/data/osm-testdata/9/923/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/923/result rename to baremaps-testing/data/osm-testdata/9/923/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/923/test.json b/baremaps-testing/data/osm-testdata/9/923/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/923/test.json rename to baremaps-testing/data/osm-testdata/9/923/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/923/ways.wkt b/baremaps-testing/data/osm-testdata/9/923/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/923/ways.wkt rename to baremaps-testing/data/osm-testdata/9/923/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/924/data.osm b/baremaps-testing/data/osm-testdata/9/924/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/924/data.osm rename to baremaps-testing/data/osm-testdata/9/924/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/924/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/924/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/924/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/924/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/924/nodes.wkt b/baremaps-testing/data/osm-testdata/9/924/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/924/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/924/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/924/result b/baremaps-testing/data/osm-testdata/9/924/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/924/result rename to baremaps-testing/data/osm-testdata/9/924/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/924/test.json b/baremaps-testing/data/osm-testdata/9/924/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/924/test.json rename to baremaps-testing/data/osm-testdata/9/924/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/924/ways.wkt b/baremaps-testing/data/osm-testdata/9/924/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/924/ways.wkt rename to baremaps-testing/data/osm-testdata/9/924/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/925/data.osm b/baremaps-testing/data/osm-testdata/9/925/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/925/data.osm rename to baremaps-testing/data/osm-testdata/9/925/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/925/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/925/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/925/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/925/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/925/nodes.wkt b/baremaps-testing/data/osm-testdata/9/925/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/925/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/925/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/925/result b/baremaps-testing/data/osm-testdata/9/925/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/925/result rename to baremaps-testing/data/osm-testdata/9/925/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/925/test.json b/baremaps-testing/data/osm-testdata/9/925/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/925/test.json rename to baremaps-testing/data/osm-testdata/9/925/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/925/ways.wkt b/baremaps-testing/data/osm-testdata/9/925/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/925/ways.wkt rename to baremaps-testing/data/osm-testdata/9/925/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/926/data.osm b/baremaps-testing/data/osm-testdata/9/926/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/926/data.osm rename to baremaps-testing/data/osm-testdata/9/926/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/926/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/926/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/926/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/926/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/926/nodes.wkt b/baremaps-testing/data/osm-testdata/9/926/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/926/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/926/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/926/result b/baremaps-testing/data/osm-testdata/9/926/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/926/result rename to baremaps-testing/data/osm-testdata/9/926/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/926/test.json b/baremaps-testing/data/osm-testdata/9/926/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/926/test.json rename to baremaps-testing/data/osm-testdata/9/926/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/926/ways.wkt b/baremaps-testing/data/osm-testdata/9/926/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/926/ways.wkt rename to baremaps-testing/data/osm-testdata/9/926/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/927/data.osm b/baremaps-testing/data/osm-testdata/9/927/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/927/data.osm rename to baremaps-testing/data/osm-testdata/9/927/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/927/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/927/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/927/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/927/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/927/nodes.wkt b/baremaps-testing/data/osm-testdata/9/927/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/927/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/927/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/927/result b/baremaps-testing/data/osm-testdata/9/927/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/927/result rename to baremaps-testing/data/osm-testdata/9/927/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/927/test.json b/baremaps-testing/data/osm-testdata/9/927/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/927/test.json rename to baremaps-testing/data/osm-testdata/9/927/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/927/ways.wkt b/baremaps-testing/data/osm-testdata/9/927/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/927/ways.wkt rename to baremaps-testing/data/osm-testdata/9/927/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/930/data.osm b/baremaps-testing/data/osm-testdata/9/930/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/930/data.osm rename to baremaps-testing/data/osm-testdata/9/930/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/930/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/930/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/930/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/930/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/930/nodes.wkt b/baremaps-testing/data/osm-testdata/9/930/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/930/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/930/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/930/result b/baremaps-testing/data/osm-testdata/9/930/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/930/result rename to baremaps-testing/data/osm-testdata/9/930/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/930/test.json b/baremaps-testing/data/osm-testdata/9/930/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/930/test.json rename to baremaps-testing/data/osm-testdata/9/930/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/930/ways.wkt b/baremaps-testing/data/osm-testdata/9/930/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/930/ways.wkt rename to baremaps-testing/data/osm-testdata/9/930/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/931/data.osm b/baremaps-testing/data/osm-testdata/9/931/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/931/data.osm rename to baremaps-testing/data/osm-testdata/9/931/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/931/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/931/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/931/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/931/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/931/nodes.wkt b/baremaps-testing/data/osm-testdata/9/931/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/931/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/931/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/931/result b/baremaps-testing/data/osm-testdata/9/931/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/931/result rename to baremaps-testing/data/osm-testdata/9/931/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/931/test.json b/baremaps-testing/data/osm-testdata/9/931/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/931/test.json rename to baremaps-testing/data/osm-testdata/9/931/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/931/ways.wkt b/baremaps-testing/data/osm-testdata/9/931/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/931/ways.wkt rename to baremaps-testing/data/osm-testdata/9/931/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/940/data.osm b/baremaps-testing/data/osm-testdata/9/940/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/940/data.osm rename to baremaps-testing/data/osm-testdata/9/940/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/940/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/940/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/940/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/940/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/940/nodes.wkt b/baremaps-testing/data/osm-testdata/9/940/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/940/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/940/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/940/result b/baremaps-testing/data/osm-testdata/9/940/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/940/result rename to baremaps-testing/data/osm-testdata/9/940/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/940/test.json b/baremaps-testing/data/osm-testdata/9/940/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/940/test.json rename to baremaps-testing/data/osm-testdata/9/940/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/940/ways.wkt b/baremaps-testing/data/osm-testdata/9/940/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/940/ways.wkt rename to baremaps-testing/data/osm-testdata/9/940/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/950/data.osm b/baremaps-testing/data/osm-testdata/9/950/data.osm similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/950/data.osm rename to baremaps-testing/data/osm-testdata/9/950/data.osm diff --git a/baremaps-core/src/test/resources/osm-testdata/9/950/data.osm.pbf b/baremaps-testing/data/osm-testdata/9/950/data.osm.pbf similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/950/data.osm.pbf rename to baremaps-testing/data/osm-testdata/9/950/data.osm.pbf diff --git a/baremaps-core/src/test/resources/osm-testdata/9/950/nodes.wkt b/baremaps-testing/data/osm-testdata/9/950/nodes.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/950/nodes.wkt rename to baremaps-testing/data/osm-testdata/9/950/nodes.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/950/result b/baremaps-testing/data/osm-testdata/9/950/result similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/950/result rename to baremaps-testing/data/osm-testdata/9/950/result diff --git a/baremaps-core/src/test/resources/osm-testdata/9/950/test.json b/baremaps-testing/data/osm-testdata/9/950/test.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/950/test.json rename to baremaps-testing/data/osm-testdata/9/950/test.json diff --git a/baremaps-core/src/test/resources/osm-testdata/9/950/ways.wkt b/baremaps-testing/data/osm-testdata/9/950/ways.wkt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/950/ways.wkt rename to baremaps-testing/data/osm-testdata/9/950/ways.wkt diff --git a/baremaps-core/src/test/resources/osm-testdata/9/description.txt b/baremaps-testing/data/osm-testdata/9/description.txt similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/9/description.txt rename to baremaps-testing/data/osm-testdata/9/description.txt diff --git a/baremaps-core/src/test/resources/osm-testdata/README.md b/baremaps-testing/data/osm-testdata/README.md similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/README.md rename to baremaps-testing/data/osm-testdata/README.md diff --git a/baremaps-core/src/test/resources/osm-testdata/multipolygon-tests.png b/baremaps-testing/data/osm-testdata/multipolygon-tests.png similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/multipolygon-tests.png rename to baremaps-testing/data/osm-testdata/multipolygon-tests.png diff --git a/baremaps-core/src/test/resources/osm-testdata/tests.json b/baremaps-testing/data/osm-testdata/tests.json similarity index 100% rename from baremaps-core/src/test/resources/osm-testdata/tests.json rename to baremaps-testing/data/osm-testdata/tests.json diff --git a/baremaps-core/src/test/resources/pmtiles/empty.pmtiles b/baremaps-testing/data/pmtiles/empty.pmtiles similarity index 100% rename from baremaps-core/src/test/resources/pmtiles/empty.pmtiles rename to baremaps-testing/data/pmtiles/empty.pmtiles diff --git a/baremaps-core/src/test/resources/pmtiles/invalid.pmtiles b/baremaps-testing/data/pmtiles/invalid.pmtiles similarity index 100% rename from baremaps-core/src/test/resources/pmtiles/invalid.pmtiles rename to baremaps-testing/data/pmtiles/invalid.pmtiles diff --git a/baremaps-core/src/test/resources/pmtiles/invalid_v4.pmtiles b/baremaps-testing/data/pmtiles/invalid_v4.pmtiles similarity index 100% rename from baremaps-core/src/test/resources/pmtiles/invalid_v4.pmtiles rename to baremaps-testing/data/pmtiles/invalid_v4.pmtiles diff --git a/baremaps-core/src/test/resources/pmtiles/test_fixture_1.pmtiles b/baremaps-testing/data/pmtiles/test_fixture_1.pmtiles similarity index 100% rename from baremaps-core/src/test/resources/pmtiles/test_fixture_1.pmtiles rename to baremaps-testing/data/pmtiles/test_fixture_1.pmtiles diff --git a/baremaps-core/src/test/resources/pmtiles/test_fixture_2.pmtiles b/baremaps-testing/data/pmtiles/test_fixture_2.pmtiles similarity index 100% rename from baremaps-core/src/test/resources/pmtiles/test_fixture_2.pmtiles rename to baremaps-testing/data/pmtiles/test_fixture_2.pmtiles diff --git a/baremaps-core/src/test/resources/queries/hello-world.sql b/baremaps-testing/data/queries/hello-world.sql similarity index 100% rename from baremaps-core/src/test/resources/queries/hello-world.sql rename to baremaps-testing/data/queries/hello-world.sql diff --git a/baremaps-core/src/test/resources/queries/osm_create_extensions.sql b/baremaps-testing/data/queries/osm_create_extensions.sql similarity index 100% rename from baremaps-core/src/test/resources/queries/osm_create_extensions.sql rename to baremaps-testing/data/queries/osm_create_extensions.sql diff --git a/baremaps-core/src/test/resources/queries/osm_create_gin_indexes.sql b/baremaps-testing/data/queries/osm_create_gin_indexes.sql similarity index 100% rename from baremaps-core/src/test/resources/queries/osm_create_gin_indexes.sql rename to baremaps-testing/data/queries/osm_create_gin_indexes.sql diff --git a/baremaps-core/src/test/resources/queries/osm_create_gist_indexes.sql b/baremaps-testing/data/queries/osm_create_gist_indexes.sql similarity index 100% rename from baremaps-core/src/test/resources/queries/osm_create_gist_indexes.sql rename to baremaps-testing/data/queries/osm_create_gist_indexes.sql diff --git a/baremaps-core/src/test/resources/queries/osm_create_spgist_indexes.sql b/baremaps-testing/data/queries/osm_create_spgist_indexes.sql similarity index 100% rename from baremaps-core/src/test/resources/queries/osm_create_spgist_indexes.sql rename to baremaps-testing/data/queries/osm_create_spgist_indexes.sql diff --git a/baremaps-core/src/test/resources/queries/osm_create_tables.sql b/baremaps-testing/data/queries/osm_create_tables.sql similarity index 100% rename from baremaps-core/src/test/resources/queries/osm_create_tables.sql rename to baremaps-testing/data/queries/osm_create_tables.sql diff --git a/baremaps-core/src/test/resources/queries/osm_drop_tables.sql b/baremaps-testing/data/queries/osm_drop_tables.sql similarity index 100% rename from baremaps-core/src/test/resources/queries/osm_drop_tables.sql rename to baremaps-testing/data/queries/osm_drop_tables.sql diff --git a/baremaps-core/src/test/resources/queries/osm_truncate_table.sql b/baremaps-testing/data/queries/osm_truncate_table.sql similarity index 100% rename from baremaps-core/src/test/resources/queries/osm_truncate_table.sql rename to baremaps-testing/data/queries/osm_truncate_table.sql diff --git a/baremaps-core/src/test/resources/queries/queries.sql b/baremaps-testing/data/queries/queries.sql similarity index 100% rename from baremaps-core/src/test/resources/queries/queries.sql rename to baremaps-testing/data/queries/queries.sql diff --git a/baremaps-core/src/test/resources/queries/schema.sql b/baremaps-testing/data/queries/schema.sql similarity index 100% rename from baremaps-core/src/test/resources/queries/schema.sql rename to baremaps-testing/data/queries/schema.sql diff --git a/baremaps-core/src/test/resources/ripe/sample.txt b/baremaps-testing/data/ripe/sample.txt similarity index 100% rename from baremaps-core/src/test/resources/ripe/sample.txt rename to baremaps-testing/data/ripe/sample.txt diff --git a/baremaps-core/src/test/resources/tilesets/tilejson.json b/baremaps-testing/data/tilesets/tilejson.json similarity index 100% rename from baremaps-core/src/test/resources/tilesets/tilejson.json rename to baremaps-testing/data/tilesets/tilejson.json diff --git a/baremaps-core/src/test/resources/tilesets/tileset.json b/baremaps-testing/data/tilesets/tileset.json similarity index 100% rename from baremaps-core/src/test/resources/tilesets/tileset.json rename to baremaps-testing/data/tilesets/tileset.json diff --git a/baremaps-testing/pom.xml b/baremaps-testing/pom.xml new file mode 100644 index 000000000..c2578470b --- /dev/null +++ b/baremaps-testing/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + org.apache.baremaps + baremaps + 0.7.4-SNAPSHOT + + baremaps-testing + + true + + diff --git a/baremaps-core/src/test/java/org/apache/baremaps/testing/OsmSample.java b/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/OsmSample.java similarity index 93% rename from baremaps-core/src/test/java/org/apache/baremaps/testing/OsmSample.java rename to baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/OsmSample.java index 01402166f..f2c30ed4c 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/testing/OsmSample.java +++ b/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/OsmSample.java @@ -15,7 +15,9 @@ * limitations under the License. */ -package org.apache.baremaps.testing; +package org.apache.baremaps.openstreetmap; + +import static org.apache.baremaps.openstreetmap.TestFiles.resolve; import java.nio.file.Path; import org.locationtech.jts.geom.*; @@ -24,19 +26,19 @@ public class OsmSample { /* The paths of the sample directory and files */ - public static final Path SAMPLE_DIR = TestFiles.resolve("osm-sample/"); + public static final Path SAMPLE_DIR = resolve("osm-sample/"); - public static final Path SAMPLE_STATE_TXT = TestFiles.resolve("osm-sample/state.txt"); + public static final Path SAMPLE_STATE_TXT = resolve("osm-sample/state.txt"); - public static final Path SAMPLE_OSM_XML = TestFiles.resolve("osm-sample/sample.osm.xml"); + public static final Path SAMPLE_OSM_XML = resolve("osm-sample/sample.osm.xml"); - public static final Path SAMPLE_OSM_PBF = TestFiles.resolve("osm-sample/sample.osm.pbf"); + public static final Path SAMPLE_OSM_PBF = resolve("osm-sample/sample.osm.pbf"); - public static final Path SAMPLE_OSC_XML_2 = TestFiles.resolve("osm-sample/000/000/002.osc.gz"); + public static final Path SAMPLE_OSC_XML_2 = resolve("osm-sample/000/000/002.osc.gz"); - public static final Path SAMPLE_OSC_XML_3 = TestFiles.resolve("osm-sample/000/000/003.osc.gz"); + public static final Path SAMPLE_OSC_XML_3 = resolve("osm-sample/000/000/003.osc.gz"); - public static final Path SAMPLE_OSC_XML_4 = TestFiles.resolve("osm-sample/000/000/004.osc.gz"); + public static final Path SAMPLE_OSC_XML_4 = resolve("osm-sample/000/000/004.osc.gz"); /* The geometries of the osm-sample/sample.osm.xml file */ diff --git a/baremaps-core/src/test/java/org/apache/baremaps/testing/TestFiles.java b/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java similarity index 92% rename from baremaps-core/src/test/java/org/apache/baremaps/testing/TestFiles.java rename to baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java index 10a1d8e29..cddadeb12 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/testing/TestFiles.java +++ b/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.testing; +package org.apache.baremaps.openstreetmap; @@ -37,7 +37,7 @@ public class TestFiles { public static Path resolve(String resource) { Path cwd = Path.of("").toAbsolutePath(); - Path pathFromRoot = Path.of("baremaps-core", "src", "test", "resources", resource); + Path pathFromRoot = Path.of("baremaps-testing", "data", resource); return cwd.resolveSibling(pathFromRoot).toAbsolutePath(); } } diff --git a/pom.xml b/pom.xml index 54ce72a36..3d8e3bae4 100644 --- a/pom.xml +++ b/pom.xml @@ -51,7 +51,9 @@ limitations under the License. baremaps-cli baremaps-core + baremaps-openstreetmap baremaps-server + baremaps-testing @@ -223,11 +225,22 @@ limitations under the License. baremaps-core ${project.parent.version} + + org.apache.baremaps + baremaps-openstreetmap + ${project.parent.version} + org.apache.baremaps baremaps-server ${project.parent.version} + + org.apache.baremaps + baremaps-testing + ${project.parent.version} + test + org.apache.calcite calcite-core From f23d66364c7a7b3e2724b8e3579b53efa8849862 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Tue, 7 May 2024 14:49:01 +0200 Subject: [PATCH 06/19] Improve the collection api and the javadoc --- .../database/algorithm/UnionStream.java | 9 +- .../database/collection/AppendOnlyLog.java | 67 +++--- .../database/collection/DataCollection.java | 57 +++-- .../collection/DataCollectionException.java | 1 + .../collection/DataCollectionMapper.java | 6 +- .../database/collection/DataConversions.java | 205 +++++++++++++++++- .../database/collection/DataList.java | 14 +- .../baremaps/database/collection/DataMap.java | 103 +++++---- .../collection/FixedSizeDataList.java | 27 +-- .../database/collection/IndexedDataList.java | 32 +-- .../database/collection/IndexedDataMap.java | 60 ++--- .../collection/MemoryAlignedDataList.java | 9 +- .../collection/MemoryAlignedDataMap.java | 10 +- .../database/collection/MonotonicDataMap.java | 24 +- .../collection/MonotonicFixedSizeDataMap.java | 16 +- .../collection/MonotonicPairedDataMap.java | 18 +- .../baremaps/database/memory/Memory.java | 5 + .../database/memory/MemoryException.java | 1 + .../memory/MemoryMappedDirectory.java | 4 +- .../database/memory/MemoryMappedFile.java | 2 +- .../database/memory/OffHeapMemory.java | 2 +- .../database/memory/OnHeapMemory.java | 2 +- .../baremaps/geocoder/GeonamesReader.java | 1 - .../storage/postgres/PostgresDataTable.java | 2 +- .../baremaps/database/AppendOnlyLogTest.java | 4 +- .../apache/baremaps/database/DataMapTest.java | 7 +- .../database/algorithm/UnionStreamTest.java | 5 +- .../openstreetmap/xml/XmlEntityReader.java | 10 +- .../baremaps/openstreetmap/OsmTestData.java | 73 ++++--- 29 files changed, 468 insertions(+), 308 deletions(-) diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/UnionStream.java b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/UnionStream.java index 37e2c6983..48c7680f2 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/UnionStream.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/UnionStream.java @@ -18,8 +18,9 @@ package org.apache.baremaps.database.algorithm; import java.util.*; -import java.util.stream.IntStream; +import java.util.stream.LongStream; import java.util.stream.Stream; +import org.apache.baremaps.database.collection.DataList; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.TopologyException; import org.locationtech.jts.index.hprtree.HPRtree; @@ -35,14 +36,14 @@ public class UnionStream { private static final Logger logger = LoggerFactory.getLogger(UnionStream.class); - private final List list; + private final DataList list; /** * Creates a new union stream. * * @param list the list of geometries to union. */ - public UnionStream(List list) { + public UnionStream(DataList list) { this.list = list; } @@ -63,7 +64,7 @@ public Stream union() { tree.build(); // Create a stream of geometry unions that are spatially connected - var stream = IntStream.range(0, list.size()).mapToObj(i -> { + var stream = LongStream.range(0, list.size()).mapToObj(i -> { // Skip the geometries that have already been visited if (visited.contains(i)) { return null; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java index 55664d7e5..b1b525fbb 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java @@ -31,8 +31,8 @@ /** * A log of records backed by a {@link DataType} and a {@link Memory}. Elements are appended to the - * buffer and can be accessed by their position in the {@link Memory}. Appending elements to the - * buffer is thread-safe. + * log and can be accessed by their position in the {@link Memory}. Appending elements to the log is + * thread-safe. * * @param The type of the data. */ @@ -47,7 +47,7 @@ public class AppendOnlyLog implements DataCollection { private Lock lock = new ReentrantLock(); /** - * Constructs an append only buffer. + * Constructs an {@link AppendOnlyLog}. * * @param dataType the data type */ @@ -56,7 +56,7 @@ public AppendOnlyLog(DataType dataType) { } /** - * Constructs an append only buffer. + * Constructs an append only log. * * @param dataType the data type * @param memory the memory @@ -70,7 +70,7 @@ public AppendOnlyLog(DataType dataType, Memory memory) { } /** - * Appends the value to the buffer and returns its position in the memory. + * Appends the value to the log and returns its position in the memory. * * @param value the value * @return the position of the value in the memory. @@ -101,41 +101,32 @@ public long addPositioned(E value) { return position; } - /** - * {@inheritDoc} - */ - @Override - public boolean add(E e) { - addPositioned(e); - return true; - } - - /** * Returns a values at the specified position in the memory. * * @param position the position of the value * @return the value */ - public E read(long position) { + public E getPositioned(long position) { long segmentIndex = position / segmentSize; long segmentOffset = position % segmentSize; ByteBuffer buffer = memory.segment((int) segmentIndex); return dataType.read(buffer, (int) segmentOffset); } - /** - * Returns the size of the log. - * - * @return the size of the log - */ + /** {@inheritDoc} */ + @Override + public boolean add(E e) { + addPositioned(e); + return true; + } + + /** {@inheritDoc} */ public long size() { return size; } - /** - * Clears the log. - */ + /** {@inheritDoc} */ public void clear() { try { memory.clear(); @@ -145,39 +136,30 @@ public void clear() { } /** - * Returns an iterator over the values of the log. + * Returns an iterator over the values of the log, starting at the beginning of the log. The + * iterator allows to get the current position in the memory. * * @return an iterator over the values of the log */ @Override - public BufferIterator iterator() { + public AppendOnlyLogIterator iterator() { final long size = size(); - return new BufferIterator(size); + return new AppendOnlyLogIterator(size); } /** - * Returns true if the log contains the specified value. - * - * @param value the value - * @return true if the log contains the specified value + * An iterator over the values of the log that can be used to iterate over the values of the log + * and to get the current position in the memory. */ - public boolean contains(Object value) { - for (E e : this) { - if (e.equals(value)) { - return true; - } - } - return false; - } - - public class BufferIterator implements Iterator { + public class AppendOnlyLogIterator implements Iterator { private final long size; + private long index; private long position; - public BufferIterator(long size) { + private AppendOnlyLogIterator(long size) { this.size = size; index = 0; position = Long.BYTES; @@ -221,5 +203,6 @@ public E next() { public long getPosition() { return position; } + } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java index cbc7afc18..5452153f9 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java @@ -17,13 +17,15 @@ package org.apache.baremaps.database.collection; -import java.util.Collection; -import java.util.Iterator; -import java.util.Spliterator; -import java.util.Spliterators; +import java.util.*; import java.util.stream.Stream; import java.util.stream.StreamSupport; +/** + * A {@code DataCollection} is a group of elements that can be iterated over. It is similar to a + * {@link java.util.Collection Collection}, but can hold up to {@link Long#MAX_VALUE} + * elements. + */ public interface DataCollection extends Iterable { /** @@ -67,6 +69,15 @@ default Stream stream() { return StreamSupport.stream(spliterator(), false); } + /** + * Returns a parallel stream over the elements in the data collection. + * + * @return a parallel stream + */ + default Stream parallelStream() { + return StreamSupport.stream(spliterator(), true); + } + /** * Adds a value to the data collection. * @@ -77,7 +88,13 @@ default boolean add(E e) { throw new UnsupportedOperationException(); } - default boolean addAll(Collection c) { + /** + * Adds all the values in the specified collection to the data collection. + * + * @param c the collection of values to add + * @return true if the data collection has been modified + */ + default boolean addAll(Iterable c) { boolean modified = false; for (E e : c) { if (add(e)) { @@ -87,20 +104,11 @@ default boolean addAll(Collection c) { return modified; } - default boolean remove(Object o) { - throw new UnsupportedOperationException(); - } - - default boolean removeAll(Collection c) { - boolean modified = false; - for (Object o : c) { - if (remove(o)) { - modified = true; - } - } - return modified; - } - + /** + * Returns true if the data collection contains the specified value. + * + * @param o the value to search for + */ default boolean contains(Object o) { for (E e : this) { if (e.equals(o)) { @@ -110,7 +118,13 @@ default boolean contains(Object o) { return false; } - default boolean containsAll(Collection c) { + /** + * Returns true if the data collection contains all the values in the specified collection. + * + * @param c the collection of values to search for + * @return true if the data collection contains all the values + */ + default boolean containsAll(Iterable c) { for (Object o : c) { if (!contains(o)) { return false; @@ -119,6 +133,9 @@ default boolean containsAll(Collection c) { return true; } + /** + * Removes all the values from the data collection. + */ void clear(); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionException.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionException.java index 62aa71647..5e5b835e1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionException.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionException.java @@ -19,6 +19,7 @@ /** Signals that an exception occurred in a store. */ public class DataCollectionException extends RuntimeException { + /** Constructs a {@code DataCollectionException} with {@code null} as its error detail message. */ public DataCollectionException() {} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionMapper.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionMapper.java index 70b0ecc59..42fc3bc5e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionMapper.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionMapper.java @@ -41,19 +41,19 @@ public DataCollectionMapper(DataCollection collection, Function mapper) this.mapper = mapper; } + /** {@inheritDoc} */ @Override public long size() { return collection.size(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public Iterator iterator() { return collection.stream().map(this.mapper).iterator(); } + /** {@inheritDoc} */ @Override public void clear() { collection.clear(); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java index c25c5e064..4a802ae7e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java @@ -20,8 +20,79 @@ import java.util.*; import java.util.Map.Entry; +/** + * Utility class for converting between collections and data collections. + */ public class DataConversions { + private DataConversions() { + // Utility class + } + + /** + * Converts a {@code DataCollection} to a {@code Collection}. + * + * @param dataCollection + * @return + * @param + */ + public static Collection asCollection(DataCollection dataCollection) { + if (dataCollection instanceof DataCollectionAdapteradapter) { + return adapter.collection; + } else { + return new CollectionAdapter<>(dataCollection); + } + } + + /** + * Converts a {@code Collection} to a {@code DataCollection}. + * + * @param collection + * @return + * @param + */ + public static DataCollection asDataCollection(Collection collection) { + if (collection instanceof CollectionAdapteradapter) { + return adapter.collection; + } else { + return new DataCollectionAdapter<>(collection); + } + } + + /** + * Converts a {@code DataList} to a {@code List}. + * + * @param dataList the data list + * @return the list + */ + public static List asList(DataList dataList) { + if (dataList instanceof DataListAdapteradapter) { + return adapter.list; + } else { + return new ListAdapter<>(dataList); + } + } + + /** + * Converts a {@code List} to a {@code DataList}. + * + * @param list the list + * @return the data list + */ + public static DataList asDataList(List list) { + if (list instanceof ListAdapteradapter) { + return adapter.list; + } else { + return new DataListAdapter<>(list); + } + } + + /** + * Converts a {@code DataMap} to a {@code Map}. + * + * @param dataMap the data map + * @return the map + */ public static Map asMap(DataMap dataMap) { if (dataMap instanceof DataMapAdapteradapter) { return adapter.map; @@ -30,6 +101,12 @@ public static Map asMap(DataMap dataMap) { } } + /** + * Converts a {@code Map} to a {@code DataMap}. + * + * @param map the map + * @return the data map + */ public static DataMap asDataMap(Map map) { if (map instanceof MapAdapteradapter) { return adapter.map; @@ -38,7 +115,125 @@ public static DataMap asDataMap(Map map) { } } - public static class MapAdapter extends AbstractMap { + private static class CollectionAdapter extends AbstractCollection { + + private final DataCollection collection; + private final int size; + + public CollectionAdapter(DataCollection dataCollection) { + this.collection = dataCollection; + this.size = (int) dataCollection.size(); + } + + @Override + public int size() { + return size; + } + + @Override + public Iterator iterator() { + return collection.iterator(); + } + } + + private static class DataCollectionAdapter implements DataCollection { + + private final Collection collection; + + public DataCollectionAdapter(Collection collection) { + this.collection = collection; + } + + @Override + public long size() { + return collection.size(); + } + + @Override + public boolean add(E value) { + return collection.add(value); + } + + @Override + public void clear() { + collection.clear(); + } + + @Override + public Iterator iterator() { + return collection.iterator(); + } + } + + private static class ListAdapter extends AbstractList { + + private final DataList list; + private final int size; + + public ListAdapter(DataList dataList) { + this.list = dataList; + this.size = (int) dataList.size(); + } + + @Override + public boolean add(E value) { + return list.add(value); + } + + @Override + public E set(int index, E value) { + var oldValue = list.get(index); + list.set(index, value); + return oldValue; + } + + @Override + public E get(int index) { + return list.get(index); + } + + @Override + public int size() { + return size; + } + } + + private static class DataListAdapter implements DataList { + + private final List list; + + public DataListAdapter(List list) { + this.list = list; + } + + @Override + public long size() { + return list.size(); + } + + @Override + public void clear() { + list.clear(); + } + + @Override + public long addIndexed(E value) { + list.add(value); + return list.size() - 1; + } + + @Override + public void set(long index, E value) { + list.set((int) index, value); + } + + @Override + public E get(long index) { + return list.get((int) index); + } + } + + private static class MapAdapter extends AbstractMap { private final DataMap map; private final int size; @@ -64,7 +259,7 @@ public int size() { } } - public static class DataMapAdapter implements DataMap { + private static class DataMapAdapter implements DataMap { private final Map map; @@ -72,7 +267,6 @@ public DataMapAdapter(Map map) { this.map = map; } - @Override public long size() { return map.size(); @@ -88,11 +282,6 @@ public V put(K key, V value) { return map.put(key, value); } - @Override - public V remove(K key) { - return map.remove(key); - } - @Override public boolean containsKey(Object key) { return map.containsKey(key); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java index 41f08e280..f6bc4a87b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java @@ -23,23 +23,23 @@ import java.util.NoSuchElementException; /** - * An abstract list of data elements that can hold a large number of elements. + * A {@code DataList} is a sequence of elements that can be iterated over and accessed by index. + * It is similar to a {@link java.util.List List}, but can hold up to {@link Long#MAX_VALUE} + * elements. * - * @param The type of the data. + * @param The type of the elements. */ public interface DataList extends DataCollection { /** - * Appends a value to the list and returns its index. + * Adds a value to the data list and returns its index. * * @param value the value * @return the index of the value. */ long addIndexed(E value); - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override default boolean add(E value) { addIndexed(value); @@ -47,7 +47,7 @@ default boolean add(E value) { } /** - * Sets the value at the specified index. + * Sets the value at the specified index * * @param index the index * @param value the value diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java index fc145df8a..edc2d2ca8 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java @@ -18,14 +18,17 @@ package org.apache.baremaps.database.collection; -import com.google.common.collect.Streams; -import java.util.*; +import java.util.Iterator; +import java.util.List; import java.util.Map.Entry; +import java.util.function.BiConsumer; /** - * An abstract map of data elements that can hold a large number of elements. + * A {@code DataMap} maps keys to values. It is similar to a {@link java.util.Map Map}, but can hold up to {@link Long#MAX_VALUE} entries. * - * @param The type of the elements. + * @param The type of the keys. + * @param The type of the values. */ public interface DataMap { @@ -45,100 +48,120 @@ public interface DataMap { V get(Object key); /** - * Returns the value associated with the specified key or null if the key is not present. + * Returns the values associated with the specified keys or null if the key is not present. * * @param keys the keys * @return the values */ default List getAll(List keys) { - return Streams.stream(keys).map(this::get).toList(); + return keys.stream().map(this::get).toList(); } /** - * Associates the specified value with the specified key in the map. - * + * Associates the specified value with the specified key in the data map. + * * @param key the key * @param value the value - * @return the previous value associated with the key, or null if there was no mapping for the - * key. + * @return the previous value associated with the key, or null if there was no mapping for the key */ V put(K key, V value); /** - * Removes the mapping for the specified key from the map if present. + * Associates the specified values with the specified keys in the data map. * - * @param key the key - * @return the previous value associated with the key, or null if there was no mapping for the - * key. + * @param entries the entries */ - V remove(K key); + default void putAll(Iterable> entries) { + entries.forEach(entry -> put(entry.getKey(), entry.getValue())); + } /** - * Returns true if the map contains a mapping for the specified key. + * Returns true if the data map contains a mapping for the specified key. * * @param key the key - * @return true if the map contains a mapping for the key + * @return true if the data map contains a mapping for the key */ boolean containsKey(Object key); /** - * Returns true if the map contains a mapping for the specified value. + * Returns true if the data map contains a mapping for the specified value. * * @param value the value - * @return true if the map contains a mapping for the value + * @return true if the data map contains a mapping for the value */ boolean containsValue(V value); /** - * Clears the map. + * Clears the data map. */ void clear(); /** - * Returns true if the map contains no elements. + * Returns true if the data map contains no elements. * - * @return true if the map contains no elements + * @return true if the data map contains no elements */ default boolean isEmpty() { return size() == 0; } /** - * Returns an iterator over the keys of the map. + * Returns an iterator over the keys of the data map. * * @return an iterator */ Iterator keyIterator(); /** - * Returns an iterator over the values of the map. + * Returns an iterable over the keys of the data map. + * + * @return an iterable + */ + default Iterable keys() { + return this::keyIterator; + } + + /** + * Returns an iterator over the values of the data map. * * @return an iterator */ Iterator valueIterator(); /** - * Returns an iterator over the entries of the map. + * Returns an iterable over the values of the data map. + * + * @return an iterable + */ + default Iterable values() { + return this::valueIterator; + } + + /** + * Returns an iterator over the entries of the data map. * * @return an iterator */ Iterator> entryIterator(); - /** {@inheritDoc} */ - default Set> entrySet() { - int size = (int) size(); - return new AbstractSet<>() { - - @Override - public Iterator> iterator() { - return entryIterator(); - } - - @Override - public int size() { - return size; - } - }; + /** + * Returns an iterable over the entries of the data map. + * + * @return an iterable + */ + default Iterable> entries() { + return this::entryIterator; + } + + /** + * Performs the given action for each entry in the data map. + * + * @param action the action to be performed + */ + default void forEach(BiConsumer action) { + for (Entry entry : entries()) { + action.accept(entry.getKey(), entry.getValue()); + } } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java index a12c9d8fa..44d6fba66 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java @@ -26,9 +26,8 @@ import org.apache.baremaps.database.type.FixedSizeDataType; /** - * A list that can hold a large number of fixed size data elements. - * - * This list is backed by a memory that can be either heap, off-heap, or memory mapped. + * A {@link DataList} that can hold a large number of fixed size data elements. This data list is + * backed by a memory that can be either heap, off-heap, or memory mapped. * * @param The type of the elements. */ @@ -41,7 +40,7 @@ public class FixedSizeDataList implements DataList { private AtomicLong size; /** - * Constructs a list. + * Constructs a {@link FixedSizeDataList}. * * @param dataType the data type */ @@ -72,9 +71,7 @@ private void write(long index, E value) { dataType.write(segment, segmentOffset, value); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public long addIndexed(E value) { long index = size.getAndIncrement(); @@ -82,9 +79,7 @@ public long addIndexed(E value) { return index; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public void set(long index, E value) { if (index >= size()) { @@ -93,9 +88,7 @@ public void set(long index, E value) { write(index, value); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public E get(long index) { long position = index * dataType.size(); @@ -105,17 +98,13 @@ public E get(long index) { return dataType.read(segment, segmentOffset); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public long size() { return size.get(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public void clear() { size.set(0); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java index 0fe655472..f2d8952fd 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java @@ -22,9 +22,8 @@ import org.apache.baremaps.database.type.LongDataType; /** - * A list that can hold a large number of variable size data elements. - * - * This list is backed by an index and a buffer that can be either heap, off-heap, or memory mapped. + * A data list that can hold a large number of variable size data elements. This data list is backed + * by an index and a buffer that can be either heap, off-heap, or memory mapped. * * @param The type of the elements. */ @@ -34,9 +33,8 @@ public class IndexedDataList implements DataList { private final AppendOnlyLog values; - /** - * Constructs a list. + * Constructs a {@link IndexedDataList}. * * @param values the values */ @@ -45,7 +43,7 @@ public IndexedDataList(AppendOnlyLog values) { } /** - * Constructs a list. + * Constructs a {@link IndexedDataList}. * * @param index the index * @param values the values @@ -55,44 +53,34 @@ public IndexedDataList(DataList index, AppendOnlyLog values) { this.values = values; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public long addIndexed(E value) { long position = values.addPositioned(value); return index.addIndexed(position); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public void set(long index, E value) { long position = values.addPositioned(value); this.index.set(index, position); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public E get(long index) { long position = this.index.get(index); - return values.read(position); + return values.getPositioned(position); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public long size() { return index.size(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public void clear() { index.clear(); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java index 4e1655dbb..2a8429b6b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java @@ -26,9 +26,8 @@ import java.util.Map.Entry; /** - * A map that can hold a large number of variable size data elements. - * - * This map is backed by an index and a buffer that can be either heap, off-heap, or memory mapped. + * A {@link DataMap} that can hold a large number of variable size data elements. This data map is + * backed by an index and a buffer that can be either heap, off-heap, or memory mapped. * * @param The type of the elements. */ @@ -39,7 +38,7 @@ public class IndexedDataMap implements DataMap { private final AppendOnlyLog values; /** - * Constructs a map. + * Constructs a {@link IndexedDataMap}. * * @param values the values */ @@ -48,7 +47,7 @@ public IndexedDataMap(AppendOnlyLog values) { } /** - * Constructs a map. + * Constructs a {@link IndexedDataMap}. * * @param index the index * @param values the values @@ -58,90 +57,65 @@ public IndexedDataMap(Map index, AppendOnlyLog values) { this.values = values; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public E put(Long key, E value) { var oldIndex = index.get(key); var position = values.addPositioned(value); index.put(key, position); - return oldIndex == null ? null : values.read(oldIndex); + return oldIndex == null ? null : values.getPositioned(oldIndex); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public E get(Object key) { var position = index.get(key); - return position == null ? null : values.read(position); + return position == null ? null : values.getPositioned(position); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public Iterator keyIterator() { return index.keySet().iterator(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public Iterator valueIterator() { return Streams.stream(keyIterator()).map(this::get).iterator(); } + /** {@inheritDoc} */ @Override public Iterator> entryIterator() { return Streams.stream(keyIterator()).map(k -> Map.entry(k, get(k))).iterator(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public boolean isEmpty() { return index.isEmpty(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public long size() { return index.size(); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public boolean containsKey(Object key) { return index.containsKey(key); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public boolean containsValue(Object value) { - return index.values().stream().map(values::read).anyMatch(value::equals); - } - - /** - * {@inheritDoc} - */ - @Override - public E remove(Long key) { - return values.read(index.remove(key)); + return index.values().stream().map(values::getPositioned).anyMatch(value::equals); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public void clear() { index.clear(); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java index 931ed5368..634e743bc 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java @@ -27,9 +27,8 @@ import org.apache.baremaps.database.type.FixedSizeDataType; /** - * A list that can hold a large number of fixed-size memory-aligned data elements. - * - * This list is backed by a memory that can be either heap, off-heap, or memory mapped. + * A {@link DataList} that can hold a large number of fixed-size memory-aligned data elements. This + * data list is backed by a memory that can be either heap, off-heap, or memory mapped. * * @param The type of the elements. */ @@ -48,7 +47,7 @@ public class MemoryAlignedDataList implements DataList { private AtomicLong size; /** - * Constructs a list. + * Constructs a {@link MemoryAlignedDataList}. * * @param dataType the data type */ @@ -57,7 +56,7 @@ public MemoryAlignedDataList(FixedSizeDataType dataType) { } /** - * Constructs a list. + * Constructs a {@link MemoryAlignedDataList}. * * @param dataType the data type * @param memory the memory diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java index 3cbd3f4f7..1c70e9bc7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java @@ -28,7 +28,7 @@ import org.apache.baremaps.database.type.FixedSizeDataType; /** - * A map that can hold a large number of fixed-size memory-aligned data elements. + * A {@link DataMap} that can hold a large number of fixed-size memory-aligned data elements. * *

* This code has been adapted from Planetiler (Apache license). @@ -46,7 +46,7 @@ public class MemoryAlignedDataMap implements DataMap { private final long segmentMask; /** - * Constructs a map. + * Constructs a {@link MemoryAlignedDataMap}. * * @param dataType the data type * @param memory the memory @@ -90,12 +90,6 @@ public E get(Object key) { return dataType.read(segment, segmentOffset); } - /** {@inheritDoc} */ - @Override - public E remove(Long key) { - throw new UnsupportedOperationException(); - } - /** {@inheritDoc} */ @Override public boolean containsKey(Object keyObject) { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java index 21d22beac..35422be0e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java @@ -27,9 +27,9 @@ import org.apache.baremaps.database.type.PairDataType.Pair; /** - * A map that can hold a large number of variable-size data elements. The elements must be sorted by - * their key and inserted in a monotonic way. The elements cannot be removed or updated once - * inserted. + * A {@link DataMap} that can hold a large number of variable-size data elements. The elements must + * be sorted by their key and inserted in a monotonic way. The elements cannot be removed or updated + * once inserted. * *

* This code has been adapted from Planetiler (Apache license). @@ -46,7 +46,7 @@ public class MonotonicDataMap implements DataMap { private long lastChunk = -1; /** - * Constructs a map with default lists for storing offsets. + * Constructs a {@link MonotonicDataMap} with default lists for storing offsets. * * @param values the buffer of values */ @@ -58,7 +58,7 @@ public MonotonicDataMap(AppendOnlyLog values) { } /** - * Constructs a map with default lists for storing offsets and keys. + * Constructs a {@link MonotonicDataMap} with default lists for storing offsets and keys. * * @param keys the list of keys * @param values the buffer of values @@ -71,7 +71,7 @@ public MonotonicDataMap(DataList> keys, AppendOnlyLog values } /** - * Constructs a map. + * Constructs a {@link MonotonicDataMap}. * * @param offsets the list of offsets * @param keys the list of keys @@ -124,7 +124,7 @@ public E get(Object keyObject) { hi = index - 1; } else { // found - return values.read(pair.right()); + return values.getPositioned(pair.right()); } } return null; @@ -139,13 +139,13 @@ public Iterator keyIterator() { /** {@inheritDoc} */ @Override public Iterator valueIterator() { - return keys.stream().map(Pair::right).map(values::read).iterator(); + return keys.stream().map(Pair::right).map(values::getPositioned).iterator(); } @Override public Iterator> entryIterator() { return keys.stream() - .map(p -> Map.entry(p.left(), values.read(p.right()))) + .map(p -> Map.entry(p.left(), values.getPositioned(p.right()))) .iterator(); } @@ -168,12 +168,6 @@ public boolean containsValue(Object value) { return values.contains(value); } - /** {@inheritDoc} */ - @Override - public E remove(Long key) { - throw new UnsupportedOperationException(); - } - /** {@inheritDoc} */ @Override public void clear() { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java index d686c0474..fd979021e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java @@ -26,9 +26,9 @@ import org.apache.baremaps.database.type.LongDataType; /** - * A map that can hold a large number of fixed-size data elements. The elements must be sorted by - * their key and inserted in a monotonic way. The elements cannot be removed or updated once - * inserted. + * A {@link DataMap} that can hold a large number of fixed-size data elements. The elements must be + * sorted by their key and inserted in a monotonic way. The elements cannot be removed or updated + * once inserted. * *

* This code has been adapted from Planetiler (Apache license). @@ -44,7 +44,7 @@ public class MonotonicFixedSizeDataMap implements DataMap { private long lastChunk = -1; /** - * Constructs a map with default lists for storing offsets and keys. + * Constructs a {@link MonotonicFixedSizeDataMap} with default lists for storing offsets and keys. * * @param values the list of values */ @@ -54,7 +54,7 @@ public MonotonicFixedSizeDataMap(DataList values) { } /** - * Constructs a map. + * Constructs a {@link MonotonicFixedSizeDataMap}. * * @param offsets the list of offsets * @param keys the list of keys @@ -108,12 +108,6 @@ public E put(Long key, E value) { return null; } - /** {@inheritDoc} */ - @Override - public E remove(Long key) { - throw new UnsupportedOperationException(); - } - /** {@inheritDoc} */ @Override public long size() { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java index 45f2ad30e..589a48663 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java @@ -26,9 +26,9 @@ import org.apache.baremaps.database.type.PairDataType.Pair; /** - * A map that can hold a large number of variable-size data elements. The elements must be sorted by - * their key and inserted in a monotonic way. The elements cannot be removed or updated once - * inserted. + * A {@link DataMap} that can hold a large number of variable-size data elements. The elements must + * be sorted by their key and inserted in a monotonic way. The elements cannot be removed or updated + * once inserted. */ public class MonotonicPairedDataMap implements DataMap { @@ -37,12 +37,15 @@ public class MonotonicPairedDataMap implements DataMap { private long lastChunk = -1; + /** + * Constructs a {@link MonotonicPairedDataMap}. + */ public MonotonicPairedDataMap(MemoryAlignedDataList> values) { this(new MemoryAlignedDataList<>(new LongDataType()), values); } /** - * Constructs a map. + * Constructs a {@link MonotonicPairedDataMap}. * * @param offsets the list of offsets * @param values the buffer of values @@ -110,6 +113,7 @@ public Iterator valueIterator() { return values.stream().map(Pair::right).iterator(); } + /** {@inheritDoc} */ @Override public Iterator> entryIterator() { return values.stream() @@ -135,12 +139,6 @@ public boolean containsValue(Object value) { return values.stream().anyMatch(p -> p.right().equals(value)); } - /** {@inheritDoc} */ - @Override - public E remove(Long key) { - throw new UnsupportedOperationException(); - } - /** {@inheritDoc} */ @Override public void clear() { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/Memory.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/Memory.java index b18dfcce5..4e1eb0c67 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/Memory.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/Memory.java @@ -36,6 +36,11 @@ public abstract class Memory implements Closeable { protected final List segments = new ArrayList<>(); + /** + * Constructs a memory with a given segment size. + * + * @param segmentSize the size of the segments + */ protected Memory(int segmentSize) { if ((segmentSize & -segmentSize) != segmentSize) { throw new IllegalArgumentException("The segment size must be a power of 2"); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryException.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryException.java index f68682999..350bb561b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryException.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryException.java @@ -19,6 +19,7 @@ /** Signals that an exception occurred in a memory. */ public class MemoryException extends RuntimeException { + /** Constructs a {@link MemoryException} with {@code null} as its error detail message. */ public MemoryException() {} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedDirectory.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedDirectory.java index 7fda83798..0acba61f1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedDirectory.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedDirectory.java @@ -28,7 +28,9 @@ import org.apache.baremaps.utils.FileUtils; import org.apache.baremaps.utils.MappedByteBufferUtils; -/** A memory that stores segments on-disk using mapped byte buffers in a directory of files. */ +/** + * A {@link Memory} that stores segments on-disk using mapped byte buffers in a directory of files. + */ public class MemoryMappedDirectory extends Memory { private final Path directory; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedFile.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedFile.java index c39500891..02a378e4f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedFile.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedFile.java @@ -28,7 +28,7 @@ import java.nio.file.StandardOpenOption; import org.apache.baremaps.utils.MappedByteBufferUtils; -/** A memory that stores segments on-disk using mapped byte buffers in a file. */ +/** A {@link Memory} that stores segments on-disk using mapped byte buffers in a file. */ public class MemoryMappedFile extends Memory { private final Path file; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OffHeapMemory.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OffHeapMemory.java index 376a2b5ff..d4f15f4d1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OffHeapMemory.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OffHeapMemory.java @@ -22,7 +22,7 @@ import java.io.IOException; import java.nio.ByteBuffer; -/** A memory that stores segments off-heap using direct byte buffers. */ +/** A {@link Memory} that stores segments off-heap using direct byte buffers. */ public class OffHeapMemory extends Memory { /** Constructs an {@link OffHeapMemory} with a default segment size of 1mb. */ diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OnHeapMemory.java b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OnHeapMemory.java index ae942e627..fac306367 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OnHeapMemory.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OnHeapMemory.java @@ -22,7 +22,7 @@ import java.io.IOException; import java.nio.ByteBuffer; -/** A memory that stores segments on-heap using regular byte buffers. */ +/** A {@link Memory} that stores segments on-heap using regular byte buffers. */ public class OnHeapMemory extends Memory { /** Constructs an {@link OnHeapMemory} with a default segment size of 1mb. */ diff --git a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java index 671ca1b2e..768f283bf 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java @@ -31,7 +31,6 @@ import java.util.Spliterators; import java.util.stream.Stream; import java.util.stream.StreamSupport; -import org.apache.baremaps.openstreetmap.OsmReader; /** * A reader for the Geonames database. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java index 88374ad56..7cd187993 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java @@ -112,7 +112,7 @@ public boolean add(DataRow row) { * {@inheritDoc} */ @Override - public boolean addAll(Collection rows) { + public boolean addAll(Iterable rows) { try (var connection = dataSource.getConnection(); var statement = connection.prepareStatement(insert(rowType))) { for (var row : rows) { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java index 8b5d14ab7..d651a9db1 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java @@ -40,7 +40,7 @@ void addFixedSizeData() { assertEquals(Long.BYTES + (i << 2), collection.addPositioned(i)); } for (int i = 0; i < 1 << 20; i++) { - assertEquals(i, collection.read(Long.BYTES + (i << 2))); + assertEquals(i, collection.getPositioned(Long.BYTES + (i << 2))); } } @@ -60,7 +60,7 @@ void addVariableSizeValues() { values.add(value); } for (int i = 0; i < positions.size(); i++) { - var value = collection.read(positions.get(i)); + var value = collection.getPositioned(positions.get(i)); assertEquals(values.get(i), value); } } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java index f6e82feb4..0f26cb7bd 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java @@ -123,12 +123,13 @@ void valueSet(DataMap map) { @ParameterizedTest @MethodSource("mapProvider") void entrySet(DataMap map) { - var set = new HashSet>(); + var set1 = new HashSet>(); for (long i = 0; i < 1000; i++) { - set.add(Map.entry(i, i)); + set1.add(Map.entry(i, i)); map.put(i, i); } - assertEquals(set, map.entrySet()); + var set2 = DataConversions.asMap(map).entrySet(); + assertEquals(set1, set2); } @ParameterizedTest diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/algorithm/UnionStreamTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/algorithm/UnionStreamTest.java index 554494cd9..1269bb5b9 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/algorithm/UnionStreamTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/algorithm/UnionStreamTest.java @@ -20,6 +20,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.List; +import org.apache.baremaps.database.collection.DataConversions; +import org.apache.baremaps.database.collection.DataList; import org.junit.jupiter.api.Test; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Geometry; @@ -59,7 +61,8 @@ void union() { new Coordinate(5, 0), new Coordinate(4, 0) }); - List list = List.of(polygon1, polygon2, polygon3, polygon4); + DataList list = + DataConversions.asDataList(List.of(polygon1, polygon2, polygon3, polygon4)); var union = new UnionStream(list).union().toList(); assertEquals(union.size(), 2); assertEquals(union.get(0), UnaryUnionOp.union(List.of(polygon1, polygon2, polygon3))); diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java index 40bb3d1a3..0645ae283 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java @@ -19,6 +19,8 @@ +import static org.apache.baremaps.openstreetmap.stream.ConsumerUtils.consumeThenReturn; + import java.io.InputStream; import java.util.List; import java.util.Map; @@ -27,9 +29,9 @@ import org.apache.baremaps.openstreetmap.OsmReader; import org.apache.baremaps.openstreetmap.function.CoordinateMapBuilder; import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder; +import org.apache.baremaps.openstreetmap.function.EntityProjectionTransformer; import org.apache.baremaps.openstreetmap.function.ReferenceMapBuilder; import org.apache.baremaps.openstreetmap.model.Entity; -import org.apache.baremaps.openstreetmap.stream.ConsumerUtils; import org.locationtech.jts.geom.Coordinate; /** A utility class for parsing an OpenStreetMap XML file. */ @@ -92,10 +94,12 @@ public Stream stream(InputStream input) { var coordinateMapBuilder = new CoordinateMapBuilder(coordinateMap); var referenceMapBuilder = new ReferenceMapBuilder(referenceMap); var entityGeometryBuilder = new EntityGeometryBuilder(coordinateMap, referenceMap); + var entityProjectionTransformer = new EntityProjectionTransformer(4326, srid); var entityHandler = coordinateMapBuilder .andThen(referenceMapBuilder) - .andThen(entityGeometryBuilder); - entities = entities.map(ConsumerUtils.consumeThenReturn(entityHandler)); + .andThen(entityGeometryBuilder) + .andThen(entityProjectionTransformer); + entities = entities.map(consumeThenReturn(entityHandler)); } return entities; } diff --git a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java index da7479b27..d45f32531 100644 --- a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java @@ -17,6 +17,8 @@ package org.apache.baremaps.openstreetmap; +import static org.apache.baremaps.openstreetmap.TestFiles.resolve; + import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -42,8 +44,6 @@ import org.testcontainers.shaded.com.fasterxml.jackson.databind.JsonNode; import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper; -import static org.apache.baremaps.openstreetmap.TestFiles.resolve; - public class OsmTestData { @@ -261,43 +261,44 @@ public int compareTo(@NotNull OsmTestData.OsmTest o) { } } - /** - * A transformer that rounds the coordinates of a geometry to a given precision. - */ - public static class RoundingTransformer extends GeometryTransformer { + /** + * A transformer that rounds the coordinates of a geometry to a given precision. + */ + public static class RoundingTransformer extends GeometryTransformer { - private int precision; + private int precision; - /** - * Constructs a transformer that rounds the coordinates of a geometry to a given precision. - * - * @param precision the precision - */ - public RoundingTransformer(int precision) { - this.precision = precision; - } + /** + * Constructs a transformer that rounds the coordinates of a geometry to a given precision. + * + * @param precision the precision + */ + public RoundingTransformer(int precision) { + this.precision = precision; + } - /** - * Rounds the coordinates of a geometry to a given precision. - * - * @param sequence the coordinate sequence - * @param parent the parent geometry - * @return the geometry - */ - @Override - protected CoordinateSequence transformCoordinates(CoordinateSequence sequence, Geometry parent) { - CoordinateSequence rounded = super.transformCoordinates(sequence, parent); - for (int i = 0; i < rounded.size(); i++) { - double roundedX = - Math.round(rounded.getOrdinate(i, CoordinateSequence.X) * Math.pow(10, precision)) - / Math.pow(10, precision); - double roundedY = - Math.round(rounded.getOrdinate(i, CoordinateSequence.Y) * Math.pow(10, precision)) - / Math.pow(10, precision); - rounded.setOrdinate(i, CoordinateSequence.X, roundedX); - rounded.setOrdinate(i, CoordinateSequence.Y, roundedY); - } - return rounded; + /** + * Rounds the coordinates of a geometry to a given precision. + * + * @param sequence the coordinate sequence + * @param parent the parent geometry + * @return the geometry + */ + @Override + protected CoordinateSequence transformCoordinates(CoordinateSequence sequence, + Geometry parent) { + CoordinateSequence rounded = super.transformCoordinates(sequence, parent); + for (int i = 0; i < rounded.size(); i++) { + double roundedX = + Math.round(rounded.getOrdinate(i, CoordinateSequence.X) * Math.pow(10, precision)) + / Math.pow(10, precision); + double roundedY = + Math.round(rounded.getOrdinate(i, CoordinateSequence.Y) * Math.pow(10, precision)) + / Math.pow(10, precision); + rounded.setOrdinate(i, CoordinateSequence.X, roundedX); + rounded.setOrdinate(i, CoordinateSequence.Y, roundedY); } + return rounded; } + } } From 66c0a44925876ee4441034cb1ad8747db629e8b6 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Thu, 9 May 2024 11:22:31 +0200 Subject: [PATCH 07/19] Introduce a new module for data collections --- baremaps-core/pom.xml | 8 +-- .../postgres/PostgresCoordinateMap.java | 4 +- .../postgres/PostgresIterator.java | 2 +- .../postgres/PostgresReferenceMap.java | 2 +- .../flatgeobuf/FlatGeoBufDataSchema.java | 6 +-- .../flatgeobuf/FlatGeoBufDataTable.java | 8 +-- .../flatgeobuf/FlatGeoBufTypeConversion.java | 4 +- .../geopackage/GeoPackageDataSchema.java | 6 +-- .../geopackage/GeoPackageDataTable.java | 4 +- .../storage/postgres/PostgresDataSchema.java | 4 +- .../storage/postgres/PostgresDataTable.java | 8 +-- .../postgres/PostgresTypeConversion.java | 2 +- .../shapefile/ShapefileDataSchema.java | 6 +-- .../storage/shapefile/ShapefileDataTable.java | 8 +-- .../shapefile/internal/DbaseByteReader.java | 2 +- .../internal/ShapefileByteReader.java | 4 +- .../internal/ShapefileInputStream.java | 4 +- .../shapefile/internal/ShapefileReader.java | 2 +- .../vectortile/expression/Expressions.java | 2 +- .../baremaps/workflow/WorkflowContext.java | 8 +-- .../workflow/tasks/ImportGeoPackage.java | 4 +- .../workflow/tasks/ImportShapefile.java | 4 +- .../{database => }/calcite/CalciteTest.java | 20 +++---- .../baremaps/storage/MockDataTable.java | 4 +- .../postgres/PostgresDataSchemaTest.java | 2 +- .../postgres/PostgresDataTableTest.java | 2 +- .../baremaps/vectortile/ExpressionsTest.java | 4 +- .../tasks/ImportUpdateSampleTest.java | 12 ++--- baremaps-data/pom.xml | 20 +++++++ .../data}/algorithm/BinarySearch.java | 4 +- .../data}/algorithm/ExternalMergeSort.java | 4 +- .../baremaps/data}/algorithm/Hilbert.java | 2 +- .../baremaps/data}/algorithm/UnionStream.java | 4 +- .../baremaps/data}/calcite/SqlDataSchema.java | 2 +- .../baremaps/data}/calcite/SqlDataTable.java | 12 ++--- .../data}/calcite/SqlTypeConversion.java | 4 +- .../data}/collection/AppendOnlyLog.java | 8 +-- .../data}/collection/DataCollection.java | 2 +- .../collection/DataCollectionException.java | 2 +- .../collection/DataCollectionMapper.java | 2 +- .../data}/collection/DataConversions.java | 2 +- .../baremaps/data}/collection/DataList.java | 2 +- .../baremaps/data}/collection/DataMap.java | 2 +- .../data}/collection/FixedSizeDataList.java | 8 +-- .../data}/collection/IndexedDataList.java | 4 +- .../data}/collection/IndexedDataMap.java | 6 +-- .../collection/MemoryAlignedDataList.java | 8 +-- .../collection/MemoryAlignedDataMap.java | 6 +-- .../data}/collection/MonotonicDataMap.java | 8 +-- .../collection/MonotonicFixedSizeDataMap.java | 4 +- .../collection/MonotonicPairedDataMap.java | 6 +-- .../apache/baremaps/data}/memory/Memory.java | 2 +- .../data}/memory/MemoryException.java | 2 +- .../data}/memory/MemoryMappedDirectory.java | 7 +-- .../data}/memory/MemoryMappedFile.java | 4 +- .../baremaps/data}/memory/OffHeapMemory.java | 2 +- .../baremaps/data}/memory/OnHeapMemory.java | 2 +- .../baremaps/data}/schema/DataColumn.java | 2 +- .../baremaps/data}/schema/DataColumnImpl.java | 2 +- .../apache/baremaps/data}/schema/DataRow.java | 2 +- .../baremaps/data}/schema/DataRowImpl.java | 2 +- .../baremaps/data}/schema/DataRowType.java | 2 +- .../data}/schema/DataRowTypeImpl.java | 2 +- .../baremaps/data}/schema/DataSchema.java | 2 +- .../baremaps/data}/schema/DataTable.java | 4 +- .../data}/schema/DataTableAdapter.java | 2 +- .../data}/schema/DataTableException.java | 2 +- .../schema/DataTableGeometryTransformer.java | 2 +- .../baremaps/data}/schema/DataTableImpl.java | 4 +- .../data}/type/BooleanArrayDataType.java | 2 +- .../baremaps/data}/type/BooleanDataType.java | 2 +- .../data}/type/BooleanListDataType.java | 2 +- .../data}/type/ByteArrayDataType.java | 2 +- .../baremaps/data}/type/ByteDataType.java | 2 +- .../baremaps/data}/type/ByteListDataType.java | 2 +- .../apache/baremaps/data}/type/DataType.java | 2 +- .../data}/type/DoubleArrayDataType.java | 2 +- .../baremaps/data}/type/DoubleDataType.java | 2 +- .../data}/type/DoubleListDataType.java | 2 +- .../data}/type/FixedSizeDataType.java | 2 +- .../data}/type/FloatArrayDataType.java | 2 +- .../baremaps/data}/type/FloatDataType.java | 2 +- .../data}/type/FloatListDataType.java | 2 +- .../data}/type/IntegerArrayDataType.java | 2 +- .../baremaps/data}/type/IntegerDataType.java | 2 +- .../data}/type/IntegerListDataType.java | 2 +- .../baremaps/data}/type/ListDataType.java | 2 +- .../baremaps/data}/type/LonLatDataType.java | 2 +- .../data}/type/LongArrayDataType.java | 2 +- .../baremaps/data}/type/LongDataType.java | 2 +- .../baremaps/data}/type/LongListDataType.java | 2 +- .../baremaps/data}/type/MapDataType.java | 2 +- .../data}/type/MemoryAlignedDataType.java | 2 +- .../baremaps/data}/type/NullableDataType.java | 2 +- .../baremaps/data}/type/PairDataType.java | 4 +- .../baremaps/data}/type/RowDataType.java | 14 ++--- .../data}/type/ShortArrayDataType.java | 2 +- .../baremaps/data}/type/ShortDataType.java | 2 +- .../data}/type/ShortListDataType.java | 2 +- .../data}/type/SmallIntegerDataType.java | 2 +- .../data}/type/SmallLongDataType.java | 2 +- .../baremaps/data}/type/StringDataType.java | 2 +- .../geometry/CoordinateArrayDataType.java | 4 +- .../type/geometry/CoordinateDataType.java | 6 +-- .../geometry/GeometryCollectionDataType.java | 4 +- .../data}/type/geometry/GeometryDataType.java | 4 +- .../type/geometry/LineStringDataType.java | 4 +- .../data}/type/geometry/LonLatDataType.java | 6 +-- .../geometry/MultiLineStringDataType.java | 4 +- .../type/geometry/MultiPointDataType.java | 4 +- .../type/geometry/MultiPolygonDataType.java | 4 +- .../data}/type/geometry/PointDataType.java | 4 +- .../data}/type/geometry/PolygonDataType.java | 4 +- .../data}/type/geometry/WKBDataType.java | 53 ++++++++++++++++--- .../apache/baremaps/data/util/FileUtils.java | 36 +++++++++++++ .../data/util}/MappedByteBufferUtils.java | 2 +- .../baremaps/data}/AppendOnlyLogTest.java | 14 ++--- .../apache/baremaps/data}/DataListTest.java | 6 +-- .../apache/baremaps/data}/DataMapTest.java | 10 ++-- .../baremaps/data}/SizedDataListTest.java | 14 ++--- .../data}/algorithm/UnionStreamTest.java | 6 +-- .../baremaps/data}/memory/MemoryProvider.java | 2 +- .../baremaps/data}/memory/MemoryTest.java | 8 +-- .../baremaps/data}/sort/BinarySearchTest.java | 8 +-- .../data}/sort/ExternalMergeSortTest.java | 18 +++---- .../baremaps/data}/type/DataTypeProvider.java | 14 ++--- .../baremaps/data}/type/DataTypeTest.java | 4 +- .../data}/type/LonLatDataTypeTest.java | 2 +- .../baremaps/openstreetmap/OsmReader.java | 2 +- .../baremaps/openstreetmap/OsmReaders.java | 50 ----------------- .../openstreetmap/pbf/PbfBlockReader.java | 5 -- pom.xml | 6 +++ 132 files changed, 376 insertions(+), 327 deletions(-) rename baremaps-core/src/test/java/org/apache/baremaps/{database => }/calcite/CalciteTest.java (89%) create mode 100644 baremaps-data/pom.xml rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/algorithm/BinarySearch.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/algorithm/ExternalMergeSort.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/algorithm/Hilbert.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/algorithm/UnionStream.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/calcite/SqlDataSchema.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/calcite/SqlDataTable.java (85%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/calcite/SqlTypeConversion.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/AppendOnlyLog.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/DataCollection.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/DataCollectionException.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/DataCollectionMapper.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/DataConversions.java (99%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/DataList.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/DataMap.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/FixedSizeDataList.java (93%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/IndexedDataList.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/IndexedDataMap.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/MemoryAlignedDataList.java (94%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/MemoryAlignedDataMap.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/MonotonicDataMap.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/MonotonicFixedSizeDataMap.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/collection/MonotonicPairedDataMap.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/memory/Memory.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/memory/MemoryException.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/memory/MemoryMappedDirectory.java (94%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/memory/MemoryMappedFile.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/memory/OffHeapMemory.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/memory/OnHeapMemory.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataColumn.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataColumnImpl.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataRow.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataRowImpl.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataRowType.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataRowTypeImpl.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataSchema.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataTable.java (90%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataTableAdapter.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataTableException.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataTableGeometryTransformer.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/schema/DataTableImpl.java (94%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/BooleanArrayDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/BooleanDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/BooleanListDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/ByteArrayDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/ByteDataType.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/ByteListDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/DataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/DoubleArrayDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/DoubleDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/DoubleListDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/FixedSizeDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/FloatArrayDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/FloatDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/FloatListDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/IntegerArrayDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/IntegerDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/IntegerListDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/ListDataType.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/LonLatDataType.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/LongArrayDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/LongDataType.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/LongListDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/MapDataType.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/MemoryAlignedDataType.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/NullableDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/PairDataType.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/RowDataType.java (90%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/ShortArrayDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/ShortDataType.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/ShortListDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/SmallIntegerDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/SmallLongDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/StringDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/CoordinateArrayDataType.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/CoordinateDataType.java (90%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/GeometryCollectionDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/GeometryDataType.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/LineStringDataType.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/LonLatDataType.java (93%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/MultiLineStringDataType.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/MultiPointDataType.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/MultiPolygonDataType.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/PointDataType.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/PolygonDataType.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/database => baremaps-data/src/main/java/org/apache/baremaps/data}/type/geometry/WKBDataType.java (57%) create mode 100644 baremaps-data/src/main/java/org/apache/baremaps/data/util/FileUtils.java rename {baremaps-core/src/main/java/org/apache/baremaps/utils => baremaps-data/src/main/java/org/apache/baremaps/data/util}/MappedByteBufferUtils.java (98%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/AppendOnlyLogTest.java (89%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/DataListTest.java (94%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/DataMapTest.java (95%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/SizedDataListTest.java (80%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/algorithm/UnionStreamTest.java (93%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/memory/MemoryProvider.java (97%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/memory/MemoryTest.java (85%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/sort/BinarySearchTest.java (83%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/sort/ExternalMergeSortTest.java (87%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/type/DataTypeProvider.java (97%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/type/DataTypeTest.java (94%) rename {baremaps-core/src/test/java/org/apache/baremaps/database => baremaps-data/src/test/java/org/apache/baremaps/data}/type/LonLatDataTypeTest.java (96%) delete mode 100644 baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReaders.java diff --git a/baremaps-core/pom.xml b/baremaps-core/pom.xml index 9ef438ed4..c519bfe43 100644 --- a/baremaps-core/pom.xml +++ b/baremaps-core/pom.xml @@ -80,15 +80,15 @@ limitations under the License. org.apache.baremaps - baremaps-openstreetmap + baremaps-data org.apache.baremaps - baremaps-testing + baremaps-openstreetmap - org.apache.calcite - calcite-core + org.apache.baremaps + baremaps-testing org.apache.commons diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java index 4d17fb461..ace654ccc 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java @@ -22,8 +22,8 @@ import java.sql.*; import java.util.*; import javax.sql.DataSource; -import org.apache.baremaps.database.collection.DataCollectionException; -import org.apache.baremaps.database.collection.DataMap; +import org.apache.baremaps.data.collection.DataCollectionException; +import org.apache.baremaps.data.collection.DataMap; import org.locationtech.jts.geom.Coordinate; /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java index 6dac8ec22..451c206e5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java @@ -24,7 +24,7 @@ import java.util.Iterator; import java.util.NoSuchElementException; import java.util.function.Function; -import org.apache.baremaps.database.collection.DataCollectionException; +import org.apache.baremaps.data.collection.DataCollectionException; class PostgresIterator implements Iterator { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java index 7ab8bc665..a2ff61fd7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java @@ -26,7 +26,7 @@ import java.sql.SQLException; import java.util.*; import javax.sql.DataSource; -import org.apache.baremaps.database.collection.DataCollectionException; +import org.apache.baremaps.data.collection.DataCollectionException; /** * A read-only {@code LongDataMap} for references baked by OpenStreetMap ways stored in Postgres. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataSchema.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataSchema.java index 2b9db91c2..11e424871 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataSchema.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataSchema.java @@ -21,9 +21,9 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Collection; -import org.apache.baremaps.database.schema.DataSchema; -import org.apache.baremaps.database.schema.DataTable; -import org.apache.baremaps.database.schema.DataTableException; +import org.apache.baremaps.data.schema.DataSchema; +import org.apache.baremaps.data.schema.DataTable; +import org.apache.baremaps.data.schema.DataTableException; /** * A schema corresponding to the flatgeobuf files of a directory. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java index c30680aa7..ecc288b35 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java @@ -26,10 +26,10 @@ import java.nio.file.StandardOpenOption; import java.util.Iterator; import java.util.NoSuchElementException; -import org.apache.baremaps.database.collection.DataCollection; -import org.apache.baremaps.database.schema.DataRow; -import org.apache.baremaps.database.schema.DataRowType; -import org.apache.baremaps.database.schema.DataTable; +import org.apache.baremaps.data.collection.DataCollection; +import org.apache.baremaps.data.schema.DataRow; +import org.apache.baremaps.data.schema.DataRowType; +import org.apache.baremaps.data.schema.DataTable; import org.locationtech.jts.geom.*; import org.wololo.flatgeobuf.Constants; import org.wololo.flatgeobuf.GeometryConversions; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufTypeConversion.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufTypeConversion.java index d6c853d5c..68208da0a 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufTypeConversion.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufTypeConversion.java @@ -25,8 +25,8 @@ import java.nio.charset.StandardCharsets; import java.util.*; import java.util.stream.Collectors; -import org.apache.baremaps.database.schema.*; -import org.apache.baremaps.database.schema.DataColumn.Type; +import org.apache.baremaps.data.schema.*; +import org.apache.baremaps.data.schema.DataColumn.Type; import org.wololo.flatgeobuf.ColumnMeta; import org.wololo.flatgeobuf.GeometryConversions; import org.wololo.flatgeobuf.HeaderMeta; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchema.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchema.java index 710cdca78..2ab51bf81 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchema.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchema.java @@ -22,9 +22,9 @@ import java.util.Collection; import mil.nga.geopackage.GeoPackage; import mil.nga.geopackage.GeoPackageManager; -import org.apache.baremaps.database.schema.DataSchema; -import org.apache.baremaps.database.schema.DataTable; -import org.apache.baremaps.database.schema.DataTableException; +import org.apache.baremaps.data.schema.DataSchema; +import org.apache.baremaps.data.schema.DataTable; +import org.apache.baremaps.data.schema.DataTableException; /** * A schema corresponding to a GeoPackage database. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java index 90cd8bd96..f3ab9cc2e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java @@ -23,8 +23,8 @@ import mil.nga.geopackage.features.user.FeatureDao; import mil.nga.geopackage.features.user.FeatureResultSet; import mil.nga.geopackage.geom.GeoPackageGeometryData; -import org.apache.baremaps.database.schema.*; -import org.apache.baremaps.database.schema.DataColumn.Type; +import org.apache.baremaps.data.schema.*; +import org.apache.baremaps.data.schema.DataColumn.Type; import org.locationtech.jts.geom.*; /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataSchema.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataSchema.java index 55e6c7411..218e571f7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataSchema.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataSchema.java @@ -26,8 +26,8 @@ import java.util.List; import java.util.stream.Collectors; import javax.sql.DataSource; -import org.apache.baremaps.database.schema.*; -import org.apache.baremaps.database.schema.DataColumn.Type; +import org.apache.baremaps.data.schema.*; +import org.apache.baremaps.data.schema.DataColumn.Type; import org.apache.baremaps.postgres.copy.CopyWriter; import org.apache.baremaps.postgres.copy.GeometryValueHandler; import org.apache.baremaps.postgres.metadata.DatabaseMetadata; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java index 7cd187993..fb1ac8812 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java @@ -23,10 +23,10 @@ import java.util.stream.Stream; import java.util.stream.StreamSupport; import javax.sql.DataSource; -import org.apache.baremaps.database.schema.DataRow; -import org.apache.baremaps.database.schema.DataRowImpl; -import org.apache.baremaps.database.schema.DataRowType; -import org.apache.baremaps.database.schema.DataTable; +import org.apache.baremaps.data.schema.DataRow; +import org.apache.baremaps.data.schema.DataRowImpl; +import org.apache.baremaps.data.schema.DataRowType; +import org.apache.baremaps.data.schema.DataTable; import org.apache.baremaps.openstreetmap.utils.GeometryUtils; import org.locationtech.jts.geom.*; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresTypeConversion.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresTypeConversion.java index 9ebf90c9e..e11432fd5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresTypeConversion.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresTypeConversion.java @@ -19,7 +19,7 @@ import java.util.EnumMap; import java.util.Map; -import org.apache.baremaps.database.schema.DataColumn.Type; +import org.apache.baremaps.data.schema.DataColumn.Type; public class PostgresTypeConversion { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataSchema.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataSchema.java index ded2cc8e8..34aa13462 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataSchema.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataSchema.java @@ -23,9 +23,9 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Collection; -import org.apache.baremaps.database.schema.DataSchema; -import org.apache.baremaps.database.schema.DataTable; -import org.apache.baremaps.database.schema.DataTableException; +import org.apache.baremaps.data.schema.DataSchema; +import org.apache.baremaps.data.schema.DataTable; +import org.apache.baremaps.data.schema.DataTableException; /** * A schema corresponding to the shapefiles of a directory. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java index 50fe5aa24..ad552486c 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java @@ -22,10 +22,10 @@ import java.nio.file.Path; import java.util.Iterator; import java.util.NoSuchElementException; -import org.apache.baremaps.database.schema.DataRow; -import org.apache.baremaps.database.schema.DataRowType; -import org.apache.baremaps.database.schema.DataTable; -import org.apache.baremaps.database.schema.DataTableException; +import org.apache.baremaps.data.schema.DataRow; +import org.apache.baremaps.data.schema.DataRowType; +import org.apache.baremaps.data.schema.DataTable; +import org.apache.baremaps.data.schema.DataTableException; import org.apache.baremaps.storage.shapefile.internal.ShapefileInputStream; import org.apache.baremaps.storage.shapefile.internal.ShapefileReader; import org.slf4j.Logger; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DbaseByteReader.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DbaseByteReader.java index 133eb9681..a14b32fc3 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DbaseByteReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DbaseByteReader.java @@ -27,7 +27,7 @@ import java.nio.charset.UnsupportedCharsetException; import java.text.MessageFormat; import java.util.*; -import org.apache.baremaps.database.schema.DataRow; +import org.apache.baremaps.data.schema.DataRow; /** * Reader of a Database Binary content. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java index 45af573e6..c71a5d74b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java @@ -24,8 +24,8 @@ import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.util.*; -import org.apache.baremaps.database.schema.*; -import org.apache.baremaps.database.schema.DataColumn.Type; +import org.apache.baremaps.data.schema.*; +import org.apache.baremaps.data.schema.DataColumn.Type; import org.locationtech.jts.algorithm.Orientation; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.CoordinateList; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileInputStream.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileInputStream.java index a1d40c881..655a2ce67 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileInputStream.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileInputStream.java @@ -23,8 +23,8 @@ import java.io.IOException; import java.io.InputStream; import java.util.List; -import org.apache.baremaps.database.schema.DataRow; -import org.apache.baremaps.database.schema.DataRowType; +import org.apache.baremaps.data.schema.DataRow; +import org.apache.baremaps.data.schema.DataRowType; /** * Input Stream of features. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileReader.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileReader.java index 11dc62d3b..63e98ddeb 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileReader.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.util.List; import java.util.Objects; -import org.apache.baremaps.database.schema.DataRowType; +import org.apache.baremaps.data.schema.DataRowType; /** * Provides a ShapeFile Reader. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java b/baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java index e388cc0ce..7d3cdc0e6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java @@ -37,7 +37,7 @@ import java.util.ArrayList; import java.util.List; import java.util.function.Predicate; -import org.apache.baremaps.database.schema.DataRow; +import org.apache.baremaps.data.schema.DataRow; import org.locationtech.jts.geom.*; public interface Expressions { 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 541479ec9..b0bd8dc4a 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 @@ -26,10 +26,10 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import javax.sql.DataSource; -import org.apache.baremaps.database.collection.*; -import org.apache.baremaps.database.memory.MemoryMappedDirectory; -import org.apache.baremaps.database.type.*; -import org.apache.baremaps.database.type.geometry.LonLatDataType; +import org.apache.baremaps.data.collection.*; +import org.apache.baremaps.data.memory.MemoryMappedDirectory; +import org.apache.baremaps.data.type.*; +import org.apache.baremaps.data.type.geometry.LonLatDataType; import org.apache.baremaps.utils.FileUtils; import org.apache.baremaps.utils.PostgresUtils; import org.locationtech.jts.geom.Coordinate; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java index ac85c8cb6..57bae7f7f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java @@ -19,8 +19,8 @@ import java.nio.file.Path; import java.util.StringJoiner; -import org.apache.baremaps.database.schema.DataTableAdapter; -import org.apache.baremaps.database.schema.DataTableGeometryTransformer; +import org.apache.baremaps.data.schema.DataTableAdapter; +import org.apache.baremaps.data.schema.DataTableGeometryTransformer; import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.apache.baremaps.storage.geopackage.GeoPackageDataSchema; import org.apache.baremaps.storage.postgres.PostgresDataSchema; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java index c90b518da..f90e2d844 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java @@ -19,8 +19,8 @@ import java.nio.file.Path; import java.util.StringJoiner; -import org.apache.baremaps.database.schema.DataTableAdapter; -import org.apache.baremaps.database.schema.DataTableGeometryTransformer; +import org.apache.baremaps.data.schema.DataTableAdapter; +import org.apache.baremaps.data.schema.DataTableGeometryTransformer; import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.apache.baremaps.storage.postgres.PostgresDataSchema; import org.apache.baremaps.storage.shapefile.ShapefileDataTable; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/calcite/CalciteTest.java b/baremaps-core/src/test/java/org/apache/baremaps/calcite/CalciteTest.java similarity index 89% rename from baremaps-core/src/test/java/org/apache/baremaps/database/calcite/CalciteTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/calcite/CalciteTest.java index 1a681d8bb..f88f35d34 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/calcite/CalciteTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/calcite/CalciteTest.java @@ -15,20 +15,19 @@ * limitations under the License. */ -package org.apache.baremaps.database.calcite; +package org.apache.baremaps.calcite; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; import com.google.common.collect.ImmutableList; import java.sql.*; import java.util.List; import java.util.Properties; -import org.apache.baremaps.database.collection.AppendOnlyLog; -import org.apache.baremaps.database.collection.IndexedDataList; -import org.apache.baremaps.database.schema.*; -import org.apache.baremaps.database.schema.DataColumn.Type; -import org.apache.baremaps.database.type.RowDataType; +import org.apache.baremaps.data.calcite.SqlDataTable; +import org.apache.baremaps.data.collection.AppendOnlyLog; +import org.apache.baremaps.data.collection.IndexedDataList; +import org.apache.baremaps.data.schema.*; +import org.apache.baremaps.data.schema.DataColumn.Type; +import org.apache.baremaps.data.type.RowDataType; import org.apache.baremaps.vectortile.VectorTileFunctions; import org.apache.calcite.jdbc.CalciteConnection; import org.apache.calcite.model.ModelHandler; @@ -39,6 +38,7 @@ import org.apache.calcite.schema.SchemaPlus; import org.apache.calcite.schema.impl.AggregateFunctionImpl; import org.apache.calcite.sql.fun.SqlSpatialTypeFunctions; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.locationtech.jts.geom.*; @@ -113,8 +113,8 @@ SELECT ST_AsText(ST_AsMVTGeom( try (Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(sql)) { - assertTrue(resultSet.next()); - assertEquals("POLYGON ((0 4096, 10 4095, 10 4086, 1 4086, 0 4096))", + Assertions.assertTrue(resultSet.next()); + Assertions.assertEquals("POLYGON ((0 4096, 10 4095, 10 4086, 1 4086, 0 4096))", resultSet.getString(1)); } } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java index 126558a53..b7d3a9128 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java @@ -21,8 +21,8 @@ import java.util.Iterator; import java.util.List; -import org.apache.baremaps.database.schema.*; -import org.apache.baremaps.database.schema.DataColumn.Type; +import org.apache.baremaps.data.schema.*; +import org.apache.baremaps.data.schema.DataColumn.Type; import org.locationtech.jts.geom.Coordinate; public class MockDataTable implements DataTable { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataSchemaTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataSchemaTest.java index ad376f7df..5fd9831ce 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataSchemaTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataSchemaTest.java @@ -19,7 +19,7 @@ import static org.junit.jupiter.api.Assertions.*; -import org.apache.baremaps.database.schema.DataTableException; +import org.apache.baremaps.data.schema.DataTableException; import org.apache.baremaps.storage.MockDataTable; import org.apache.baremaps.testing.PostgresContainerTest; import org.junit.jupiter.api.BeforeEach; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java index 17d5f7897..4bbb921f6 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java @@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.*; import java.util.List; -import org.apache.baremaps.database.schema.DataRowImpl; +import org.apache.baremaps.data.schema.DataRowImpl; import org.apache.baremaps.storage.MockDataTable; import org.apache.baremaps.testing.PostgresContainerTest; import org.junit.jupiter.api.BeforeEach; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java b/baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java index 7e8aec40d..0c499b783 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java @@ -21,8 +21,8 @@ import java.io.IOException; import java.util.List; -import org.apache.baremaps.database.schema.DataRow; -import org.apache.baremaps.database.schema.DataRowType; +import org.apache.baremaps.data.schema.DataRow; +import org.apache.baremaps.data.schema.DataRowType; import org.apache.baremaps.vectortile.expression.Expressions; import org.apache.baremaps.vectortile.expression.Expressions.*; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java index 83cb47c9c..bf0fc52e9 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java @@ -25,12 +25,12 @@ import java.nio.file.Files; import java.util.List; import java.util.Map; -import org.apache.baremaps.database.collection.AppendOnlyLog; -import org.apache.baremaps.database.collection.DataConversions; -import org.apache.baremaps.database.collection.IndexedDataMap; -import org.apache.baremaps.database.memory.OnHeapMemory; -import org.apache.baremaps.database.type.LongListDataType; -import org.apache.baremaps.database.type.geometry.CoordinateDataType; +import org.apache.baremaps.data.collection.AppendOnlyLog; +import org.apache.baremaps.data.collection.DataConversions; +import org.apache.baremaps.data.collection.IndexedDataMap; +import org.apache.baremaps.data.memory.OnHeapMemory; +import org.apache.baremaps.data.type.LongListDataType; +import org.apache.baremaps.data.type.geometry.CoordinateDataType; import org.apache.baremaps.openstreetmap.OsmSample; import org.apache.baremaps.openstreetmap.model.Header; import org.apache.baremaps.openstreetmap.postgres.PostgresCoordinateMap; diff --git a/baremaps-data/pom.xml b/baremaps-data/pom.xml new file mode 100644 index 000000000..186cfa64f --- /dev/null +++ b/baremaps-data/pom.xml @@ -0,0 +1,20 @@ + + + 4.0.0 + + org.apache.baremaps + baremaps + 0.7.4-SNAPSHOT + + baremaps-data + + + org.apache.baremaps + baremaps-testing + + + org.apache.calcite + calcite-core + + + diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/BinarySearch.java b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/BinarySearch.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/BinarySearch.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/BinarySearch.java index 2bd799a71..ae3bd5ca6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/BinarySearch.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/BinarySearch.java @@ -15,13 +15,13 @@ * limitations under the License. */ -package org.apache.baremaps.database.algorithm; +package org.apache.baremaps.data.algorithm; import java.util.Comparator; import java.util.function.Function; -import org.apache.baremaps.database.collection.DataList; +import org.apache.baremaps.data.collection.DataList; /** * A binary search algorithm. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/ExternalMergeSort.java b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/ExternalMergeSort.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/ExternalMergeSort.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/ExternalMergeSort.java index 6480ab72f..37232e103 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/ExternalMergeSort.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/ExternalMergeSort.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.algorithm; +package org.apache.baremaps.data.algorithm; @@ -23,7 +23,7 @@ import java.util.*; import java.util.function.Supplier; import java.util.stream.Stream; -import org.apache.baremaps.database.collection.DataList; +import org.apache.baremaps.data.collection.DataList; /** * An external merge sort algorithm adapted from diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/Hilbert.java b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/Hilbert.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/Hilbert.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/Hilbert.java index dcce8b699..85b907064 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/Hilbert.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/Hilbert.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.algorithm; +package org.apache.baremaps.data.algorithm; import java.util.Comparator; import org.locationtech.jts.geom.Envelope; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/UnionStream.java b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/UnionStream.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/UnionStream.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/UnionStream.java index 48c7680f2..5a50c2dda 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/algorithm/UnionStream.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/UnionStream.java @@ -15,12 +15,12 @@ * limitations under the License. */ -package org.apache.baremaps.database.algorithm; +package org.apache.baremaps.data.algorithm; import java.util.*; import java.util.stream.LongStream; import java.util.stream.Stream; -import org.apache.baremaps.database.collection.DataList; +import org.apache.baremaps.data.collection.DataList; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.TopologyException; import org.locationtech.jts.index.hprtree.HPRtree; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlDataSchema.java b/baremaps-data/src/main/java/org/apache/baremaps/data/calcite/SqlDataSchema.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlDataSchema.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/calcite/SqlDataSchema.java index 2c01d4adf..68651ae7e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlDataSchema.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/calcite/SqlDataSchema.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.calcite; +package org.apache.baremaps.data.calcite; import com.google.common.collect.ImmutableMap; import java.util.Map; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlDataTable.java b/baremaps-data/src/main/java/org/apache/baremaps/data/calcite/SqlDataTable.java similarity index 85% rename from baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlDataTable.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/calcite/SqlDataTable.java index 133ec26e3..caafd45c4 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlDataTable.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/calcite/SqlDataTable.java @@ -15,12 +15,12 @@ * limitations under the License. */ -package org.apache.baremaps.database.calcite; +package org.apache.baremaps.data.calcite; -import org.apache.baremaps.database.collection.DataCollection; -import org.apache.baremaps.database.collection.DataCollectionMapper; -import org.apache.baremaps.database.schema.DataColumn; -import org.apache.baremaps.database.schema.DataTable; +import org.apache.baremaps.data.collection.DataCollection; +import org.apache.baremaps.data.collection.DataCollectionMapper; +import org.apache.baremaps.data.schema.DataColumn; +import org.apache.baremaps.data.schema.DataTable; import org.apache.calcite.DataContext; import org.apache.calcite.linq4j.Enumerable; import org.apache.calcite.linq4j.Linq4j; @@ -32,7 +32,7 @@ /** * A simple table based on a list. */ -class SqlDataTable extends AbstractTable implements ScannableTable { +public class SqlDataTable extends AbstractTable implements ScannableTable { private final DataTable table; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlTypeConversion.java b/baremaps-data/src/main/java/org/apache/baremaps/data/calcite/SqlTypeConversion.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlTypeConversion.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/calcite/SqlTypeConversion.java index 28dbc075a..755721b87 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/calcite/SqlTypeConversion.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/calcite/SqlTypeConversion.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.database.calcite; +package org.apache.baremaps.data.calcite; import java.util.EnumMap; -import org.apache.baremaps.database.schema.DataColumn.Type; +import org.apache.baremaps.data.schema.DataColumn.Type; import org.apache.calcite.jdbc.JavaTypeFactoryImpl; import org.apache.calcite.rel.type.RelDataType; import org.apache.calcite.sql.type.SqlTypeName; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/AppendOnlyLog.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/AppendOnlyLog.java index b1b525fbb..23e1777f9 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/AppendOnlyLog.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/AppendOnlyLog.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; @@ -25,9 +25,9 @@ import java.util.NoSuchElementException; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import org.apache.baremaps.database.memory.Memory; -import org.apache.baremaps.database.memory.OffHeapMemory; -import org.apache.baremaps.database.type.DataType; +import org.apache.baremaps.data.memory.Memory; +import org.apache.baremaps.data.memory.OffHeapMemory; +import org.apache.baremaps.data.type.DataType; /** * A log of records backed by a {@link DataType} and a {@link Memory}. Elements are appended to the diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java index 5452153f9..eefa64402 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollection.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; import java.util.*; import java.util.stream.Stream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionException.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollectionException.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionException.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollectionException.java index 5e5b835e1..a4300ccf8 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionException.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollectionException.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; /** Signals that an exception occurred in a store. */ public class DataCollectionException extends RuntimeException { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionMapper.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollectionMapper.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionMapper.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollectionMapper.java index 42fc3bc5e..970407919 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataCollectionMapper.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollectionMapper.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; import java.util.Iterator; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataConversions.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataConversions.java index 4a802ae7e..213951227 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataConversions.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataConversions.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; import java.util.*; import java.util.Map.Entry; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataList.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataList.java index f6bc4a87b..d7e8d5889 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataList.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataList.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java index edc2d2ca8..cc5ba8854 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/DataMap.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; import java.util.Iterator; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java similarity index 93% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java index 44d6fba66..bfbbaece1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/FixedSizeDataList.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java @@ -15,15 +15,15 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; import java.nio.ByteBuffer; import java.util.concurrent.atomic.AtomicLong; -import org.apache.baremaps.database.memory.Memory; -import org.apache.baremaps.database.memory.OffHeapMemory; -import org.apache.baremaps.database.type.FixedSizeDataType; +import org.apache.baremaps.data.memory.Memory; +import org.apache.baremaps.data.memory.OffHeapMemory; +import org.apache.baremaps.data.type.FixedSizeDataType; /** * A {@link DataList} that can hold a large number of fixed size data elements. This data list is diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/IndexedDataList.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/IndexedDataList.java index f2d8952fd..dbe7e555d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataList.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/IndexedDataList.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; -import org.apache.baremaps.database.type.LongDataType; +import org.apache.baremaps.data.type.LongDataType; /** * A data list that can hold a large number of variable size data elements. This data list is backed diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/IndexedDataMap.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/IndexedDataMap.java index 2a8429b6b..f1c6d546f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/IndexedDataMap.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/IndexedDataMap.java @@ -15,12 +15,12 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; import com.google.common.collect.Streams; -import it.unimi.dsi.fastutil.longs.Long2LongOpenHashMap; +import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; @@ -43,7 +43,7 @@ public class IndexedDataMap implements DataMap { * @param values the values */ public IndexedDataMap(AppendOnlyLog values) { - this(new Long2LongOpenHashMap(), values); + this(new HashMap<>(), values); } /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataList.java similarity index 94% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataList.java index 634e743bc..1d59156ae 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataList.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataList.java @@ -15,16 +15,16 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; import java.io.IOException; import java.nio.ByteBuffer; import java.util.concurrent.atomic.AtomicLong; -import org.apache.baremaps.database.memory.Memory; -import org.apache.baremaps.database.memory.OffHeapMemory; -import org.apache.baremaps.database.type.FixedSizeDataType; +import org.apache.baremaps.data.memory.Memory; +import org.apache.baremaps.data.memory.OffHeapMemory; +import org.apache.baremaps.data.type.FixedSizeDataType; /** * A {@link DataList} that can hold a large number of fixed-size memory-aligned data elements. This diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataMap.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataMap.java index 1c70e9bc7..e6f2f9f91 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MemoryAlignedDataMap.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataMap.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; @@ -24,8 +24,8 @@ import java.util.Map; import java.util.Map.Entry; import java.util.NoSuchElementException; -import org.apache.baremaps.database.memory.Memory; -import org.apache.baremaps.database.type.FixedSizeDataType; +import org.apache.baremaps.data.memory.Memory; +import org.apache.baremaps.data.type.FixedSizeDataType; /** * A {@link DataMap} that can hold a large number of fixed-size memory-aligned data elements. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicDataMap.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicDataMap.java index 35422be0e..6a5b44674 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicDataMap.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicDataMap.java @@ -15,16 +15,16 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; -import org.apache.baremaps.database.type.LongDataType; -import org.apache.baremaps.database.type.PairDataType; -import org.apache.baremaps.database.type.PairDataType.Pair; +import org.apache.baremaps.data.type.LongDataType; +import org.apache.baremaps.data.type.PairDataType; +import org.apache.baremaps.data.type.PairDataType.Pair; /** * A {@link DataMap} that can hold a large number of variable-size data elements. The elements must diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicFixedSizeDataMap.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicFixedSizeDataMap.java index fd979021e..22625504b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicFixedSizeDataMap.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicFixedSizeDataMap.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; @@ -23,7 +23,7 @@ import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; -import org.apache.baremaps.database.type.LongDataType; +import org.apache.baremaps.data.type.LongDataType; /** * A {@link DataMap} that can hold a large number of fixed-size data elements. The elements must be diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicPairedDataMap.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicPairedDataMap.java index 589a48663..1912acf3f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/collection/MonotonicPairedDataMap.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MonotonicPairedDataMap.java @@ -15,15 +15,15 @@ * limitations under the License. */ -package org.apache.baremaps.database.collection; +package org.apache.baremaps.data.collection; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; -import org.apache.baremaps.database.type.LongDataType; -import org.apache.baremaps.database.type.PairDataType.Pair; +import org.apache.baremaps.data.type.LongDataType; +import org.apache.baremaps.data.type.PairDataType.Pair; /** * A {@link DataMap} that can hold a large number of variable-size data elements. The elements must diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/Memory.java b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/Memory.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/memory/Memory.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/memory/Memory.java index 4e1eb0c67..d0a2580bf 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/Memory.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/Memory.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.memory; +package org.apache.baremaps.data.memory; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryException.java b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/MemoryException.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryException.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/memory/MemoryException.java index 350bb561b..3a4cbb6e0 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryException.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/MemoryException.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.memory; +package org.apache.baremaps.data.memory; /** Signals that an exception occurred in a memory. */ public class MemoryException extends RuntimeException { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedDirectory.java b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/MemoryMappedDirectory.java similarity index 94% rename from baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedDirectory.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/memory/MemoryMappedDirectory.java index 0acba61f1..82d2e0af7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedDirectory.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/MemoryMappedDirectory.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.memory; +package org.apache.baremaps.data.memory; @@ -25,8 +25,9 @@ import java.nio.channels.FileChannel.MapMode; import java.nio.file.Path; import java.nio.file.StandardOpenOption; -import org.apache.baremaps.utils.FileUtils; -import org.apache.baremaps.utils.MappedByteBufferUtils; +import org.apache.baremaps.data.util.FileUtils; +import org.apache.baremaps.data.util.MappedByteBufferUtils; + /** * A {@link Memory} that stores segments on-disk using mapped byte buffers in a directory of files. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedFile.java b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/MemoryMappedFile.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedFile.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/memory/MemoryMappedFile.java index 02a378e4f..5db613d34 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/MemoryMappedFile.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/MemoryMappedFile.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.memory; +package org.apache.baremaps.data.memory; @@ -26,7 +26,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.StandardOpenOption; -import org.apache.baremaps.utils.MappedByteBufferUtils; +import org.apache.baremaps.data.util.MappedByteBufferUtils; /** A {@link Memory} that stores segments on-disk using mapped byte buffers in a file. */ public class MemoryMappedFile extends Memory { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OffHeapMemory.java b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/OffHeapMemory.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/memory/OffHeapMemory.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/memory/OffHeapMemory.java index d4f15f4d1..f95f03b51 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OffHeapMemory.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/OffHeapMemory.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.memory; +package org.apache.baremaps.data.memory; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OnHeapMemory.java b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/OnHeapMemory.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/memory/OnHeapMemory.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/memory/OnHeapMemory.java index fac306367..4b0fff757 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/memory/OnHeapMemory.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/memory/OnHeapMemory.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.memory; +package org.apache.baremaps.data.memory; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataColumn.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataColumn.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataColumn.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataColumn.java index 7896cc205..aa157347f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataColumn.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataColumn.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; import java.net.Inet4Address; import java.net.Inet6Address; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataColumnImpl.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataColumnImpl.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataColumnImpl.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataColumnImpl.java index 6eec18cbb..13cccff12 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataColumnImpl.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataColumnImpl.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; /** * A column in a table. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRow.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRow.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRow.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRow.java index 187a416df..0cce0e41e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRow.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRow.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; import java.util.List; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRowImpl.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRowImpl.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRowImpl.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRowImpl.java index 78f9ce8c9..c45531a45 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRowImpl.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRowImpl.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; import java.util.List; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRowType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRowType.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRowType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRowType.java index 98d27baa5..aa9ce058b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRowType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRowType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; import java.util.List; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRowTypeImpl.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRowTypeImpl.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRowTypeImpl.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRowTypeImpl.java index 00fb3e8e1..6ebfda5bf 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataRowTypeImpl.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataRowTypeImpl.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; import java.util.ArrayList; import java.util.List; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataSchema.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataSchema.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataSchema.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataSchema.java index 7c6bfff0c..0a6b117bd 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataSchema.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataSchema.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; import java.util.Collection; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTable.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTable.java similarity index 90% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTable.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTable.java index 401d27f87..e8789420a 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTable.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTable.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; -import org.apache.baremaps.database.collection.DataCollection; +import org.apache.baremaps.data.collection.DataCollection; /** * A table is a collection of rows respecting a row type. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableAdapter.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableAdapter.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableAdapter.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableAdapter.java index 7b248f562..61ea2dfa5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableAdapter.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableAdapter.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; import java.util.Iterator; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableException.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableException.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableException.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableException.java index 96ff3d074..cbd190097 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableException.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableException.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; /** Signals that an exception occurred in a table. */ public class DataTableException extends RuntimeException { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableGeometryTransformer.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableGeometryTransformer.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableGeometryTransformer.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableGeometryTransformer.java index 893bf424c..0f2db39f5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableGeometryTransformer.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableGeometryTransformer.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; import java.util.function.Function; import org.locationtech.jts.geom.Geometry; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableImpl.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableImpl.java similarity index 94% rename from baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableImpl.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableImpl.java index e0fd6c5f8..d21d8a3d1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/schema/DataTableImpl.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableImpl.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.database.schema; +package org.apache.baremaps.data.schema; import java.util.Iterator; -import org.apache.baremaps.database.collection.DataCollection; +import org.apache.baremaps.data.collection.DataCollection; /** * A table is a collection of rows respecting a row type. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanArrayDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/BooleanArrayDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanArrayDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/BooleanArrayDataType.java index 1309a99bd..328a483e0 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanArrayDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/BooleanArrayDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/BooleanDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/BooleanDataType.java index 287496442..feb04b671 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/BooleanDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanListDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/BooleanListDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanListDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/BooleanListDataType.java index dd52ecc15..0368a67a1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/BooleanListDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/BooleanListDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteArrayDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ByteArrayDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteArrayDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/ByteArrayDataType.java index 3724a7506..c1210dcb1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteArrayDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ByteArrayDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ByteDataType.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/ByteDataType.java index fb196d77f..1c14bd945 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ByteDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteListDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ByteListDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteListDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/ByteListDataType.java index 33ac5355e..8ed14b208 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ByteListDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ByteListDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/DataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/DataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/DataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/DataType.java index 6f18c748a..281cc794b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/DataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/DataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleArrayDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/DoubleArrayDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleArrayDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/DoubleArrayDataType.java index 4765b8392..ecd83f681 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleArrayDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/DoubleArrayDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/DoubleDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/DoubleDataType.java index 168b6e63e..030b36c63 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/DoubleDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleListDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/DoubleListDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleListDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/DoubleListDataType.java index 7b6ee1c69..16e1133d6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/DoubleListDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/DoubleListDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/FixedSizeDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/FixedSizeDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/FixedSizeDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/FixedSizeDataType.java index 6ef3fe65d..3aeedcf22 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/FixedSizeDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/FixedSizeDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatArrayDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/FloatArrayDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatArrayDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/FloatArrayDataType.java index 7a55af96f..a970f8f0d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatArrayDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/FloatArrayDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/FloatDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/FloatDataType.java index da81c38e0..660a21bd5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/FloatDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatListDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/FloatListDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatListDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/FloatListDataType.java index 2cf702c69..3f11fc5ba 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/FloatListDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/FloatListDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerArrayDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/IntegerArrayDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerArrayDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/IntegerArrayDataType.java index 448fde126..f66bb2255 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerArrayDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/IntegerArrayDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/IntegerDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/IntegerDataType.java index f558dc798..7fdfd23e8 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/IntegerDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerListDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/IntegerListDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerListDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/IntegerListDataType.java index 33786e3ef..35b7e813e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/IntegerListDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/IntegerListDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ListDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ListDataType.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/ListDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/ListDataType.java index 64f12b141..0c0d9c819 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ListDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ListDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/LonLatDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/LonLatDataType.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/LonLatDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/LonLatDataType.java index 77367b96c..939e6e8a1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/LonLatDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/LonLatDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongArrayDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/LongArrayDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/LongArrayDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/LongArrayDataType.java index bc7e8b006..d426b3aa6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongArrayDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/LongArrayDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/LongDataType.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/LongDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/LongDataType.java index f5c2a775e..ddff6d3e7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/LongDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongListDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/LongListDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/LongListDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/LongListDataType.java index 893392ffa..df8af2146 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/LongListDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/LongListDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/MapDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MapDataType.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/MapDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/MapDataType.java index a6c64184d..82fda0bb8 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/MapDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MapDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; import java.util.HashMap; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/MemoryAlignedDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MemoryAlignedDataType.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/MemoryAlignedDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/MemoryAlignedDataType.java index 44c1a9259..8c237bc91 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/MemoryAlignedDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MemoryAlignedDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/NullableDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/NullableDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/NullableDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/NullableDataType.java index 219648bd3..1a70d6d1e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/NullableDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/NullableDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/PairDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/PairDataType.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/PairDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/PairDataType.java index 1579f3a3b..4f6bc37c5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/PairDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/PairDataType.java @@ -15,13 +15,13 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; import java.util.Objects; -import org.apache.baremaps.database.type.PairDataType.Pair; +import org.apache.baremaps.data.type.PairDataType.Pair; /** A {@link DataType} for reading and writing pairs of values in {@link ByteBuffer}s. */ public class PairDataType extends FixedSizeDataType> { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/RowDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java similarity index 90% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/RowDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java index 75f92a894..3303ea313 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/RowDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java @@ -15,17 +15,17 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.EnumMap; -import org.apache.baremaps.database.schema.DataColumn; -import org.apache.baremaps.database.schema.DataColumn.Type; -import org.apache.baremaps.database.schema.DataRow; -import org.apache.baremaps.database.schema.DataRowImpl; -import org.apache.baremaps.database.schema.DataRowType; -import org.apache.baremaps.database.type.geometry.*; +import org.apache.baremaps.data.schema.DataColumn; +import org.apache.baremaps.data.schema.DataColumn.Type; +import org.apache.baremaps.data.schema.DataRow; +import org.apache.baremaps.data.schema.DataRowImpl; +import org.apache.baremaps.data.schema.DataRowType; +import org.apache.baremaps.data.type.geometry.*; public class RowDataType implements DataType { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortArrayDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ShortArrayDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortArrayDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/ShortArrayDataType.java index c00cb0f10..a45bb37bd 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortArrayDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ShortArrayDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ShortDataType.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/ShortDataType.java index 99b0f8a3a..02ca4d1d3 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ShortDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortListDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ShortListDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortListDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/ShortListDataType.java index 15a3dbacb..1f99d24a7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/ShortListDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/ShortListDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallIntegerDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/SmallIntegerDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallIntegerDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/SmallIntegerDataType.java index 2b628decb..97e670620 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallIntegerDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/SmallIntegerDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallLongDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/SmallLongDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallLongDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/SmallLongDataType.java index bde591d21..2e7812f04 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/SmallLongDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/SmallLongDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/StringDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/StringDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/StringDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/StringDataType.java index d322ceb97..a3eb253ad 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/StringDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/StringDataType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateArrayDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateArrayDataType.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateArrayDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateArrayDataType.java index 0e3039373..2c0528f75 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateArrayDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateArrayDataType.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; -import org.apache.baremaps.database.type.DataType; +import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.Coordinate; /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateDataType.java similarity index 90% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateDataType.java index 7ad7760b9..edfc2ad59 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/CoordinateDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateDataType.java @@ -15,13 +15,13 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; -import org.apache.baremaps.database.type.DataType; -import org.apache.baremaps.database.type.MemoryAlignedDataType; +import org.apache.baremaps.data.type.DataType; +import org.apache.baremaps.data.type.MemoryAlignedDataType; import org.locationtech.jts.geom.Coordinate; /** A {@link DataType} for reading and writing {@link Coordinate}s in {@link ByteBuffer}s. */ diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryCollectionDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryCollectionDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryCollectionDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryCollectionDataType.java index 2e3956076..b805129ce 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryCollectionDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryCollectionDataType.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; import java.util.ArrayList; -import org.apache.baremaps.database.type.DataType; +import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.GeometryCollection; import org.locationtech.jts.geom.GeometryFactory; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryDataType.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryDataType.java index d0a8c714a..4d6eed1cc 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryDataType.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; -import org.apache.baremaps.database.type.DataType; +import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.*; /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LineStringDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LineStringDataType.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LineStringDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LineStringDataType.java index 8a0fbf1c9..82a59e800 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LineStringDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LineStringDataType.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; -import org.apache.baremaps.database.type.DataType; +import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.LineString; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LonLatDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LonLatDataType.java similarity index 93% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LonLatDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LonLatDataType.java index 4004e72df..ecd5ea1b7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/LonLatDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LonLatDataType.java @@ -15,13 +15,13 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; -import org.apache.baremaps.database.type.DataType; -import org.apache.baremaps.database.type.MemoryAlignedDataType; +import org.apache.baremaps.data.type.DataType; +import org.apache.baremaps.data.type.MemoryAlignedDataType; import org.locationtech.jts.geom.Coordinate; /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiLineStringDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiLineStringDataType.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiLineStringDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiLineStringDataType.java index 88f5494ff..05546494e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiLineStringDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiLineStringDataType.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; import java.util.ArrayList; -import org.apache.baremaps.database.type.DataType; +import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.LineString; import org.locationtech.jts.geom.MultiLineString; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPointDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPointDataType.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPointDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPointDataType.java index 97c67c214..dfb1601fd 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPointDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPointDataType.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; -import org.apache.baremaps.database.type.DataType; +import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.MultiPoint; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPolygonDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPolygonDataType.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPolygonDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPolygonDataType.java index 229c7fa30..5ec35d407 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/MultiPolygonDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPolygonDataType.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; import java.util.ArrayList; -import org.apache.baremaps.database.type.DataType; +import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.*; /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PointDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PointDataType.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PointDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PointDataType.java index 8cde20252..1bbd90840 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PointDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PointDataType.java @@ -15,10 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; -import org.apache.baremaps.database.type.DataType; +import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.Point; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PolygonDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PolygonDataType.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PolygonDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PolygonDataType.java index aae93f3a9..642410801 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/PolygonDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PolygonDataType.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; import java.nio.ByteBuffer; import java.util.ArrayList; -import org.apache.baremaps.database.type.DataType; +import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.LineString; import org.locationtech.jts.geom.LinearRing; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/WKBDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/WKBDataType.java similarity index 57% rename from baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/WKBDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/WKBDataType.java index 06078d432..f6cab6a5e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/WKBDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/WKBDataType.java @@ -15,14 +15,20 @@ * limitations under the License. */ -package org.apache.baremaps.database.type.geometry; +package org.apache.baremaps.data.type.geometry; +import static org.locationtech.jts.io.WKBConstants.wkbNDR; + import java.nio.ByteBuffer; -import org.apache.baremaps.database.type.DataType; -import org.apache.baremaps.openstreetmap.utils.GeometryUtils; +import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.Geometry; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.geom.PrecisionModel; +import org.locationtech.jts.io.ParseException; +import org.locationtech.jts.io.WKBReader; +import org.locationtech.jts.io.WKBWriter; /** A {@link DataType} for reading and writing {@link Geometry} in {@link ByteBuffer}s. */ public class WKBDataType implements DataType { @@ -30,7 +36,7 @@ public class WKBDataType implements DataType { /** {@inheritDoc} */ @Override public int size(final Geometry value) { - byte[] bytes = GeometryUtils.serialize(value); + byte[] bytes = serialize(value); return Integer.BYTES + bytes.length; } @@ -43,7 +49,7 @@ public int size(final ByteBuffer buffer, final int position) { /** {@inheritDoc} */ @Override public void write(final ByteBuffer buffer, final int position, final Geometry value) { - byte[] bytes = GeometryUtils.serialize(value); + byte[] bytes = serialize(value); buffer.putInt(position, Integer.BYTES + bytes.length); buffer.put(position + Integer.BYTES, bytes); } @@ -54,6 +60,41 @@ public Geometry read(final ByteBuffer buffer, final int position) { int size = buffer.getInt(position); byte[] bytes = new byte[Math.max(size - Integer.BYTES, 0)]; buffer.get(position + Integer.BYTES, bytes); - return GeometryUtils.deserialize(bytes); + return deserialize(bytes); + } + + public static final GeometryFactory GEOMETRY_FACTORY_WGS84 = + new GeometryFactory(new PrecisionModel(), 4326); + + /** + * Serializes a geometry in the WKB format. + * + * @param geometry + * @return + */ + private static byte[] serialize(Geometry geometry) { + if (geometry == null) { + return null; + } + WKBWriter writer = new WKBWriter(2, wkbNDR, true); + return writer.write(geometry); + } + + /** + * Deserializes a geometry in the WKB format. + * + * @param wkb + * @return + */ + private static Geometry deserialize(byte[] wkb) { + if (wkb == null) { + return null; + } + try { + WKBReader reader = new WKBReader(new GeometryFactory()); + return reader.read(wkb); + } catch (ParseException e) { + throw new IllegalArgumentException(e); + } } } diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/util/FileUtils.java b/baremaps-data/src/main/java/org/apache/baremaps/data/util/FileUtils.java new file mode 100644 index 000000000..d730816ed --- /dev/null +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/util/FileUtils.java @@ -0,0 +1,36 @@ +/* + * 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.baremaps.data.util; + + + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Comparator; +import java.util.stream.Stream; + +public class FileUtils { + + public static void deleteRecursively(Path path) throws IOException { + try (Stream files = Files.walk(path)) { + files.sorted(Comparator.reverseOrder()).map(Path::toFile).forEach(File::delete); + } + } +} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/utils/MappedByteBufferUtils.java b/baremaps-data/src/main/java/org/apache/baremaps/data/util/MappedByteBufferUtils.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/utils/MappedByteBufferUtils.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/util/MappedByteBufferUtils.java index 95bfb75f4..bff1e03f1 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/utils/MappedByteBufferUtils.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/util/MappedByteBufferUtils.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.utils; +package org.apache.baremaps.data.util; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/AppendOnlyLogTest.java similarity index 89% rename from baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/AppendOnlyLogTest.java index d651a9db1..96de22641 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/AppendOnlyLogTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/AppendOnlyLogTest.java @@ -15,18 +15,18 @@ * limitations under the License. */ -package org.apache.baremaps.database; +package org.apache.baremaps.data; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.ArrayList; import java.util.Random; -import org.apache.baremaps.database.collection.AppendOnlyLog; -import org.apache.baremaps.database.memory.OffHeapMemory; -import org.apache.baremaps.database.type.DataType; -import org.apache.baremaps.database.type.IntegerDataType; -import org.apache.baremaps.database.type.IntegerListDataType; +import org.apache.baremaps.data.collection.AppendOnlyLog; +import org.apache.baremaps.data.memory.OffHeapMemory; +import org.apache.baremaps.data.type.DataType; +import org.apache.baremaps.data.type.IntegerDataType; +import org.apache.baremaps.data.type.IntegerListDataType; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; @@ -66,7 +66,7 @@ void addVariableSizeValues() { } @ParameterizedTest - @MethodSource("org.apache.baremaps.database.type.DataTypeProvider#dataTypes") + @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)); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/DataListTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/DataListTest.java similarity index 94% rename from baremaps-core/src/test/java/org/apache/baremaps/database/DataListTest.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/DataListTest.java index 45c8339dc..63c1c21a2 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/DataListTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/DataListTest.java @@ -15,13 +15,13 @@ * limitations under the License. */ -package org.apache.baremaps.database; +package org.apache.baremaps.data; import static org.junit.jupiter.api.Assertions.*; import java.util.stream.Stream; -import org.apache.baremaps.database.collection.*; -import org.apache.baremaps.database.type.LongDataType; +import org.apache.baremaps.data.collection.*; +import org.apache.baremaps.data.type.LongDataType; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java similarity index 95% rename from baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java index 0f26cb7bd..f62c79520 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/DataMapTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/DataMapTest.java @@ -15,17 +15,17 @@ * limitations under the License. */ -package org.apache.baremaps.database; +package org.apache.baremaps.data; import static org.junit.jupiter.api.Assertions.*; import java.util.*; import java.util.Map.Entry; import java.util.stream.Stream; -import org.apache.baremaps.database.collection.*; -import org.apache.baremaps.database.memory.OffHeapMemory; -import org.apache.baremaps.database.type.LongDataType; -import org.apache.baremaps.database.type.PairDataType; +import org.apache.baremaps.data.collection.*; +import org.apache.baremaps.data.memory.OffHeapMemory; +import org.apache.baremaps.data.type.LongDataType; +import org.apache.baremaps.data.type.PairDataType; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/SizedDataListTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/SizedDataListTest.java similarity index 80% rename from baremaps-core/src/test/java/org/apache/baremaps/database/SizedDataListTest.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/SizedDataListTest.java index 8d04c2f1b..f7ec72652 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/SizedDataListTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/SizedDataListTest.java @@ -15,17 +15,17 @@ * limitations under the License. */ -package org.apache.baremaps.database; +package org.apache.baremaps.data; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import java.io.IOException; -import org.apache.baremaps.database.collection.DataCollectionException; -import org.apache.baremaps.database.collection.FixedSizeDataList; -import org.apache.baremaps.database.memory.Memory; -import org.apache.baremaps.database.memory.OffHeapMemory; -import org.apache.baremaps.database.type.LongDataType; +import org.apache.baremaps.data.collection.DataCollectionException; +import org.apache.baremaps.data.collection.FixedSizeDataList; +import org.apache.baremaps.data.memory.Memory; +import org.apache.baremaps.data.memory.OffHeapMemory; +import org.apache.baremaps.data.type.LongDataType; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; @@ -40,7 +40,7 @@ void segmentsTooSmall() { } @ParameterizedTest - @MethodSource("org.apache.baremaps.database.memory.MemoryProvider#memories") + @MethodSource("org.apache.baremaps.data.memory.MemoryProvider#memories") void appendFixedSizeValues(Memory memory) throws IOException { var list = new FixedSizeDataList<>(new LongDataType(), memory); for (int i = 0; i < 1 << 10; i++) { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/algorithm/UnionStreamTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/algorithm/UnionStreamTest.java similarity index 93% rename from baremaps-core/src/test/java/org/apache/baremaps/database/algorithm/UnionStreamTest.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/algorithm/UnionStreamTest.java index 1269bb5b9..d31c9c081 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/algorithm/UnionStreamTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/algorithm/UnionStreamTest.java @@ -15,13 +15,13 @@ * limitations under the License. */ -package org.apache.baremaps.database.algorithm; +package org.apache.baremaps.data.algorithm; import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.List; -import org.apache.baremaps.database.collection.DataConversions; -import org.apache.baremaps.database.collection.DataList; +import org.apache.baremaps.data.collection.DataConversions; +import org.apache.baremaps.data.collection.DataList; import org.junit.jupiter.api.Test; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Geometry; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryProvider.java b/baremaps-data/src/test/java/org/apache/baremaps/data/memory/MemoryProvider.java similarity index 97% rename from baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryProvider.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/memory/MemoryProvider.java index d6445e8f7..036a74504 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryProvider.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/memory/MemoryProvider.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.memory; +package org.apache.baremaps.data.memory; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/memory/MemoryTest.java similarity index 85% rename from baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryTest.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/memory/MemoryTest.java index a6998c6c5..c057b3494 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/memory/MemoryTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/memory/MemoryTest.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.baremaps.database.memory; +package org.apache.baremaps.data.memory; -import static org.apache.baremaps.database.memory.MemoryProvider.SEGMENT_BYTES; +import static org.apache.baremaps.data.memory.MemoryProvider.SEGMENT_BYTES; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertSame; @@ -31,7 +31,7 @@ class MemoryTest { private static final int SEGMENT_NUMBER = 10; @ParameterizedTest - @MethodSource("org.apache.baremaps.database.memory.MemoryProvider#memories") + @MethodSource("org.apache.baremaps.data.memory.MemoryProvider#memories") void capacity(Memory memory) throws IOException { assertEquals(SEGMENT_BYTES, memory.segmentSize()); memory.close(); @@ -39,7 +39,7 @@ void capacity(Memory memory) throws IOException { } @ParameterizedTest - @MethodSource("org.apache.baremaps.database.memory.MemoryProvider#memories") + @MethodSource("org.apache.baremaps.data.memory.MemoryProvider#memories") void segment(Memory memory) throws IOException { for (int i = 0; i < SEGMENT_NUMBER; i++) { assertEquals(SEGMENT_BYTES, memory.segment(i).capacity()); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/sort/BinarySearchTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/sort/BinarySearchTest.java similarity index 83% rename from baremaps-core/src/test/java/org/apache/baremaps/database/sort/BinarySearchTest.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/sort/BinarySearchTest.java index db3cb58e1..3182d5b36 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/sort/BinarySearchTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/sort/BinarySearchTest.java @@ -15,13 +15,13 @@ * limitations under the License. */ -package org.apache.baremaps.database.sort; +package org.apache.baremaps.data.sort; import static org.junit.jupiter.api.Assertions.*; -import org.apache.baremaps.database.algorithm.BinarySearch; -import org.apache.baremaps.database.collection.MemoryAlignedDataList; -import org.apache.baremaps.database.type.LongDataType; +import org.apache.baremaps.data.algorithm.BinarySearch; +import org.apache.baremaps.data.collection.MemoryAlignedDataList; +import org.apache.baremaps.data.type.LongDataType; import org.junit.jupiter.api.Test; class BinarySearchTest { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/sort/ExternalMergeSortTest.java similarity index 87% rename from baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/sort/ExternalMergeSortTest.java index c8a290692..5ee07c44c 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/sort/ExternalMergeSortTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/sort/ExternalMergeSortTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.sort; +package org.apache.baremaps.data.sort; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -26,14 +26,14 @@ import java.util.List; import java.util.Random; import java.util.function.Supplier; -import org.apache.baremaps.database.algorithm.ExternalMergeSort; -import org.apache.baremaps.database.collection.AppendOnlyLog; -import org.apache.baremaps.database.collection.DataList; -import org.apache.baremaps.database.collection.IndexedDataList; -import org.apache.baremaps.database.collection.MemoryAlignedDataList; -import org.apache.baremaps.database.memory.OnHeapMemory; -import org.apache.baremaps.database.type.LongDataType; -import org.apache.baremaps.database.type.StringDataType; +import org.apache.baremaps.data.algorithm.ExternalMergeSort; +import org.apache.baremaps.data.collection.AppendOnlyLog; +import org.apache.baremaps.data.collection.DataList; +import org.apache.baremaps.data.collection.IndexedDataList; +import org.apache.baremaps.data.collection.MemoryAlignedDataList; +import org.apache.baremaps.data.memory.OnHeapMemory; +import org.apache.baremaps.data.type.LongDataType; +import org.apache.baremaps.data.type.StringDataType; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeProvider.java b/baremaps-data/src/test/java/org/apache/baremaps/data/type/DataTypeProvider.java similarity index 97% rename from baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeProvider.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/type/DataTypeProvider.java index 341e42b54..f97f1c0af 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeProvider.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/type/DataTypeProvider.java @@ -15,17 +15,17 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; import java.util.List; import java.util.Map; import java.util.stream.Stream; -import org.apache.baremaps.database.schema.*; -import org.apache.baremaps.database.schema.DataColumn.Type; -import org.apache.baremaps.database.schema.DataRowType; -import org.apache.baremaps.database.schema.DataRowTypeImpl; -import org.apache.baremaps.database.type.geometry.*; +import org.apache.baremaps.data.schema.*; +import org.apache.baremaps.data.schema.DataColumn.Type; +import org.apache.baremaps.data.schema.DataRowType; +import org.apache.baremaps.data.schema.DataRowTypeImpl; +import org.apache.baremaps.data.type.geometry.*; import org.junit.jupiter.params.provider.Arguments; import org.locationtech.jts.geom.*; @@ -192,7 +192,7 @@ private static Stream dataTypes() { Arguments.of(new CoordinateDataType(), new Coordinate(-180, -90)), Arguments.of(new CoordinateDataType(), new Coordinate(180, 90)), - Arguments.of(new LonLatDataType(), new Coordinate(-180, -90)), + Arguments.of(new org.apache.baremaps.data.type.LonLatDataType(), new Coordinate(-180, -90)), Arguments.of(new LonLatDataType(), new Coordinate(180, 90)), Arguments.of(new SmallIntegerDataType(1), (int) Math.pow(2, 7) - 1), Arguments.of(new SmallIntegerDataType(1), (int) -Math.pow(2, 7)), diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/type/DataTypeTest.java similarity index 94% rename from baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeTest.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/type/DataTypeTest.java index 675859ef0..fef83a883 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/type/DataTypeTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/type/DataTypeTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -27,7 +27,7 @@ class DataTypeTest { @ParameterizedTest - @MethodSource("org.apache.baremaps.database.type.DataTypeProvider#dataTypes") + @MethodSource("org.apache.baremaps.data.type.DataTypeProvider#dataTypes") void writeAndRead(DataType dataType, Object value) { var size = dataType.size(value); var buffer = ByteBuffer.allocate(size); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/type/LonLatDataTypeTest.java b/baremaps-data/src/test/java/org/apache/baremaps/data/type/LonLatDataTypeTest.java similarity index 96% rename from baremaps-core/src/test/java/org/apache/baremaps/database/type/LonLatDataTypeTest.java rename to baremaps-data/src/test/java/org/apache/baremaps/data/type/LonLatDataTypeTest.java index 5959563f5..9eb460b97 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/type/LonLatDataTypeTest.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/type/LonLatDataTypeTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.type; +package org.apache.baremaps.data.type; import static org.junit.jupiter.api.Assertions.*; diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java index ef72d712a..b1f4ea35d 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java @@ -18,7 +18,6 @@ package org.apache.baremaps.openstreetmap; - import java.io.IOException; import java.io.InputStream; import java.util.stream.Stream; @@ -26,4 +25,5 @@ public interface OsmReader { Stream stream(InputStream inputStream) throws IOException; + } diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReaders.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReaders.java deleted file mode 100644 index b733dae44..000000000 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReaders.java +++ /dev/null @@ -1,50 +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.baremaps.openstreetmap; - - - -import org.apache.baremaps.openstreetmap.pbf.PbfBlockReader; -import org.apache.baremaps.openstreetmap.pbf.PbfEntityReader; -import org.apache.baremaps.openstreetmap.state.StateReader; -import org.apache.baremaps.openstreetmap.xml.XmlChangeReader; -import org.apache.baremaps.openstreetmap.xml.XmlEntityReader; - -/** Utility methods for creating OpenStreetMap parsers. */ -public class OsmReaders { - - public static StateReader state() { - return new StateReader(); - } - - public static PbfBlockReader pbf() { - return new PbfBlockReader(); - } - - public static PbfEntityReader entities() { - return new PbfEntityReader(); - } - - public static XmlEntityReader xml() { - return new XmlEntityReader(); - } - - public static XmlChangeReader change() { - return new XmlChangeReader(); - } -} diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java index 13ac06f0b..56a047ae3 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java @@ -45,27 +45,23 @@ public int buffer() { return buffer; } - @Override public PbfBlockReader buffer(int buffer) { this.buffer = buffer; return this; } - @Override public boolean geometries() { return geometry; } - @Override public PbfBlockReader geometries(boolean geometries) { this.geometry = geometries; return this; } - @Override public int projection() { return srid; @@ -118,7 +114,6 @@ public Stream stream(InputStream inputStream) { // Initialize the block mapper var blockMapper = ConsumerUtils.consumeThenReturn(new BlockEntitiesHandler(entityHandler)); - blocks = blocks.map(blockMapper); } return blocks; diff --git a/pom.xml b/pom.xml index 3d8e3bae4..b46fce951 100644 --- a/pom.xml +++ b/pom.xml @@ -51,6 +51,7 @@ limitations under the License. baremaps-cli baremaps-core + baremaps-data baremaps-openstreetmap baremaps-server baremaps-testing @@ -225,6 +226,11 @@ limitations under the License. baremaps-core ${project.parent.version} + + org.apache.baremaps + baremaps-data + ${project.parent.version} + org.apache.baremaps baremaps-openstreetmap From 54a48e29fef43d66743577fc809aa455825cec32 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Thu, 16 May 2024 01:03:42 +0200 Subject: [PATCH 08/19] Move maplibre related classes in dedicated module --- .../java/org/apache/baremaps/cli/map/Dev.java | 4 +- .../org/apache/baremaps/cli/map/Init.java | 6 +- .../org/apache/baremaps/cli/map/MBTiles.java | 4 +- .../org/apache/baremaps/cli/map/Serve.java | 6 +- baremaps-core/pom.xml | 4 + .../tilestore/pmtiles/PMTilesStore.java | 2 +- .../postgres/PostgresQueryGenerator.java | 2 +- .../tilestore/postgres/PostgresTileStore.java | 2 +- .../baremaps/utils/ObjectMapperUtils.java | 2 +- .../apache/baremaps/utils/PostgresUtils.java | 2 +- .../workflow/tasks/ExportVectorTiles.java | 6 +- .../apache/baremaps/calcite/CalciteTest.java | 2 +- .../baremaps/config/ConfigReaderTest.java | 2 +- .../{vectortile => maplibre}/TileSetTest.java | 11 +- .../postgres/PostgresQueryGeneratorTest.java | 2 +- .../postgres/PostgresTileStoreTest.java | 6 +- baremaps-maplibre/pom.xml | 56 +++++++++ .../maplibre}/expression/Expressions.java | 108 +++++++++--------- .../baremaps/maplibre}/style/Style.java | 2 +- .../baremaps/maplibre}/style/StyleLayer.java | 2 +- .../baremaps/maplibre}/style/StyleSource.java | 2 +- .../baremaps/maplibre}/tilejson/TileJSON.java | 3 +- .../maplibre}/tilejson/VectorLayer.java | 2 +- .../baremaps/maplibre}/tileset/Database.java | 2 +- .../baremaps/maplibre}/tileset/Tileset.java | 2 +- .../maplibre}/tileset/TilesetLayer.java | 2 +- .../maplibre}/tileset/TilesetQuery.java | 2 +- .../maplibre}/vectortile/Feature.java | 4 +- .../baremaps/maplibre}/vectortile/Layer.java | 2 +- .../baremaps/maplibre}/vectortile/Tile.java | 2 +- .../vectortile/VectorTileDecoder.java | 10 +- .../vectortile/VectorTileEncoder.java | 6 +- .../vectortile/VectorTileFunctions.java | 2 +- .../src/main/proto/vector_tile.proto | 2 +- .../maplibre/expression}/ExpressionsTest.java | 54 ++------- .../vectortile/VectorTileDecoderTest.java | 2 +- .../vectortile/VectorTileEncoderTest.java | 2 +- .../vectortile/VectorTileFunctionsTest.java | 2 +- .../maplibre}/vectortile/VectorTileTest.java | 4 +- .../vectortile/VectorTileViewer.java | 2 +- .../apache/baremaps/server/StyleResource.java | 2 +- .../baremaps/server/TileJSONResource.java | 2 +- .../baremaps/server/TilesetResource.java | 2 +- pom.xml | 6 + 44 files changed, 188 insertions(+), 164 deletions(-) rename baremaps-core/src/test/java/org/apache/baremaps/{vectortile => maplibre}/TileSetTest.java (91%) create mode 100644 baremaps-maplibre/pom.xml rename {baremaps-core/src/main/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/expression/Expressions.java (83%) rename {baremaps-core/src/main/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/style/Style.java (99%) rename {baremaps-core/src/main/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/style/StyleLayer.java (99%) rename {baremaps-core/src/main/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/style/StyleSource.java (99%) rename {baremaps-core/src/main/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/tilejson/TileJSON.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/tilejson/VectorLayer.java (95%) rename {baremaps-core/src/main/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/tileset/Database.java (99%) rename {baremaps-core/src/main/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/tileset/Tileset.java (99%) rename {baremaps-core/src/main/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/tileset/TilesetLayer.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/tileset/TilesetQuery.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/vectortile/Feature.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/vectortile/Layer.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/vectortile/Tile.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/vectortile/VectorTileDecoder.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/vectortile/VectorTileEncoder.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps => baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre}/vectortile/VectorTileFunctions.java (99%) rename {baremaps-core => baremaps-maplibre}/src/main/proto/vector_tile.proto (99%) rename {baremaps-core/src/test/java/org/apache/baremaps/vectortile => baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/expression}/ExpressionsTest.java (83%) rename {baremaps-core/src/test/java/org/apache/baremaps => baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre}/vectortile/VectorTileDecoderTest.java (99%) rename {baremaps-core/src/test/java/org/apache/baremaps => baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre}/vectortile/VectorTileEncoderTest.java (99%) rename {baremaps-core/src/test/java/org/apache/baremaps => baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre}/vectortile/VectorTileFunctionsTest.java (98%) rename {baremaps-core/src/test/java/org/apache/baremaps => baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre}/vectortile/VectorTileTest.java (95%) rename {baremaps-core/src/test/java/org/apache/baremaps => baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre}/vectortile/VectorTileViewer.java (98%) diff --git a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Dev.java b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Dev.java index a1283f4f2..b3794699b 100644 --- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Dev.java +++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Dev.java @@ -32,6 +32,8 @@ import java.util.function.Supplier; import org.apache.baremaps.cli.Options; import org.apache.baremaps.config.ConfigReader; +import org.apache.baremaps.maplibre.style.Style; +import org.apache.baremaps.maplibre.tileset.Tileset; import org.apache.baremaps.server.ChangeResource; import org.apache.baremaps.server.StyleResource; import org.apache.baremaps.server.TileResource; @@ -39,8 +41,6 @@ import org.apache.baremaps.tilestore.TileStore; import org.apache.baremaps.tilestore.postgres.PostgresTileStore; import org.apache.baremaps.utils.PostgresUtils; -import org.apache.baremaps.vectortile.style.Style; -import org.apache.baremaps.vectortile.tileset.Tileset; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import picocli.CommandLine.Command; diff --git a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Init.java b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Init.java index 3c9be06bb..0542db86b 100644 --- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Init.java +++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Init.java @@ -25,9 +25,9 @@ import java.util.Map; import java.util.concurrent.Callable; import org.apache.baremaps.cli.Options; -import org.apache.baremaps.vectortile.style.Style; -import org.apache.baremaps.vectortile.style.StyleSource; -import org.apache.baremaps.vectortile.tileset.Tileset; +import org.apache.baremaps.maplibre.style.Style; +import org.apache.baremaps.maplibre.style.StyleSource; +import org.apache.baremaps.maplibre.tileset.Tileset; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import picocli.CommandLine.Command; diff --git a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/MBTiles.java b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/MBTiles.java index ab0630694..3358c50d8 100644 --- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/MBTiles.java +++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/MBTiles.java @@ -33,13 +33,13 @@ import java.util.function.Supplier; import org.apache.baremaps.cli.Options; import org.apache.baremaps.config.ConfigReader; +import org.apache.baremaps.maplibre.style.Style; +import org.apache.baremaps.maplibre.tilejson.TileJSON; import org.apache.baremaps.server.*; import org.apache.baremaps.tilestore.TileCache; import org.apache.baremaps.tilestore.TileStore; import org.apache.baremaps.tilestore.mbtiles.MBTilesStore; import org.apache.baremaps.utils.SqliteUtils; -import org.apache.baremaps.vectortile.style.Style; -import org.apache.baremaps.vectortile.tilejson.TileJSON; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import picocli.CommandLine.Command; diff --git a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Serve.java b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Serve.java index 8c7d733a1..34a054bf8 100644 --- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Serve.java +++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Serve.java @@ -33,6 +33,9 @@ import java.util.function.Supplier; import org.apache.baremaps.cli.Options; import org.apache.baremaps.config.ConfigReader; +import org.apache.baremaps.maplibre.style.Style; +import org.apache.baremaps.maplibre.tilejson.TileJSON; +import org.apache.baremaps.maplibre.tileset.Tileset; import org.apache.baremaps.server.SearchResource; import org.apache.baremaps.server.StyleResource; import org.apache.baremaps.server.TileJSONResource; @@ -41,9 +44,6 @@ import org.apache.baremaps.tilestore.TileStore; import org.apache.baremaps.tilestore.postgres.PostgresTileStore; import org.apache.baremaps.utils.PostgresUtils; -import org.apache.baremaps.vectortile.style.Style; -import org.apache.baremaps.vectortile.tilejson.TileJSON; -import org.apache.baremaps.vectortile.tileset.Tileset; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import picocli.CommandLine.Command; diff --git a/baremaps-core/pom.xml b/baremaps-core/pom.xml index c519bfe43..aed0ff4e5 100644 --- a/baremaps-core/pom.xml +++ b/baremaps-core/pom.xml @@ -82,6 +82,10 @@ limitations under the License. org.apache.baremaps baremaps-data + + org.apache.baremaps + baremaps-maplibre + org.apache.baremaps baremaps-openstreetmap diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesStore.java b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesStore.java index c6319e6c4..d78bcb0cd 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesStore.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesStore.java @@ -23,10 +23,10 @@ import java.util.HashMap; import java.util.List; import java.util.Optional; +import org.apache.baremaps.maplibre.tileset.Tileset; import org.apache.baremaps.tilestore.TileCoord; import org.apache.baremaps.tilestore.TileStore; import org.apache.baremaps.tilestore.TileStoreException; -import org.apache.baremaps.vectortile.tileset.Tileset; public class PMTilesStore implements TileStore { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGenerator.java b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGenerator.java index 3a89424bb..558d98322 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGenerator.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGenerator.java @@ -21,9 +21,9 @@ import java.util.List; import java.util.stream.Collectors; import javax.sql.DataSource; +import org.apache.baremaps.maplibre.tileset.TilesetQuery; import org.apache.baremaps.postgres.metadata.DatabaseMetadata; import org.apache.baremaps.postgres.metadata.TableMetadata; -import org.apache.baremaps.vectortile.tileset.TilesetQuery; /** * A generator that uses PostgreSQL metadata to generate input queries for a {@code diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresTileStore.java b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresTileStore.java index 8aa412a6f..af132f0a5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresTileStore.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresTileStore.java @@ -26,10 +26,10 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.zip.GZIPOutputStream; import javax.sql.DataSource; +import org.apache.baremaps.maplibre.tileset.Tileset; import org.apache.baremaps.tilestore.TileCoord; import org.apache.baremaps.tilestore.TileStore; import org.apache.baremaps.tilestore.TileStoreException; -import org.apache.baremaps.vectortile.tileset.Tileset; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/utils/ObjectMapperUtils.java b/baremaps-core/src/main/java/org/apache/baremaps/utils/ObjectMapperUtils.java index 02ba05322..2c9ea5605 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/utils/ObjectMapperUtils.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/utils/ObjectMapperUtils.java @@ -22,7 +22,7 @@ import com.fasterxml.jackson.core.JsonGenerator.Feature; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import org.apache.baremaps.vectortile.expression.Expressions; +import org.apache.baremaps.maplibre.expression.Expressions; public class ObjectMapperUtils { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/utils/PostgresUtils.java b/baremaps-core/src/main/java/org/apache/baremaps/utils/PostgresUtils.java index 681743fa3..32da3bf8e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/utils/PostgresUtils.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/utils/PostgresUtils.java @@ -29,7 +29,7 @@ import java.sql.SQLException; import java.sql.Statement; import javax.sql.DataSource; -import org.apache.baremaps.vectortile.tileset.Database; +import org.apache.baremaps.maplibre.tileset.Database; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExportVectorTiles.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExportVectorTiles.java index 95a5a57e3..0875a5d91 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExportVectorTiles.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExportVectorTiles.java @@ -29,6 +29,9 @@ import java.util.stream.Collectors; import javax.sql.DataSource; import org.apache.baremaps.config.ConfigReader; +import org.apache.baremaps.maplibre.style.Style; +import org.apache.baremaps.maplibre.tileset.Tileset; +import org.apache.baremaps.maplibre.tileset.TilesetQuery; import org.apache.baremaps.openstreetmap.stream.ProgressLogger; import org.apache.baremaps.openstreetmap.stream.StreamUtils; import org.apache.baremaps.tilestore.*; @@ -37,9 +40,6 @@ import org.apache.baremaps.tilestore.pmtiles.PMTilesStore; import org.apache.baremaps.tilestore.postgres.PostgresTileStore; import org.apache.baremaps.utils.SqliteUtils; -import org.apache.baremaps.vectortile.style.Style; -import org.apache.baremaps.vectortile.tileset.Tileset; -import org.apache.baremaps.vectortile.tileset.TilesetQuery; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.locationtech.jts.geom.Envelope; 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 f88f35d34..6bf87cf3e 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 @@ -28,7 +28,7 @@ import org.apache.baremaps.data.schema.*; import org.apache.baremaps.data.schema.DataColumn.Type; import org.apache.baremaps.data.type.RowDataType; -import org.apache.baremaps.vectortile.VectorTileFunctions; +import org.apache.baremaps.maplibre.vectortile.VectorTileFunctions; import org.apache.calcite.jdbc.CalciteConnection; import org.apache.calcite.model.ModelHandler; import org.apache.calcite.runtime.AccumOperation; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java b/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java index b1b7df233..06958c9c5 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java @@ -20,8 +20,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import java.io.IOException; +import org.apache.baremaps.maplibre.style.Style; import org.apache.baremaps.openstreetmap.TestFiles; -import org.apache.baremaps.vectortile.style.Style; import org.junit.jupiter.api.Test; import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/TileSetTest.java b/baremaps-core/src/test/java/org/apache/baremaps/maplibre/TileSetTest.java similarity index 91% rename from baremaps-core/src/test/java/org/apache/baremaps/vectortile/TileSetTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/maplibre/TileSetTest.java index 7563274ed..2c78052e2 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/TileSetTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/maplibre/TileSetTest.java @@ -15,10 +15,8 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre; - -import static org.apache.baremaps.utils.ObjectMapperUtils.objectMapper; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; @@ -27,15 +25,16 @@ import java.io.IOException; import java.nio.file.Path; import org.apache.baremaps.config.ConfigReader; -import org.apache.baremaps.vectortile.tilejson.TileJSON; -import org.apache.baremaps.vectortile.tileset.Tileset; +import org.apache.baremaps.maplibre.tilejson.TileJSON; +import org.apache.baremaps.maplibre.tileset.Tileset; +import org.apache.baremaps.utils.ObjectMapperUtils; import org.junit.Test; public class TileSetTest { private String tilesetFile = "/tilesets/tileset.json"; private String tilejsonFile = "/tilesets/tilejson.json"; - private ObjectMapper objectMapper = objectMapper(); + private ObjectMapper objectMapper = ObjectMapperUtils.objectMapper(); ConfigReader configReader = new ConfigReader(); private File resourceFile(String path) { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGeneratorTest.java b/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGeneratorTest.java index e421e7537..6cd2f5ad1 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGeneratorTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGeneratorTest.java @@ -21,8 +21,8 @@ import java.util.List; import javax.sql.DataSource; +import org.apache.baremaps.maplibre.tileset.TilesetQuery; import org.apache.baremaps.openstreetmap.postgres.PostgresRepositoryTest; -import org.apache.baremaps.vectortile.tileset.TilesetQuery; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresTileStoreTest.java b/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresTileStoreTest.java index ac51eb20a..e196b37da 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresTileStoreTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresTileStoreTest.java @@ -21,9 +21,9 @@ import java.util.List; import java.util.Map; -import org.apache.baremaps.vectortile.tileset.Tileset; -import org.apache.baremaps.vectortile.tileset.TilesetLayer; -import org.apache.baremaps.vectortile.tileset.TilesetQuery; +import org.apache.baremaps.maplibre.tileset.Tileset; +import org.apache.baremaps.maplibre.tileset.TilesetLayer; +import org.apache.baremaps.maplibre.tileset.TilesetQuery; import org.junit.jupiter.api.Test; class PostgresTileStoreTest { diff --git a/baremaps-maplibre/pom.xml b/baremaps-maplibre/pom.xml new file mode 100644 index 000000000..5548c7fa5 --- /dev/null +++ b/baremaps-maplibre/pom.xml @@ -0,0 +1,56 @@ + + + 4.0.0 + + org.apache.baremaps + baremaps + 0.7.4-SNAPSHOT + + baremaps-maplibre + + + com.google.protobuf + protobuf-java + + + org.apache.baremaps + baremaps-testing + + + org.locationtech.jts + jts-core + + + org.locationtech.proj4j + proj4j + + + + + + org.xolstice.maven.plugins + protobuf-maven-plugin + ${version.plugin.protobuf-maven-plugin} + true + + + + compile + test-compile + + + com.google.protobuf:protoc:${version.lib.protobuf}:exe:${os.detected.classifier} + + + + + + + + kr.motd.maven + os-maven-plugin + ${version.plugin.os-maven-plugin} + + + + diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/expression/Expressions.java similarity index 83% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/expression/Expressions.java index 7d3cdc0e6..c20eab16d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/expression/Expressions.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/expression/Expressions.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile.expression; +package org.apache.baremaps.maplibre.expression; @@ -37,7 +37,7 @@ import java.util.ArrayList; import java.util.List; import java.util.function.Predicate; -import org.apache.baremaps.data.schema.DataRow; +import org.apache.baremaps.maplibre.vectortile.Feature; import org.locationtech.jts.geom.*; public interface Expressions { @@ -46,7 +46,7 @@ interface Expression { String name(); - T evaluate(DataRow feature); + T evaluate(Feature feature); } @@ -58,7 +58,7 @@ public String name() { } @Override - public Object evaluate(DataRow row) { + public Object evaluate(Feature feature) { return value; } } @@ -71,8 +71,8 @@ public String name() { } @Override - public Object evaluate(DataRow row) { - Object value = expression.evaluate(row); + public Object evaluate(Feature feature) { + Object value = expression.evaluate(feature); if (value instanceof List list && index >= 0 && index < list.size()) { return list.get(index); } @@ -88,8 +88,8 @@ public String name() { } @Override - public Object evaluate(DataRow row) { - return row.get(property); + public Object evaluate(Feature feature) { + return feature.getTags().get(property); } } @@ -101,8 +101,8 @@ public String name() { } @Override - public Boolean evaluate(DataRow row) { - return row.get(property) != null; + public Boolean evaluate(Feature feature) { + return feature.getTags().get(property) != null; } } @@ -114,8 +114,8 @@ public String name() { } @Override - public Boolean evaluate(DataRow row) { - var expressionValue = expression.evaluate(row); + public Boolean evaluate(Feature feature) { + var expressionValue = expression.evaluate(feature); if (expressionValue instanceof List list) { return list.contains(value); } else if (expressionValue instanceof String string) { @@ -134,8 +134,8 @@ public String name() { } @Override - public Integer evaluate(DataRow row) { - var expressionValue = expression.evaluate(row); + public Integer evaluate(Feature feature) { + var expressionValue = expression.evaluate(feature); if (expressionValue instanceof List list) { return list.indexOf(value); } else if (expressionValue instanceof String string) { @@ -154,8 +154,8 @@ public String name() { } @Override - public Integer evaluate(DataRow row) { - Object value = expression.evaluate(row); + public Integer evaluate(Feature feature) { + Object value = expression.evaluate(feature); if (value instanceof String string) { return string.length(); } else if (value instanceof List list) { @@ -178,14 +178,14 @@ public String name() { } @Override - public Object evaluate(DataRow row) { - Object value = expression.evaluate(row); - var startIndex = (Integer) start.evaluate(row); + public Object evaluate(Feature feature) { + Object value = expression.evaluate(feature); + var startIndex = (Integer) start.evaluate(feature); if (value instanceof String string) { - var endIndex = end == null ? string.length() : (Integer) end.evaluate(row); + var endIndex = end == null ? string.length() : (Integer) end.evaluate(feature); return string.substring(startIndex, endIndex); } else if (value instanceof List list) { - var endIndex = end == null ? list.size() : (Integer) end.evaluate(row); + var endIndex = end == null ? list.size() : (Integer) end.evaluate(feature); return list.subList(startIndex, endIndex); } else { return List.of(); @@ -201,8 +201,8 @@ public String name() { } @Override - public Object evaluate(DataRow row) { - return !(boolean) expression.evaluate(row); + public Object evaluate(Feature feature) { + return !(boolean) expression.evaluate(feature); } } @@ -214,8 +214,8 @@ public String name() { } @Override - public Object evaluate(DataRow row) { - return new Not(new Equal(left, right)).evaluate(row); + public Object evaluate(Feature feature) { + return new Not(new Equal(left, right)).evaluate(feature); } } @@ -227,8 +227,8 @@ public String name() { } @Override - public Boolean evaluate(DataRow row) { - return (double) left.evaluate(row) < (double) right.evaluate(row); + public Boolean evaluate(Feature feature) { + return (double) left.evaluate(feature) < (double) right.evaluate(feature); } } @@ -240,8 +240,8 @@ public String name() { } @Override - public Object evaluate(DataRow row) { - return (double) left.evaluate(row) <= (double) right.evaluate(row); + public Object evaluate(Feature feature) { + return (double) left.evaluate(feature) <= (double) right.evaluate(feature); } } @@ -253,8 +253,8 @@ public String name() { } @Override - public Object evaluate(DataRow row) { - return left.evaluate(row).equals(right.evaluate(row)); + public Object evaluate(Feature feature) { + return left.evaluate(feature).equals(right.evaluate(feature)); } } @@ -266,8 +266,8 @@ public String name() { } @Override - public Boolean evaluate(DataRow row) { - return (double) left.evaluate(row) > (double) right.evaluate(row); + public Boolean evaluate(Feature feature) { + return (double) left.evaluate(feature) > (double) right.evaluate(feature); } } @@ -279,8 +279,8 @@ public String name() { } @Override - public Boolean evaluate(DataRow row) { - return (double) left.evaluate(row) >= (double) right.evaluate(row); + public Boolean evaluate(Feature feature) { + return (double) left.evaluate(feature) >= (double) right.evaluate(feature); } } @@ -292,8 +292,8 @@ public String name() { } @Override - public Object evaluate(DataRow row) { - return expressions.stream().allMatch(expression -> (boolean) expression.evaluate(row)); + public Object evaluate(Feature feature) { + return expressions.stream().allMatch(expression -> (boolean) expression.evaluate(feature)); } } @@ -305,8 +305,8 @@ public String name() { } @Override - public Object evaluate(DataRow row) { - return expressions.stream().anyMatch(expression -> (boolean) expression.evaluate(row)); + public Object evaluate(Feature feature) { + return expressions.stream().anyMatch(expression -> (boolean) expression.evaluate(feature)); } } @@ -318,11 +318,11 @@ public String name() { } @Override - public Object evaluate(DataRow row) { - if ((boolean) condition.evaluate(row)) { - return then.evaluate(row); + public Object evaluate(Feature feature) { + if ((boolean) condition.evaluate(feature)) { + return then.evaluate(feature); } else { - return otherwise.evaluate(row); + return otherwise.evaluate(feature); } } } @@ -335,9 +335,9 @@ public String name() { } @Override - public Object evaluate(DataRow row) { + public Object evaluate(Feature feature) { for (Expression expression : expressions) { - Object value = expression.evaluate(row); + Object value = expression.evaluate(feature); if (value != null) { return value; } @@ -355,20 +355,20 @@ public String name() { } @Override - public Object evaluate(DataRow row) { + public Object evaluate(Feature feature) { if (cases.size() % 2 != 0) { throw new IllegalArgumentException( "match expression must have an even number of arguments"); } - var inputValue = input.evaluate(row); + var inputValue = input.evaluate(feature); for (int i = 0; i < cases.size(); i += 2) { Expression condition = cases.get(i); Expression then = cases.get(i + 1); - if (inputValue.equals(condition.evaluate(row))) { - return then.evaluate(row); + if (inputValue.equals(condition.evaluate(feature))) { + return then.evaluate(feature); } } - return fallback.evaluate(row); + return fallback.evaluate(feature); } } @@ -380,7 +380,7 @@ public String name() { } @Override - public Object evaluate(DataRow row) { + public Object evaluate(Feature feature) { throw new UnsupportedOperationException("within expression is not supported"); } } @@ -393,8 +393,8 @@ public String name() { } @Override - public String evaluate(DataRow row) { - Object property = row.get("geom"); + public String evaluate(Feature feature) { + Object property = feature.getGeometry(); if (property instanceof Point) { return "Point"; } else if (property instanceof LineString) { @@ -523,7 +523,7 @@ static String write(Expression expression) throws IOException { return mapper.writeValueAsString(expression); } - static Predicate asPredicate(Expression expression) { + static Predicate asPredicate(Expression expression) { return row -> { var result = expression.evaluate(row); if (result instanceof Boolean booleanResult) { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/style/Style.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/Style.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/style/Style.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/Style.java index dc6f4d8eb..500510c6c 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/style/Style.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/Style.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile.style; +package org.apache.baremaps.maplibre.style; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/style/StyleLayer.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/StyleLayer.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/style/StyleLayer.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/StyleLayer.java index e10420e7e..efb648163 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/style/StyleLayer.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/StyleLayer.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile.style; +package org.apache.baremaps.maplibre.style; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/style/StyleSource.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/StyleSource.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/style/StyleSource.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/StyleSource.java index f38afc281..790b213df 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/style/StyleSource.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/StyleSource.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile.style; +package org.apache.baremaps.maplibre.style; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tilejson/TileJSON.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tilejson/TileJSON.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/tilejson/TileJSON.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tilejson/TileJSON.java index da5787f8b..1bccbf7ce 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tilejson/TileJSON.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tilejson/TileJSON.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile.tilejson; +package org.apache.baremaps.maplibre.tilejson; import com.fasterxml.jackson.annotation.JsonProperty; @@ -67,7 +67,6 @@ public class TileJSON { @JsonProperty("version") String version; - public void setTiles(List tiles) { this.tiles = tiles; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tilejson/VectorLayer.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tilejson/VectorLayer.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/tilejson/VectorLayer.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tilejson/VectorLayer.java index 61cf709cb..d24ecd7ef 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tilejson/VectorLayer.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tilejson/VectorLayer.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile.tilejson; +package org.apache.baremaps.maplibre.tilejson; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Map; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/Database.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/Database.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/Database.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/Database.java index 859129388..d4e4334eb 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/Database.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/Database.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile.tileset; +package org.apache.baremaps.maplibre.tileset; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/Tileset.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/Tileset.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/Tileset.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/Tileset.java index f1dbfbccc..83032b42c 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/Tileset.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/Tileset.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile.tileset; +package org.apache.baremaps.maplibre.tileset; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/TilesetLayer.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/TilesetLayer.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/TilesetLayer.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/TilesetLayer.java index 3d19887d7..3ceabd987 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/TilesetLayer.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/TilesetLayer.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile.tileset; +package org.apache.baremaps.maplibre.tileset; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/TilesetQuery.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/TilesetQuery.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/TilesetQuery.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/TilesetQuery.java index b9e08e816..16c97a234 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/tileset/TilesetQuery.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/TilesetQuery.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile.tileset; +package org.apache.baremaps.maplibre.tileset; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/Feature.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/Feature.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/Feature.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/Feature.java index 3fc3c587d..44d891e03 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/Feature.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/Feature.java @@ -15,14 +15,14 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; import com.google.common.base.Objects; import java.util.Map; import org.locationtech.jts.geom.Geometry; /** - * A vector tile layer. + * A vector tile feature. */ public class Feature { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/Layer.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/Layer.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/Layer.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/Layer.java index 7f4517d55..e2b6e98c9 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/Layer.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/Layer.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; import com.google.common.base.Objects; import java.util.List; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/Tile.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/Tile.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/Tile.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/Tile.java index 12ea826df..61969d87a 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/Tile.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/Tile.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; import com.google.common.base.Objects; import java.util.List; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/VectorTileDecoder.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileDecoder.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/VectorTileDecoder.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileDecoder.java index c76f502c7..b0537992a 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/VectorTileDecoder.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileDecoder.java @@ -15,18 +15,18 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; -import static org.apache.baremaps.vectortile.VectorTileFunctions.*; +import static org.apache.baremaps.maplibre.vectortile.VectorTileFunctions.*; import com.google.protobuf.InvalidProtocolBufferException; import java.io.IOException; import java.nio.ByteBuffer; import java.util.*; import java.util.stream.Collectors; -import org.apache.baremaps.mvt.binary.VectorTile; -import org.apache.baremaps.mvt.binary.VectorTile.Tile.GeomType; -import org.apache.baremaps.mvt.binary.VectorTile.Tile.Value; +import org.apache.baremaps.maplibre.binary.VectorTile; +import org.apache.baremaps.maplibre.binary.VectorTile.Tile.GeomType; +import org.apache.baremaps.maplibre.binary.VectorTile.Tile.Value; import org.locationtech.jts.geom.*; /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/VectorTileEncoder.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoder.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/VectorTileEncoder.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoder.java index a7c04910c..e51ab027e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/VectorTileEncoder.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoder.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; -import static org.apache.baremaps.vectortile.VectorTileFunctions.*; +import static org.apache.baremaps.maplibre.vectortile.VectorTileFunctions.*; import com.google.common.collect.Lists; import java.util.ArrayList; @@ -25,7 +25,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.function.Consumer; -import org.apache.baremaps.mvt.binary.VectorTile; +import org.apache.baremaps.maplibre.binary.VectorTile; import org.locationtech.jts.geom.*; /** diff --git a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/VectorTileFunctions.java b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileFunctions.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/vectortile/VectorTileFunctions.java rename to baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileFunctions.java index 31888d838..c65a8f345 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/vectortile/VectorTileFunctions.java +++ b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileFunctions.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; import java.nio.ByteBuffer; import org.locationtech.jts.algorithm.Orientation; diff --git a/baremaps-core/src/main/proto/vector_tile.proto b/baremaps-maplibre/src/main/proto/vector_tile.proto similarity index 99% rename from baremaps-core/src/main/proto/vector_tile.proto rename to baremaps-maplibre/src/main/proto/vector_tile.proto index c9feac4d4..c78754c25 100644 --- a/baremaps-core/src/main/proto/vector_tile.proto +++ b/baremaps-maplibre/src/main/proto/vector_tile.proto @@ -322,7 +322,7 @@ Creative Commons Notice syntax = "proto2"; option optimize_for = SPEED; -option java_package = "org.apache.baremaps.mvt.binary"; +option java_package = "org.apache.baremaps.maplibre.binary"; package vector_tile; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/expression/ExpressionsTest.java similarity index 83% rename from baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java rename to baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/expression/ExpressionsTest.java index 0c499b783..721fc1679 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/ExpressionsTest.java +++ b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/expression/ExpressionsTest.java @@ -15,16 +15,15 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.expression; import static org.junit.jupiter.api.Assertions.*; import java.io.IOException; import java.util.List; -import org.apache.baremaps.data.schema.DataRow; -import org.apache.baremaps.data.schema.DataRowType; -import org.apache.baremaps.vectortile.expression.Expressions; -import org.apache.baremaps.vectortile.expression.Expressions.*; +import java.util.Map; +import org.apache.baremaps.maplibre.expression.Expressions.*; +import org.apache.baremaps.maplibre.vectortile.Feature; import org.junit.jupiter.api.Test; class ExpressionsTest { @@ -32,43 +31,6 @@ class ExpressionsTest { record Property(String name, Object value) { } - record DataRowMock(List properties) implements DataRow { - - @Override - public DataRowType rowType() { - throw new UnsupportedOperationException(); - } - - @Override - public List values() { - return properties.stream().map(p -> p.value).toList(); - } - - @Override - public void set(String column, Object value) { - properties.add(new Property(column, value)); - } - - @Override - public void set(int index, Object value) { - properties.set(index, new Property(properties.get(index).name, value)); - } - - @Override - public Object get(String column) { - return properties.stream() - .filter(p -> p.name.equals(column)) - .findFirst().map(p -> p.value) - .orElse(null); - } - - @Override - public Object get(int index) { - return properties.get(index).value; - } - - } - @Test public void literal() throws IOException { assertEquals(1, new Literal(1).evaluate(null)); @@ -88,15 +50,15 @@ public void at() throws IOException { @Test public void get() throws IOException { assertEquals("value", - new Get("key").evaluate(new DataRowMock(List.of(new Property("key", "value"))))); - assertEquals(null, new Get("key").evaluate(new DataRowMock(List.of()))); + new Get("key").evaluate(new Feature(0L, Map.of("key", "value"), null))); + assertEquals(null, new Get("key").evaluate(new Feature(0L, Map.of(), null))); } @Test public void has() throws IOException { assertEquals(true, - new Has("key").evaluate(new DataRowMock(List.of(new Property("key", "value"))))); - assertEquals(false, new Has("key").evaluate(new DataRowMock(List.of()))); + new Has("key").evaluate(new Feature(0L, Map.of("key", "value"), null))); + assertEquals(false, new Has("key").evaluate(new Feature(0L, Map.of(), null))); } @Test diff --git a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileDecoderTest.java b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileDecoderTest.java similarity index 99% rename from baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileDecoderTest.java rename to baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileDecoderTest.java index 3ae06b063..5ecf62010 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileDecoderTest.java +++ b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileDecoderTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileEncoderTest.java b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoderTest.java similarity index 99% rename from baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileEncoderTest.java rename to baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoderTest.java index 28f4142d0..9fa655a37 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileEncoderTest.java +++ b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoderTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; import static org.junit.jupiter.api.Assertions.assertEquals; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileFunctionsTest.java b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileFunctionsTest.java similarity index 98% rename from baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileFunctionsTest.java rename to baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileFunctionsTest.java index afeb8b89f..07f153d56 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileFunctionsTest.java +++ b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileFunctionsTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; import static org.junit.jupiter.api.Assertions.*; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileTest.java b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileTest.java similarity index 95% rename from baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileTest.java rename to baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileTest.java index 92e764553..7ab76ab31 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileTest.java +++ b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileTest.java @@ -15,14 +15,12 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; import static org.junit.jupiter.api.Assertions.assertEquals; -import java.awt.*; import java.util.List; import java.util.Map; -import javax.swing.*; import org.junit.jupiter.api.Test; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.GeometryFactory; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileViewer.java b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileViewer.java similarity index 98% rename from baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileViewer.java rename to baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileViewer.java index ca8c970bc..a73105536 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/vectortile/VectorTileViewer.java +++ b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileViewer.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.vectortile; +package org.apache.baremaps.maplibre.vectortile; import java.awt.*; import java.awt.Dimension; diff --git a/baremaps-server/src/main/java/org/apache/baremaps/server/StyleResource.java b/baremaps-server/src/main/java/org/apache/baremaps/server/StyleResource.java index 2e25245a1..bfad7ed3a 100644 --- a/baremaps-server/src/main/java/org/apache/baremaps/server/StyleResource.java +++ b/baremaps-server/src/main/java/org/apache/baremaps/server/StyleResource.java @@ -20,7 +20,7 @@ import com.linecorp.armeria.server.annotation.Get; import com.linecorp.armeria.server.annotation.ProducesJson; import java.util.function.Supplier; -import org.apache.baremaps.vectortile.style.Style; +import org.apache.baremaps.maplibre.style.Style; /** * A resource that provides access to the style. diff --git a/baremaps-server/src/main/java/org/apache/baremaps/server/TileJSONResource.java b/baremaps-server/src/main/java/org/apache/baremaps/server/TileJSONResource.java index 321a0f319..791014cda 100644 --- a/baremaps-server/src/main/java/org/apache/baremaps/server/TileJSONResource.java +++ b/baremaps-server/src/main/java/org/apache/baremaps/server/TileJSONResource.java @@ -20,7 +20,7 @@ import com.linecorp.armeria.server.annotation.Get; import com.linecorp.armeria.server.annotation.ProducesJson; import java.util.function.Supplier; -import org.apache.baremaps.vectortile.tilejson.TileJSON; +import org.apache.baremaps.maplibre.tilejson.TileJSON; /** * A resource that provides access to the tileJSON file. diff --git a/baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java b/baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java index eb317ad9d..e96951cac 100644 --- a/baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java +++ b/baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java @@ -20,7 +20,7 @@ import com.linecorp.armeria.server.annotation.Get; import com.linecorp.armeria.server.annotation.ProducesJson; import java.util.function.Supplier; -import org.apache.baremaps.vectortile.tileset.Tileset; +import org.apache.baremaps.maplibre.tileset.Tileset; /** * A resource that provides access to the tileset file. Only suitable for development purposes, as diff --git a/pom.xml b/pom.xml index b46fce951..891580977 100644 --- a/pom.xml +++ b/pom.xml @@ -52,6 +52,7 @@ limitations under the License. baremaps-cli baremaps-core baremaps-data + baremaps-maplibre baremaps-openstreetmap baremaps-server baremaps-testing @@ -231,6 +232,11 @@ limitations under the License. baremaps-data ${project.parent.version} + + org.apache.baremaps + baremaps-maplibre + ${project.parent.version} + org.apache.baremaps baremaps-openstreetmap From 1b3930ce8569ed25d966746c2988a1cdac877a87 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Thu, 16 May 2024 01:13:11 +0200 Subject: [PATCH 09/19] Move pmtiles classes in dedicated module --- baremaps-core/pom.xml | 4 ++++ .../tilestore/pmtiles/PMTilesStore.java | 1 + baremaps-pmtiles/pom.xml | 20 +++++++++++++++++++ .../apache/baremaps}/pmtiles/Compression.java | 2 +- .../apache/baremaps}/pmtiles/Directories.java | 2 +- .../org/apache/baremaps}/pmtiles/Entry.java | 2 +- .../org/apache/baremaps}/pmtiles/Header.java | 2 +- .../org/apache/baremaps}/pmtiles/PMTiles.java | 2 +- .../baremaps}/pmtiles/PMTilesReader.java | 2 +- .../baremaps}/pmtiles/PMTilesWriter.java | 2 +- .../apache/baremaps}/pmtiles/TileType.java | 2 +- .../apache/baremaps}/pmtiles/PMTilesTest.java | 2 +- pom.xml | 6 ++++++ 13 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 baremaps-pmtiles/pom.xml rename {baremaps-core/src/main/java/org/apache/baremaps/tilestore => baremaps-pmtiles/src/main/java/org/apache/baremaps}/pmtiles/Compression.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/tilestore => baremaps-pmtiles/src/main/java/org/apache/baremaps}/pmtiles/Directories.java (96%) rename {baremaps-core/src/main/java/org/apache/baremaps/tilestore => baremaps-pmtiles/src/main/java/org/apache/baremaps}/pmtiles/Entry.java (97%) rename {baremaps-core/src/main/java/org/apache/baremaps/tilestore => baremaps-pmtiles/src/main/java/org/apache/baremaps}/pmtiles/Header.java (99%) rename {baremaps-core/src/main/java/org/apache/baremaps/tilestore => baremaps-pmtiles/src/main/java/org/apache/baremaps}/pmtiles/PMTiles.java (99%) rename {baremaps-core/src/main/java/org/apache/baremaps/tilestore => baremaps-pmtiles/src/main/java/org/apache/baremaps}/pmtiles/PMTilesReader.java (98%) rename {baremaps-core/src/main/java/org/apache/baremaps/tilestore => baremaps-pmtiles/src/main/java/org/apache/baremaps}/pmtiles/PMTilesWriter.java (99%) rename {baremaps-core/src/main/java/org/apache/baremaps/tilestore => baremaps-pmtiles/src/main/java/org/apache/baremaps}/pmtiles/TileType.java (94%) rename {baremaps-core/src/test/java/org/apache/baremaps/tilestore => baremaps-pmtiles/src/test/java/org/apache/baremaps}/pmtiles/PMTilesTest.java (99%) diff --git a/baremaps-core/pom.xml b/baremaps-core/pom.xml index aed0ff4e5..4b3c0d2bd 100644 --- a/baremaps-core/pom.xml +++ b/baremaps-core/pom.xml @@ -90,6 +90,10 @@ limitations under the License. org.apache.baremaps baremaps-openstreetmap + + org.apache.baremaps + baremaps-pmtiles + org.apache.baremaps baremaps-testing diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesStore.java b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesStore.java index d78bcb0cd..1ef2b4722 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesStore.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesStore.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Optional; import org.apache.baremaps.maplibre.tileset.Tileset; +import org.apache.baremaps.pmtiles.PMTilesWriter; import org.apache.baremaps.tilestore.TileCoord; import org.apache.baremaps.tilestore.TileStore; import org.apache.baremaps.tilestore.TileStoreException; diff --git a/baremaps-pmtiles/pom.xml b/baremaps-pmtiles/pom.xml new file mode 100644 index 000000000..7dce206c2 --- /dev/null +++ b/baremaps-pmtiles/pom.xml @@ -0,0 +1,20 @@ + + + 4.0.0 + + org.apache.baremaps + baremaps + 0.7.4-SNAPSHOT + + baremaps-pmtiles + + + org.apache.baremaps + baremaps-testing + + + org.locationtech.jts + jts-core + + + diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Compression.java b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Compression.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Compression.java rename to baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Compression.java index 30da86fa9..facc01389 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Compression.java +++ b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Compression.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.tilestore.pmtiles; +package org.apache.baremaps.pmtiles; import java.io.*; import java.util.zip.GZIPInputStream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Directories.java b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Directories.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Directories.java rename to baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Directories.java index ea91b1faa..2306efdfc 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Directories.java +++ b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Directories.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.tilestore.pmtiles; +package org.apache.baremaps.pmtiles; class Directories { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Entry.java b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Entry.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Entry.java rename to baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Entry.java index a8b0947ef..278231923 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Entry.java +++ b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Entry.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.tilestore.pmtiles; +package org.apache.baremaps.pmtiles; class Entry { private long tileId; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Header.java b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Header.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Header.java rename to baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Header.java index b8ef13d11..143934d1e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/Header.java +++ b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Header.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.tilestore.pmtiles; +package org.apache.baremaps.pmtiles; import java.util.Objects; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTiles.java b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTiles.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTiles.java rename to baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTiles.java index f44a91388..fa872e3ce 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTiles.java +++ b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTiles.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.tilestore.pmtiles; +package org.apache.baremaps.pmtiles; import com.google.common.math.LongMath; import java.io.ByteArrayOutputStream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesReader.java b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesReader.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesReader.java rename to baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesReader.java index 42a43af4e..3c7b0d290 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesReader.java +++ b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesReader.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.tilestore.pmtiles; +package org.apache.baremaps.pmtiles; import com.google.common.io.LittleEndianDataInputStream; import java.io.ByteArrayInputStream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesWriter.java b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesWriter.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesWriter.java rename to baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesWriter.java index 5b50e5d0f..5d767022c 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/PMTilesWriter.java +++ b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesWriter.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.tilestore.pmtiles; +package org.apache.baremaps.pmtiles; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.hash.Hashing; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/TileType.java b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/TileType.java similarity index 94% rename from baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/TileType.java rename to baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/TileType.java index 335bc4884..b97cd9817 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/pmtiles/TileType.java +++ b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/TileType.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.tilestore.pmtiles; +package org.apache.baremaps.pmtiles; enum TileType { unknown, diff --git a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/pmtiles/PMTilesTest.java b/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java similarity index 99% rename from baremaps-core/src/test/java/org/apache/baremaps/tilestore/pmtiles/PMTilesTest.java rename to baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java index 50b163704..2b83af211 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/pmtiles/PMTilesTest.java +++ b/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.tilestore.pmtiles; +package org.apache.baremaps.pmtiles; import static org.junit.jupiter.api.Assertions.*; diff --git a/pom.xml b/pom.xml index 891580977..3ef2ea151 100644 --- a/pom.xml +++ b/pom.xml @@ -54,6 +54,7 @@ limitations under the License. baremaps-data baremaps-maplibre baremaps-openstreetmap + baremaps-pmtiles baremaps-server baremaps-testing @@ -242,6 +243,11 @@ limitations under the License. baremaps-openstreetmap ${project.parent.version} + + org.apache.baremaps + baremaps-pmtiles + ${project.parent.version} + org.apache.baremaps baremaps-server From a6ab08aa3989f58af0f16ae21521edbace4ca0df Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Thu, 16 May 2024 10:41:02 +0200 Subject: [PATCH 10/19] Move test queries back to the core module --- .../src/test/resources}/queries/hello-world.sql | 0 .../src/test/resources}/queries/osm_create_extensions.sql | 0 .../src/test/resources}/queries/osm_create_gin_indexes.sql | 0 .../src/test/resources}/queries/osm_create_gist_indexes.sql | 0 .../src/test/resources}/queries/osm_create_spgist_indexes.sql | 0 .../src/test/resources}/queries/osm_create_tables.sql | 0 .../src/test/resources}/queries/osm_drop_tables.sql | 0 .../src/test/resources}/queries/osm_truncate_table.sql | 0 .../data => baremaps-core/src/test/resources}/queries/queries.sql | 0 .../data => baremaps-core/src/test/resources}/queries/schema.sql | 0 10 files changed, 0 insertions(+), 0 deletions(-) rename {baremaps-testing/data => baremaps-core/src/test/resources}/queries/hello-world.sql (100%) rename {baremaps-testing/data => baremaps-core/src/test/resources}/queries/osm_create_extensions.sql (100%) rename {baremaps-testing/data => baremaps-core/src/test/resources}/queries/osm_create_gin_indexes.sql (100%) rename {baremaps-testing/data => baremaps-core/src/test/resources}/queries/osm_create_gist_indexes.sql (100%) rename {baremaps-testing/data => baremaps-core/src/test/resources}/queries/osm_create_spgist_indexes.sql (100%) rename {baremaps-testing/data => baremaps-core/src/test/resources}/queries/osm_create_tables.sql (100%) rename {baremaps-testing/data => baremaps-core/src/test/resources}/queries/osm_drop_tables.sql (100%) rename {baremaps-testing/data => baremaps-core/src/test/resources}/queries/osm_truncate_table.sql (100%) rename {baremaps-testing/data => baremaps-core/src/test/resources}/queries/queries.sql (100%) rename {baremaps-testing/data => baremaps-core/src/test/resources}/queries/schema.sql (100%) diff --git a/baremaps-testing/data/queries/hello-world.sql b/baremaps-core/src/test/resources/queries/hello-world.sql similarity index 100% rename from baremaps-testing/data/queries/hello-world.sql rename to baremaps-core/src/test/resources/queries/hello-world.sql diff --git a/baremaps-testing/data/queries/osm_create_extensions.sql b/baremaps-core/src/test/resources/queries/osm_create_extensions.sql similarity index 100% rename from baremaps-testing/data/queries/osm_create_extensions.sql rename to baremaps-core/src/test/resources/queries/osm_create_extensions.sql diff --git a/baremaps-testing/data/queries/osm_create_gin_indexes.sql b/baremaps-core/src/test/resources/queries/osm_create_gin_indexes.sql similarity index 100% rename from baremaps-testing/data/queries/osm_create_gin_indexes.sql rename to baremaps-core/src/test/resources/queries/osm_create_gin_indexes.sql diff --git a/baremaps-testing/data/queries/osm_create_gist_indexes.sql b/baremaps-core/src/test/resources/queries/osm_create_gist_indexes.sql similarity index 100% rename from baremaps-testing/data/queries/osm_create_gist_indexes.sql rename to baremaps-core/src/test/resources/queries/osm_create_gist_indexes.sql diff --git a/baremaps-testing/data/queries/osm_create_spgist_indexes.sql b/baremaps-core/src/test/resources/queries/osm_create_spgist_indexes.sql similarity index 100% rename from baremaps-testing/data/queries/osm_create_spgist_indexes.sql rename to baremaps-core/src/test/resources/queries/osm_create_spgist_indexes.sql diff --git a/baremaps-testing/data/queries/osm_create_tables.sql b/baremaps-core/src/test/resources/queries/osm_create_tables.sql similarity index 100% rename from baremaps-testing/data/queries/osm_create_tables.sql rename to baremaps-core/src/test/resources/queries/osm_create_tables.sql diff --git a/baremaps-testing/data/queries/osm_drop_tables.sql b/baremaps-core/src/test/resources/queries/osm_drop_tables.sql similarity index 100% rename from baremaps-testing/data/queries/osm_drop_tables.sql rename to baremaps-core/src/test/resources/queries/osm_drop_tables.sql diff --git a/baremaps-testing/data/queries/osm_truncate_table.sql b/baremaps-core/src/test/resources/queries/osm_truncate_table.sql similarity index 100% rename from baremaps-testing/data/queries/osm_truncate_table.sql rename to baremaps-core/src/test/resources/queries/osm_truncate_table.sql diff --git a/baremaps-testing/data/queries/queries.sql b/baremaps-core/src/test/resources/queries/queries.sql similarity index 100% rename from baremaps-testing/data/queries/queries.sql rename to baremaps-core/src/test/resources/queries/queries.sql diff --git a/baremaps-testing/data/queries/schema.sql b/baremaps-core/src/test/resources/queries/schema.sql similarity index 100% rename from baremaps-testing/data/queries/schema.sql rename to baremaps-core/src/test/resources/queries/schema.sql From de97a171486364ef6f9aec0be83e62f79e70d721 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Thu, 16 May 2024 11:14:27 +0200 Subject: [PATCH 11/19] Fix integration tests --- .../baremaps/geocoder/GeonamesIndexTest.java | 2 +- .../baremaps/geocoder/GeonamesReaderTest.java | 2 +- .../baremaps/iploc/IpLocObjectTest.java | 4 ++-- .../apache/baremaps/iploc/NicObjectTest.java | 2 +- .../apache/baremaps/iploc/NicParserTest.java | 7 ++++--- .../flatgeobuf/FlatGeoBufDataTableTest.java | 9 ++++++--- .../geopackage/GeoPackageDataSchemaTest.java | 6 ++++-- .../tasks/ExecuteSqlIntegrationTest.java | 3 ++- .../apache/baremaps/pmtiles/PMTilesTest.java | 2 +- .../data/{data => samples}/README.md | 0 .../data/{data => samples}/countries.fgb | Bin .../data/{data => samples}/countries.gpkg | Bin .../data/{data => samples}/data.gpkg | Bin .../baremaps/openstreetmap/OsmSample.java | 19 +++++++++++------- .../baremaps/openstreetmap/TestFiles.java | 18 +++++++++-------- 15 files changed, 44 insertions(+), 30 deletions(-) rename baremaps-testing/data/{data => samples}/README.md (100%) rename baremaps-testing/data/{data => samples}/countries.fgb (100%) rename baremaps-testing/data/{data => samples}/countries.gpkg (100%) rename baremaps-testing/data/{data => samples}/data.gpkg (100%) diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java index b8c9af866..d695022e2 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java @@ -48,7 +48,7 @@ public static void beforeAll() throws Exception { directory = Files.createTempDirectory(Paths.get("."), "geocoder_"); // Create the geonames index - var data = TestFiles.resolve("geonames/sample.txt"); + var data = TestFiles.resolve("baremaps-testing/data/geonames/sample.txt"); var task = new CreateGeonamesIndex(data, directory); task.execute(new WorkflowContext()); var dir = MMapDirectory.open(directory); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java index b6c04d9e1..f2f9b9aee 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java @@ -28,7 +28,7 @@ class GeonamesReaderTest { @Test void read() throws IOException { - var data = TestFiles.resolve("geonames/sample.txt"); + var data = TestFiles.resolve("baremaps-testing/data/geonames/sample.txt"); try (var inputStream = Files.newInputStream(data)) { var reader = new GeonamesReader(); var stream = reader.stream(inputStream); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java b/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java index 41b6d17a7..85a6aec40 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java @@ -59,13 +59,13 @@ class IpLocObjectTest { @BeforeAll public static void beforeAll() throws Exception { // Load the NIC sample objects - nicObjects = NicData.sample("ripe/sample.txt"); + nicObjects = NicData.sample("baremaps-testing/data/ripe/sample.txt"); // Init the geocoder service directory = Files.createTempDirectory(Paths.get("."), "geocoder_"); // Create the geonames index - var data = TestFiles.resolve("geonames/sample.txt"); + var data = TestFiles.resolve("baremaps-testing/data/geonames/sample.txt"); var task = new CreateGeonamesIndex(data, directory); task.execute(new WorkflowContext()); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicObjectTest.java b/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicObjectTest.java index da23d5ba0..aa7eda5d4 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicObjectTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicObjectTest.java @@ -30,7 +30,7 @@ class NicObjectTest { @BeforeEach public void before() throws IOException { - nicObjects = NicData.sample("ripe/sample.txt"); + nicObjects = NicData.sample("baremaps-testing/data/ripe/sample.txt"); } @Test diff --git a/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicParserTest.java b/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicParserTest.java index b33eaa022..5a1f7f614 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicParserTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicParserTest.java @@ -27,14 +27,15 @@ class NicParserTest { @Test void parseObjects() throws IOException { - List nicObjects = NicData.sample("ripe/sample.txt"); + List nicObjects = NicData.sample("baremaps-testing/data/ripe/sample.txt"); assertEquals(10, nicObjects.size()); } @Test void parseAttributes() throws IOException { - List nicAttributes = NicData.sample("ripe/sample.txt").stream() - .map(NicObject::attributes).flatMap(List::stream).toList(); + List nicAttributes = + NicData.sample("baremaps-testing/data/ripe/sample.txt").stream() + .map(NicObject::attributes).flatMap(List::stream).toList(); assertEquals(58, nicAttributes.size()); } } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java index fcd54d84b..385341e1c 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java @@ -28,7 +28,8 @@ class FlatGeoBufDataTableTest { @Test void rowType() throws IOException { - var table = new FlatGeoBufDataTable(TestFiles.resolve("data/countries.fgb")); + var table = + new FlatGeoBufDataTable(TestFiles.resolve("baremaps-testing/data/samples/countries.fgb")); var rowType = table.rowType(); assertEquals(rowType.name(), null); assertEquals(rowType.columns().size(), 2); @@ -36,7 +37,8 @@ void rowType() throws IOException { @Test void read() throws IOException { - var table = new FlatGeoBufDataTable(TestFiles.resolve("data/countries.fgb")); + var table = + new FlatGeoBufDataTable(TestFiles.resolve("baremaps-testing/data/samples/countries.fgb")); assertEquals(179, table.size()); assertEquals(179, table.stream().count()); } @@ -45,7 +47,8 @@ void read() throws IOException { void write() throws IOException { var file = Files.createTempFile("countries", ".fgb"); file.toFile().deleteOnExit(); - var table1 = new FlatGeoBufDataTable(TestFiles.resolve("data/countries.fgb")); + var table1 = + new FlatGeoBufDataTable(TestFiles.resolve("baremaps-testing/data/samples/countries.fgb")); var table2 = new FlatGeoBufDataTable(file, table1.rowType()); table2.write(table1); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java index 15518698e..8e928441e 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java @@ -26,7 +26,8 @@ class GeoPackageDataSchemaTest { @Test void rowType() { - var geoPackageStore = new GeoPackageDataSchema(TestFiles.resolve("data/countries.gpkg")); + var geoPackageStore = + new GeoPackageDataSchema(TestFiles.resolve("baremaps-testing/data/samples/countries.gpkg")); var table = geoPackageStore.get("countries"); var rowType = table.rowType(); assertEquals(rowType.name(), "countries"); @@ -35,7 +36,8 @@ void rowType() { @Test void read() { - var geoPackageStore = new GeoPackageDataSchema(TestFiles.resolve("data/countries.gpkg")); + var geoPackageStore = + new GeoPackageDataSchema(TestFiles.resolve("baremaps-testing/data/samples/countries.gpkg")); var table = geoPackageStore.get("countries"); assertEquals(179, table.size()); assertEquals(179, table.stream().count()); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java index 506802075..0d46079fe 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java @@ -30,7 +30,8 @@ class ExecuteSqlIntegrationTest extends PostgresContainerTest { @Tag("integration") void execute() throws Exception { var task = - new ExecuteSql(jdbcUrl(), TestFiles.resolve("queries/queries.sql"), false); + new ExecuteSql(jdbcUrl(), + TestFiles.resolve("baremaps-core/src/test/resources/queries/queries.sql"), false); task.execute(new WorkflowContext()); } } diff --git a/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java b/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java index 2b83af211..efb451266 100644 --- a/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java +++ b/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java @@ -128,7 +128,7 @@ void invalidTiles() { @Test void decodeHeader() throws IOException { - var file = TestFiles.resolve("pmtiles/test_fixture_1.pmtiles"); + var file = TestFiles.resolve("baremaps-testing/data/pmtiles/test_fixture_1.pmtiles"); try (var channel = FileChannel.open(file)) { var input = new LittleEndianDataInputStream(Channels.newInputStream(channel)); var header = PMTiles.deserializeHeader(input); diff --git a/baremaps-testing/data/data/README.md b/baremaps-testing/data/samples/README.md similarity index 100% rename from baremaps-testing/data/data/README.md rename to baremaps-testing/data/samples/README.md diff --git a/baremaps-testing/data/data/countries.fgb b/baremaps-testing/data/samples/countries.fgb similarity index 100% rename from baremaps-testing/data/data/countries.fgb rename to baremaps-testing/data/samples/countries.fgb diff --git a/baremaps-testing/data/data/countries.gpkg b/baremaps-testing/data/samples/countries.gpkg similarity index 100% rename from baremaps-testing/data/data/countries.gpkg rename to baremaps-testing/data/samples/countries.gpkg diff --git a/baremaps-testing/data/data/data.gpkg b/baremaps-testing/data/samples/data.gpkg similarity index 100% rename from baremaps-testing/data/data/data.gpkg rename to baremaps-testing/data/samples/data.gpkg diff --git a/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/OsmSample.java b/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/OsmSample.java index f2c30ed4c..33c9b3d51 100644 --- a/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/OsmSample.java +++ b/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/OsmSample.java @@ -26,19 +26,24 @@ public class OsmSample { /* The paths of the sample directory and files */ - public static final Path SAMPLE_DIR = resolve("osm-sample/"); + public static final Path SAMPLE_DIR = resolve("baremaps-testing/data/osm-sample/"); - public static final Path SAMPLE_STATE_TXT = resolve("osm-sample/state.txt"); + public static final Path SAMPLE_STATE_TXT = resolve("baremaps-testing/data/osm-sample/state.txt"); - public static final Path SAMPLE_OSM_XML = resolve("osm-sample/sample.osm.xml"); + public static final Path SAMPLE_OSM_XML = + resolve("baremaps-testing/data/osm-sample/sample.osm.xml"); - public static final Path SAMPLE_OSM_PBF = resolve("osm-sample/sample.osm.pbf"); + public static final Path SAMPLE_OSM_PBF = + resolve("baremaps-testing/data/osm-sample/sample.osm.pbf"); - public static final Path SAMPLE_OSC_XML_2 = resolve("osm-sample/000/000/002.osc.gz"); + public static final Path SAMPLE_OSC_XML_2 = + resolve("baremaps-testing/data/osm-sample/000/000/002.osc.gz"); - public static final Path SAMPLE_OSC_XML_3 = resolve("osm-sample/000/000/003.osc.gz"); + public static final Path SAMPLE_OSC_XML_3 = + resolve("baremaps-testing/data/osm-sample/000/000/003.osc.gz"); - public static final Path SAMPLE_OSC_XML_4 = resolve("osm-sample/000/000/004.osc.gz"); + public static final Path SAMPLE_OSC_XML_4 = + resolve("baremaps-testing/data/osm-sample/000/000/004.osc.gz"); /* The geometries of the osm-sample/sample.osm.xml file */ diff --git a/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java b/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java index cddadeb12..5241729a7 100644 --- a/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java +++ b/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java @@ -23,21 +23,23 @@ public class TestFiles { - public static final Path CONFIG_STYLE_JS = resolve("config/style.js"); + public static final Path CONFIG_STYLE_JS = resolve("baremaps-testing/data/config/style.js"); - public static final Path ARCHIVE_FILE_BZ2 = resolve("archives/file.bz2"); + public static final Path ARCHIVE_FILE_BZ2 = resolve("baremaps-testing/data/archives/file.bz2"); - public static final Path ARCHIVE_FILE_GZ = resolve("archives/file.gz"); + public static final Path ARCHIVE_FILE_GZ = resolve("baremaps-testing/data/archives/file.gz"); - public static final Path ARCHIVE_FILE_TAR_BZ2 = resolve("archives/file.tar.bz2"); + public static final Path ARCHIVE_FILE_TAR_BZ2 = + resolve("baremaps-testing/data/archives/file.tar.bz2"); - public static final Path ARCHIVE_FILE_TAR_GZ = resolve("archives/file.tar.gz"); + public static final Path ARCHIVE_FILE_TAR_GZ = + resolve("baremaps-testing/data/archives/file.tar.gz"); - public static final Path ARCHIVE_FILE_ZIP = resolve("archives/file.zip"); + public static final Path ARCHIVE_FILE_ZIP = resolve("baremaps-testing/data/archives/file.zip"); public static Path resolve(String resource) { Path cwd = Path.of("").toAbsolutePath(); - Path pathFromRoot = Path.of("baremaps-testing", "data", resource); - return cwd.resolveSibling(pathFromRoot).toAbsolutePath(); + return cwd.resolveSibling(resource).toAbsolutePath(); } + } From 442e631a2e5d6717025935c50b31ad6eb037df73 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Thu, 16 May 2024 11:23:02 +0200 Subject: [PATCH 12/19] Fix the javadoc --- .../org/apache/baremaps/data/collection/DataCollection.java | 3 +-- .../java/org/apache/baremaps/data/collection/DataList.java | 2 +- .../java/org/apache/baremaps/data/collection/DataMap.java | 4 ++-- .../main/java/org/apache/baremaps/data/type/RowDataType.java | 3 +++ 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java index eefa64402..a19af55f8 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java @@ -23,8 +23,7 @@ /** * A {@code DataCollection} is a group of elements that can be iterated over. It is similar to a - * {@link java.util.Collection Collection}, but can hold up to {@link Long#MAX_VALUE} - * elements. + * {@link java.util.Collection Collection}, but can hold up to {@link Long#MAX_VALUE} elements. */ public interface DataCollection extends Iterable { diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataList.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataList.java index d7e8d5889..d4b4bd7dd 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataList.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataList.java @@ -24,7 +24,7 @@ /** * A {@code DataList} is a sequence of elements that can be iterated over and accessed by index. - * It is similar to a {@link java.util.List List}, but can hold up to {@link Long#MAX_VALUE} + * It is similar to a {@link java.util.List List}, but can hold up to {@link Long#MAX_VALUE} * elements. * * @param The type of the elements. diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java index cc5ba8854..5fc380359 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java @@ -24,8 +24,8 @@ import java.util.function.BiConsumer; /** - * A {@code DataMap} maps keys to values. It is similar to a {@link java.util.Map Map}, but can hold up to {@link Long#MAX_VALUE} entries. + * A {@code DataMap} maps keys to values. It is similar to a {@link java.util.Map Map}, but + * can hold up to {@link Long#MAX_VALUE} entries. * * @param The type of the keys. * @param The type of the values. diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java index 3303ea313..a5837de29 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java @@ -27,6 +27,9 @@ import org.apache.baremaps.data.schema.DataRowType; import org.apache.baremaps.data.type.geometry.*; +/** + * A data type for rows. + */ public class RowDataType implements DataType { private static final EnumMap types = new EnumMap<>(Type.class); From 54b4dc14df76c722161ed1d76c2926a9128dd565 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Thu, 16 May 2024 12:27:26 +0200 Subject: [PATCH 13/19] Fix integration tests --- baremaps-core/pom.xml | 29 ------------------- .../geopackage/GeoPackageToPostgresTest.java | 3 +- .../workflow/tasks/ExecuteSqlScriptTest.java | 3 +- .../workflow/tasks/ImportGeoPackageTest.java | 3 +- .../data/collection/DataConversions.java | 5 ++++ 5 files changed, 11 insertions(+), 32 deletions(-) diff --git a/baremaps-core/pom.xml b/baremaps-core/pom.xml index 4b3c0d2bd..478e6de4e 100644 --- a/baremaps-core/pom.xml +++ b/baremaps-core/pom.xml @@ -147,33 +147,4 @@ limitations under the License. sqlite-jdbc - - - - - org.xolstice.maven.plugins - protobuf-maven-plugin - ${version.plugin.protobuf-maven-plugin} - true - - - - compile - test-compile - - - com.google.protobuf:protoc:${version.lib.protobuf}:exe:${os.detected.classifier} - - - - - - - - kr.motd.maven - os-maven-plugin - ${version.plugin.os-maven-plugin} - - - diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java index dbf2160ca..a48b1c925 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java @@ -31,7 +31,8 @@ public class GeoPackageToPostgresTest extends PostgresContainerTest { @Tag("integration") void schema() { // Open the GeoPackage - var geoPackageSchema = new GeoPackageDataSchema(TestFiles.resolve("data/countries.gpkg")); + var geoPackageSchema = + new GeoPackageDataSchema(TestFiles.resolve("baremaps-testing/data/samples/countries.gpkg")); var geoPackageTable = geoPackageSchema.get("countries"); // Copy the table to Postgres diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java index c51bff191..53644397b 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java @@ -30,7 +30,8 @@ class ExecuteSqlScriptTest extends PostgresContainerTest { @Test @Tag("integration") void execute() throws Exception { - var task = new ExecuteSqlScript(jdbcUrl(), TestFiles.resolve("queries/hello-world.sql")); + var task = new ExecuteSqlScript(jdbcUrl(), + TestFiles.resolve("baremaps-core/src/test/resources/queries/hello-world.sql")); task.execute(new WorkflowContext()); } } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java index 8694f19b5..72bdf7c27 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java @@ -31,7 +31,8 @@ class ImportGeoPackageTest extends PostgresContainerTest { @Tag("integration") void execute() throws Exception { var task = - new ImportGeoPackage(TestFiles.resolve("data/data.gpkg"), 4326, jdbcUrl(), 3857); + new ImportGeoPackage(TestFiles.resolve("baremaps-testing/data/samples/data.gpkg"), 4326, + jdbcUrl(), 3857); task.execute(new WorkflowContext()); } } diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataConversions.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataConversions.java index 213951227..f0e63dfbe 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataConversions.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataConversions.java @@ -243,6 +243,11 @@ public MapAdapter(DataMap dataMap) { this.size = (int) dataMap.size(); } + @Override + public V put(K key, V value) { + return map.put(key, value); + } + @Override public Set> entrySet() { return new AbstractSet<>() { From 18dd01e77ebe4b2988ba70de02692165fb3992a2 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Thu, 16 May 2024 15:34:47 +0200 Subject: [PATCH 14/19] Clean and add javadoc --- .../org/apache/baremaps/openstreetmap/DiffService.java | 9 +++++---- .../baremaps/openstreetmap/postgres/PostgresMap.java | 8 ++++---- .../baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java | 3 +++ .../baremaps/storage/geopackage/GeoPackageDataTable.java | 3 +++ .../baremaps/storage/postgres/PostgresDataTable.java | 3 +++ .../baremaps/storage/shapefile/ShapefileDataTable.java | 6 ++++++ .../apache/baremaps/data/collection/DataCollection.java | 2 ++ .../org/apache/baremaps/data/collection/DataMap.java | 7 +++++-- .../org/apache/baremaps/data/schema/DataTableImpl.java | 6 ++++++ 9 files changed, 37 insertions(+), 10 deletions(-) diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java index bdf18bf55..ac8f553c3 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java @@ -17,6 +17,8 @@ package org.apache.baremaps.openstreetmap; +import static org.apache.baremaps.openstreetmap.stream.ConsumerUtils.consumeThenReturn; + import java.io.BufferedInputStream; import java.net.MalformedURLException; import java.net.URI; @@ -32,7 +34,6 @@ import org.apache.baremaps.openstreetmap.model.*; import org.apache.baremaps.openstreetmap.repository.HeaderRepository; import org.apache.baremaps.openstreetmap.repository.Repository; -import org.apache.baremaps.openstreetmap.stream.ConsumerUtils; import org.apache.baremaps.openstreetmap.stream.StreamException; import org.apache.baremaps.openstreetmap.xml.XmlChangeReader; import org.apache.baremaps.tilestore.TileCoord; @@ -54,7 +55,8 @@ public class DiffService implements Callable> { private final int srid; private final int zoom; - public DiffService(Map coordinateMap, + public DiffService( + Map coordinateMap, Map> referenceMap, HeaderRepository headerRepository, Repository nodeRepository, Repository wayRepository, Repository relationRepository, int srid, @@ -134,8 +136,7 @@ private Optional geometriesForPreviousVersion(Entity entity) { private Stream geometriesForNextVersion(Change change) { return change.getEntities().stream() - .map( - ConsumerUtils.consumeThenReturn(new EntityGeometryBuilder(coordinateMap, referenceMap))) + .map(consumeThenReturn(new EntityGeometryBuilder(coordinateMap, referenceMap))) .flatMap(new EntityToGeometryMapper().andThen(Optional::stream)); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java index 3c1f9f716..240b8ecf4 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java @@ -69,7 +69,7 @@ public int size() { /** {@inheritDoc} */ @Override public Set keySet() { - return new PostgresMap.KeySet(); + return new KeySet(); } private class KeySet extends AbstractSet { @@ -80,7 +80,7 @@ public Iterator iterator() { @Override public int size() { - return PostgresMap.this.size(); + return this.size(); } } @@ -94,7 +94,7 @@ public int size() { /** {@inheritDoc} */ @Override public Collection values() { - return new PostgresMap.ValueCollection(); + return new ValueCollection(); } private class ValueCollection extends AbstractCollection { @@ -119,7 +119,7 @@ public int size() { /** {@inheritDoc} */ @Override public Set> entrySet() { - return new PostgresMap.EntrySet(); + return new EntrySet(); } private class EntrySet extends AbstractSet> { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java index ecc288b35..d84b345aa 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java @@ -117,6 +117,9 @@ public Iterator iterator() { } } + /** + * {@inheritDoc} + */ @Override public void clear() { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java index f3ab9cc2e..57b7f8a58 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/geopackage/GeoPackageDataTable.java @@ -72,6 +72,9 @@ public Iterator iterator() { return new GeopackageIterator(featureDao.queryForAll(), rowType); } + /** + * {@inheritDoc} + */ @Override public void clear() { // Do nothing diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java index fb1ac8812..def245479 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java @@ -126,6 +126,9 @@ public boolean addAll(Iterable rows) { } } + /** + * {@inheritDoc} + */ @Override public void clear() { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java index ad552486c..7d89d0074 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java @@ -61,6 +61,9 @@ public DataRowType rowType() throws DataTableException { } } + /** + * {@inheritDoc} + */ @Override public long size() { return 0; @@ -78,6 +81,9 @@ public Iterator iterator() { } } + /** + * {@inheritDoc} + */ @Override public void clear() { diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java index a19af55f8..7602ccec9 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataCollection.java @@ -48,6 +48,7 @@ default boolean isEmpty() { * * @return an iterator */ + @Override Iterator iterator(); /** @@ -55,6 +56,7 @@ default boolean isEmpty() { * * @return a spliterator */ + @Override default Spliterator spliterator() { return Spliterators.spliterator(iterator(), size(), Spliterator.ORDERED); } diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java index 5fc380359..1a9095246 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/DataMap.java @@ -18,6 +18,7 @@ package org.apache.baremaps.data.collection; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map.Entry; @@ -53,8 +54,10 @@ public interface DataMap { * @param keys the keys * @return the values */ - default List getAll(List keys) { - return keys.stream().map(this::get).toList(); + default Iterable getAll(Iterable keys) { + List values = new ArrayList<>(); + keys.forEach(key -> values.add(get(key))); + return values; } /** diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableImpl.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableImpl.java index d21d8a3d1..72fc83fb7 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableImpl.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableImpl.java @@ -56,11 +56,17 @@ public boolean add(DataRow e) { return rows.add(e); } + /** + * {@inheritDoc} + */ @Override public void clear() { rows.clear(); } + /** + * {@inheritDoc} + */ @Override public long size() { return rows.size(); From 9356ef3ff332fbf258dcb55b710d2e6aa3f675f6 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Thu, 16 May 2024 23:16:14 +0200 Subject: [PATCH 15/19] Improve the openstreetmap api --- .../baremaps/openstreetmap/DiffService.java | 2 +- .../tasks/CreateGeocoderOpenStreetMap.java | 10 +- .../baremaps/workflow/tasks/ImportOsmOsc.java | 2 +- .../baremaps/workflow/tasks/ImportOsmPbf.java | 10 +- .../workflow/tasks/UpdateOsmDatabase.java | 4 +- .../repository/BlockImporterTest.java | 2 +- .../tasks/ImportUpdateSampleTest.java | 2 +- .../baremaps/openstreetmap/OpenStreetMap.java | 162 ++++++++++++++++++ .../baremaps/openstreetmap/OsmReader.java | 29 ---- .../openstreetmap/pbf/PbfBlockReader.java | 24 +-- .../openstreetmap/pbf/PbfEntityReader.java | 47 ++--- .../baremaps/openstreetmap/pbf/PbfReader.java | 80 +-------- .../openstreetmap/state/StateReader.java | 8 +- .../openstreetmap/xml/XmlChangeReader.java | 7 +- .../openstreetmap/xml/XmlEntityReader.java | 31 ++-- .../baremaps/openstreetmap/OsmSampleTest.java | 6 +- .../baremaps/openstreetmap/OsmTestData.java | 16 +- 17 files changed, 258 insertions(+), 184 deletions(-) create mode 100644 baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OpenStreetMap.java delete mode 100644 baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java index ac8f553c3..7498adbcf 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java @@ -83,7 +83,7 @@ public List call() throws Exception { var projectionTransformer = new ProjectionTransformer(srid, 4326); try (var changeInputStream = new GZIPInputStream(new BufferedInputStream(changeUrl.openStream()))) { - return new XmlChangeReader().stream(changeInputStream).flatMap(this::geometriesForChange) + return new XmlChangeReader().read(changeInputStream).flatMap(this::geometriesForChange) .map(projectionTransformer::transform).flatMap(this::tilesForGeometry).distinct() .toList(); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java index e4b2a1f7d..1b258922b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeocoderOpenStreetMap.java @@ -92,14 +92,14 @@ public static void execute( // configure the block reader var reader = new PbfEntityReader() - .geometries(true) + .setGeometries(true) // Must be to 4326 projection to avoid transformation before using Lucene API - .projection(4326) - .coordinateMap(coordinateMap) - .referenceMap(referenceMap); + .setSrid(4326) + .setCoordinateMap(coordinateMap) + .setReferenceMap(referenceMap); try (var input = Files.newInputStream(path)) { - StreamUtils.batch(reader.stream(input)).forEach(importer); + StreamUtils.batch(reader.read(input)).forEach(importer); } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java index e58962bdd..8025a9426 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java @@ -97,7 +97,7 @@ public void execute(WorkflowContext context) throws Exception { try (var changeInputStream = new BufferedInputStream(compression.decompress(Files.newInputStream(path)))) { - new XmlChangeReader().stream(changeInputStream).map(prepareChange).forEach(importChange); + new XmlChangeReader().read(changeInputStream).map(prepareChange).forEach(importChange); } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java index b6ea168a4..f08af91b6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java @@ -142,10 +142,10 @@ public static void execute( // configure the block reader var reader = new PbfBlockReader() - .geometries(true) - .projection(databaseSrid) - .coordinateMap(coordinateMap) - .referenceMap(referenceMap); + .setGeometries(true) + .setSrid(databaseSrid) + .setCoordinateMap(coordinateMap) + .setReferenceMap(referenceMap); // configure the block importer var importer = new BlockImporter( @@ -156,7 +156,7 @@ public static void execute( // Stream and process the blocks try (var input = Files.newInputStream(path)) { - StreamUtils.batch(reader.stream(input)).forEach(importer); + StreamUtils.batch(reader.read(input)).forEach(importer); } } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java index 8ccc2a302..c5ab80837 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java @@ -169,13 +169,13 @@ public static void execute( try (var changeInputStream = new GZIPInputStream(new BufferedInputStream(changeUrl.openStream()))) { - new XmlChangeReader().stream(changeInputStream).forEach(entityProcessor); + new XmlChangeReader().read(changeInputStream).forEach(entityProcessor); } // Add the new header to the database var stateUrl = stateReader.getUrl(replicationUrl, nextSequenceNumber, "state.txt"); try (var stateInputStream = new BufferedInputStream(stateUrl.openStream())) { - var state = new StateReader().readState(stateInputStream); + var state = new StateReader().read(stateInputStream); headerRepository.put(new Header(state.getSequenceNumber(), state.getTimestamp(), header.getReplicationUrl(), header.getSource(), header.getWritingProgram())); } diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java index d43ec057b..dee0dd88b 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java @@ -68,7 +68,7 @@ void test() throws RepositoryException, IOException { try (InputStream inputStream = Files.newInputStream(SAMPLE_OSM_PBF)) { - new PbfBlockReader().stream(inputStream).forEach(blockImporter); + new PbfBlockReader().read(inputStream).forEach(blockImporter); // Check node importation for (long i = 1; i <= 36; i++) { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java index bf0fc52e9..9ab4a2946 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java @@ -71,7 +71,7 @@ void sample() throws Exception { // Import the state file try (var stateInput = Files.newInputStream(OsmSample.SAMPLE_STATE_TXT)) { - var state = new StateReader().readState(stateInput); + var state = new StateReader().read(stateInput); headerRepository.put(new Header(state.getSequenceNumber(), state.getTimestamp(), "file:///" + OsmSample.SAMPLE_DIR, "", "")); assertEquals(1, headerRepository.selectLatest().getReplicationSequenceNumber()); diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OpenStreetMap.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OpenStreetMap.java new file mode 100644 index 000000000..379488375 --- /dev/null +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OpenStreetMap.java @@ -0,0 +1,162 @@ +/* + * 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.baremaps.openstreetmap; + +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +import java.util.Map; +import org.apache.baremaps.openstreetmap.pbf.PbfBlockReader; +import org.apache.baremaps.openstreetmap.pbf.PbfEntityReader; +import org.apache.baremaps.openstreetmap.state.StateReader; +import org.apache.baremaps.openstreetmap.xml.XmlChangeReader; +import org.apache.baremaps.openstreetmap.xml.XmlEntityReader; +import org.locationtech.jts.geom.Coordinate; + +/** + * A utility class for reading OpenStreetMap files. + */ +public class OpenStreetMap { + + private OpenStreetMap() {} + + /** + * Returns a reader of OpenStreetMap states. + * + * @return a reader + */ + static StateReader stateReader() { + return new StateReader(); + } + + /** + * Returns a reader of OpenStreetMap pbf blocks. + * + * @return a reader + */ + static PbfBlockReader pbfBlockReader() { + return new PbfBlockReader(); + } + + /** + * Returns a reader of OpenStreetMap pbf entities. + * + * @return a reader + */ + static PbfEntityReader pbfEntityReader() { + return new PbfEntityReader(); + } + + /** + * Returns a reader of OpenStreetMap xml entities. + * + * @return a reader + */ + static XmlEntityReader xmlEntityReader() { + return new XmlEntityReader(); + } + + /** + * Returns a reader of OpenStreetMap xml changes. + * + * @return a reader + */ + static XmlChangeReader xmlChangeReader() { + return new XmlChangeReader(); + } + + /** + * A reader of objects of type T from an input stream. + * + * @param the type of the object + */ + public interface Reader { + + T read(InputStream inputStream) throws IOException; + + } + + /** + * A reader of OpenStreetMap entities from an input stream. + * + * @param the type of the object + */ + public interface EntityReader extends Reader { + + /** + * Gets the flag enabling the generation of geometries. + * + * @return the value of the flag + */ + boolean getGeometries(); + + /** + * Sets the flag enabling the generation of geometries. + * + * @param geometries the value of the flag + * @return the reader + */ + EntityReader setGeometries(boolean geometries); + + /** + * Gets the projection of the geometries generated by this parser. + * + * @return the projection of the geometries + */ + int getSrid(); + + /** + * Sets the projection of the geometries generated by this parser. + * + * @param srid the projection of the geometries + * @return the reader + */ + EntityReader setSrid(int srid); + + /** + * Gets the map used to store coordinates for generating geometries. + * + * @return the map of coordinates + */ + Map getCoordinateMap(); + + /** + * Sets the map used to store coordinates for generating geometries. + * + * @param coordinateMap the map of coordinates + * @return the reader + */ + EntityReader setCoordinateMap(Map coordinateMap); + + /** + * Gets the map used to store references for generating geometries. + * + * @return the map of references + */ + Map> getReferenceMap(); + + /** + * Sets the map used to store references for generating geometries. + * + * @param referenceMap the map of references + * @return the reader + */ + EntityReader setReferenceMap(Map> referenceMap); + + } +} diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java deleted file mode 100644 index b1f4ea35d..000000000 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/OsmReader.java +++ /dev/null @@ -1,29 +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.baremaps.openstreetmap; - - -import java.io.IOException; -import java.io.InputStream; -import java.util.stream.Stream; - -public interface OsmReader { - - Stream stream(InputStream inputStream) throws IOException; - -} diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java index 56a047ae3..a031eccd5 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java @@ -28,7 +28,7 @@ import org.locationtech.jts.geom.Coordinate; /** A utility class for reading an OpenStreetMap pbf file. */ -public class PbfBlockReader implements PbfReader { +public class PbfBlockReader implements PbfReader> { private int buffer = Runtime.getRuntime().availableProcessors(); @@ -41,62 +41,62 @@ public class PbfBlockReader implements PbfReader { private Map> referenceMap; @Override - public int buffer() { + public int getBuffer() { return buffer; } @Override - public PbfBlockReader buffer(int buffer) { + public PbfBlockReader setBuffer(int buffer) { this.buffer = buffer; return this; } @Override - public boolean geometries() { + public boolean getGeometries() { return geometry; } @Override - public PbfBlockReader geometries(boolean geometries) { + public PbfBlockReader setGeometries(boolean geometries) { this.geometry = geometries; return this; } @Override - public int projection() { + public int getSrid() { return srid; } @Override - public PbfBlockReader projection(int srid) { + public PbfBlockReader setSrid(int srid) { this.srid = srid; return this; } @Override - public Map coordinateMap() { + public Map getCoordinateMap() { return coordinateMap; } @Override - public PbfBlockReader coordinateMap(Map coordinateMap) { + public PbfBlockReader setCoordinateMap(Map coordinateMap) { this.coordinateMap = coordinateMap; return this; } @Override - public Map> referenceMap() { + public Map> getReferenceMap() { return referenceMap; } @Override - public PbfBlockReader referenceMap(Map> referenceMap) { + public PbfBlockReader setReferenceMap(Map> referenceMap) { this.referenceMap = referenceMap; return this; } @Override - public Stream stream(InputStream inputStream) { + public Stream read(InputStream inputStream) { var blocks = StreamUtils.bufferInSourceOrder( StreamUtils.stream(new BlobIterator(inputStream)), new BlobToBlockMapper(), diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java index b20b89d11..dc23e8fc7 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfEntityReader.java @@ -30,7 +30,7 @@ import org.locationtech.jts.geom.Coordinate; /** A utility class for flattening the blocks streamed by a {@link PbfBlockReader}. */ -public class PbfEntityReader implements PbfReader { +public class PbfEntityReader implements PbfReader> { private final PbfBlockReader reader; @@ -42,57 +42,57 @@ public PbfEntityReader() { } @Override - public int buffer() { - return reader.buffer(); + public int getBuffer() { + return reader.getBuffer(); } @Override - public PbfEntityReader buffer(int buffer) { - reader.buffer(buffer); + public PbfEntityReader setBuffer(int buffer) { + reader.setBuffer(buffer); return this; } @Override - public boolean geometries() { - return reader.geometries(); + public boolean getGeometries() { + return reader.getGeometries(); } @Override - public PbfEntityReader geometries(boolean geometries) { - reader.geometries(geometries); + public PbfEntityReader setGeometries(boolean geometries) { + reader.setGeometries(geometries); return this; } @Override - public int projection() { - return reader.projection(); + public int getSrid() { + return reader.getSrid(); } @Override - public PbfEntityReader projection(int srid) { - reader.projection(srid); + public PbfEntityReader setSrid(int srid) { + reader.setSrid(srid); return this; } @Override - public Map coordinateMap() { - return reader.coordinateMap(); + public Map getCoordinateMap() { + return reader.getCoordinateMap(); } @Override - public PbfEntityReader coordinateMap(Map coordinateMap) { - reader.coordinateMap(coordinateMap); + public PbfEntityReader setCoordinateMap(Map coordinateMap) { + reader.setCoordinateMap(coordinateMap); return this; } @Override - public Map> referenceMap() { - return reader.referenceMap(); + public Map> getReferenceMap() { + return reader.getReferenceMap(); } @Override - public PbfEntityReader referenceMap(Map> referenceMap) { - reader.referenceMap(referenceMap); + public PbfEntityReader setReferenceMap(Map> referenceMap) { + reader.setReferenceMap(referenceMap); return this; } @@ -102,8 +102,9 @@ public PbfEntityReader referenceMap(Map> referenceMap) { * @param inputStream an osm pbf {@link InputStream} * @return a stream of blocks */ - public Stream stream(InputStream inputStream) { - return reader.stream(inputStream).flatMap(block -> { + @Override + public Stream read(InputStream inputStream) { + return reader.read(inputStream).flatMap(block -> { try { Stream.Builder entities = Stream.builder(); if (block instanceof HeaderBlock headerBlock) { diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java index bb5603578..7df0b4b26 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfReader.java @@ -19,21 +19,16 @@ -import java.io.InputStream; -import java.util.List; -import java.util.Map; -import java.util.stream.Stream; -import org.apache.baremaps.openstreetmap.OsmReader; -import org.locationtech.jts.geom.Coordinate; +import org.apache.baremaps.openstreetmap.OpenStreetMap.EntityReader; -public interface PbfReader extends OsmReader { +public interface PbfReader extends EntityReader { /** * Gets the number of blobs buffered by the parser to parallelize deserialization. * * @return the size of the buffer */ - int buffer(); + int getBuffer(); /** * Sets the number of blobs buffered by the parser to parallelize deserialization. @@ -41,73 +36,6 @@ public interface PbfReader extends OsmReader { * @param buffer the size of the buffer * @return the reader */ - PbfReader buffer(int buffer); + PbfReader setBuffer(int buffer); - /** - * Gets the flag enabling the generation of geometries. - * - * @return the value of the flag - */ - boolean geometries(); - - /** - * Sets the flag enabling the generation of geometries. - * - * @param geometries the value of the flag - * @return the reader - */ - PbfReader geometries(boolean geometries); - - /** - * Gets the projection of the geometries generated by this parser. - * - * @return the projection of the geometries - */ - int projection(); - - /** - * Sets the projection of the geometries generated by this parser. - * - * @param srid the projection of the geometries - * @return the reader - */ - PbfReader projection(int srid); - - /** - * Gets the map used to store coordinates for generating geometries. - * - * @return the map of coordinates - */ - Map coordinateMap(); - - /** - * Sets the map used to store coordinates for generating geometries. - * - * @param coordinateMap the map of coordinates - * @return the reader - */ - PbfReader coordinateMap(Map coordinateMap); - - /** - * Gets the map used to store references for generating geometries. - * - * @return the map of references - */ - Map> referenceMap(); - - /** - * Sets the map used to store references for generating geometries. - * - * @param referenceMap the map of references - * @return the reader - */ - PbfReader referenceMap(Map> referenceMap); - - /** - * Creates an ordered stream of osm objects. - * - * @param inputStream an osm pbf {@link InputStream} - * @return a stream of osm objects - */ - Stream stream(InputStream inputStream); } diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/state/StateReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/state/StateReader.java index ef6171030..ded415dd8 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/state/StateReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/state/StateReader.java @@ -32,6 +32,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Optional; +import org.apache.baremaps.openstreetmap.OpenStreetMap.Reader; import org.apache.baremaps.openstreetmap.model.State; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,7 +41,7 @@ * Utility class for reading OSM state files. This code has been adapted from pyosmium (BSD 2-Clause * "Simplified" License). */ -public class StateReader { +public class StateReader implements Reader { private static final Logger logger = LoggerFactory.getLogger(StateReader.class); @@ -86,7 +87,8 @@ public StateReader(String replicationUrl, boolean balancedSearch, int retries) { * @param input the OpenStreetMap state file * @return the state */ - public State readState(InputStream input) throws IOException { + @Override + public State read(InputStream input) throws IOException { InputStreamReader reader = new InputStreamReader(input, StandardCharsets.UTF_8); Map map = new HashMap<>(); for (String line : CharStreams.readLines(reader)) { @@ -188,7 +190,7 @@ public Optional getStateFromTimestamp(LocalDateTime timestamp) { public Optional getState(Optional sequenceNumber) { for (int i = 0; i < retries + 1; i++) { try (var inputStream = getStateUrl(sequenceNumber).openStream()) { - var state = new StateReader().readState(inputStream); + var state = new StateReader().read(inputStream); return Optional.of(state); } catch (Exception e) { logger.error("Error while reading state file", e); diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeReader.java index b6b506b9c..879d14f8a 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeReader.java @@ -22,11 +22,11 @@ import java.io.InputStream; import java.util.stream.Stream; import java.util.stream.StreamSupport; -import org.apache.baremaps.openstreetmap.OsmReader; +import org.apache.baremaps.openstreetmap.OpenStreetMap.Reader; import org.apache.baremaps.openstreetmap.model.Change; /** A utility class for parsing an OpenStreetMap change file. */ -public class XmlChangeReader implements OsmReader { +public class XmlChangeReader implements Reader> { /** * Creates an ordered stream of OSM changes from an XML file. @@ -34,7 +34,8 @@ public class XmlChangeReader implements OsmReader { * @param input * @return */ - public Stream stream(InputStream input) { + @Override + public Stream read(InputStream input) { return StreamSupport.stream(new XmlChangeSpliterator(input), false); } } diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java index 0645ae283..d79895515 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntityReader.java @@ -26,7 +26,7 @@ import java.util.Map; import java.util.stream.Stream; import java.util.stream.StreamSupport; -import org.apache.baremaps.openstreetmap.OsmReader; +import org.apache.baremaps.openstreetmap.OpenStreetMap.EntityReader; import org.apache.baremaps.openstreetmap.function.CoordinateMapBuilder; import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder; import org.apache.baremaps.openstreetmap.function.EntityProjectionTransformer; @@ -35,7 +35,7 @@ import org.locationtech.jts.geom.Coordinate; /** A utility class for parsing an OpenStreetMap XML file. */ -public class XmlEntityReader implements OsmReader { +public class XmlEntityReader implements EntityReader> { private boolean geometry = false; @@ -45,38 +45,46 @@ public class XmlEntityReader implements OsmReader { private Map> referenceMap; - public boolean geometries() { + @Override + public boolean getGeometries() { return geometry; } - public XmlEntityReader geometries(boolean geometries) { + @Override + public XmlEntityReader setGeometries(boolean geometries) { this.geometry = geometries; return this; } - public int projection() { + @Override + public int getSrid() { return srid; } - public XmlEntityReader projection(int srid) { + @Override + public XmlEntityReader setSrid(int srid) { this.srid = srid; return this; } - public Map coordinateMap() { + @Override + public Map getCoordinateMap() { return coordinateMap; } - public XmlEntityReader coordinateMap(Map coordinateMap) { + @Override + public XmlEntityReader setCoordinateMap(Map coordinateMap) { this.coordinateMap = coordinateMap; return this; } - public Map> referenceMap() { + @Override + public Map> getReferenceMap() { return referenceMap; } - public XmlEntityReader referenceMap(Map> referenceMap) { + @Override + public XmlEntityReader setReferenceMap(Map> referenceMap) { this.referenceMap = referenceMap; return this; } @@ -87,7 +95,8 @@ public XmlEntityReader referenceMap(Map> referenceMap) { * @param input * @return */ - public Stream stream(InputStream input) { + @Override + public Stream read(InputStream input) { var entities = StreamSupport.stream(new XmlEntitySpliterator(input), false); if (geometry) { // Initialize and chain the entity handlers diff --git a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java index f689f595a..6bd211202 100644 --- a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java @@ -42,7 +42,7 @@ class OsmSampleTest { @Test void sampleStateTxt() throws IOException { try (InputStream inputStream = Files.newInputStream(OsmSample.SAMPLE_STATE_TXT)) { - State state = new StateReader().readState(inputStream); + State state = new StateReader().read(inputStream); Assertions.assertEquals(1, state.getSequenceNumber()); Assertions.assertEquals(LocalDateTime.parse("2000-01-01T00:00:00"), state.getTimestamp()); } @@ -51,7 +51,7 @@ void sampleStateTxt() throws IOException { @Test void sampleOsmPbf() throws IOException { try (InputStream inputStream = Files.newInputStream(OsmSample.SAMPLE_OSM_PBF)) { - Stream stream = new PbfEntityReader().stream(inputStream); + Stream stream = new PbfEntityReader().read(inputStream); process(stream, 1, 1, 27, 7, 2); } } @@ -59,7 +59,7 @@ void sampleOsmPbf() throws IOException { @Test void sampleOsmXml() throws IOException { try (InputStream inputStream = Files.newInputStream(OsmSample.SAMPLE_OSM_XML)) { - Stream stream = new XmlEntityReader().stream(inputStream); + Stream stream = new XmlEntityReader().read(inputStream); process(stream, 1, 1, 27, 7, 2); } } diff --git a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java index d45f32531..08f43293d 100644 --- a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java @@ -69,15 +69,15 @@ private Stream createDynamicTest(OsmTest osmTest) { String.format(displayNameFormat, osmTest.getId(), "pbf", osmTest.getDescription()); return Stream.builder() .add(DynamicTest.dynamicTest(xmlDisplayName, () -> runTest(osmTest, new XmlEntityReader() - .coordinateMap(new HashMap<>()) - .referenceMap(new HashMap<>()) - .geometries(true) - .stream(Files.newInputStream(osmTest.getOsmXml()))))) + .setCoordinateMap(new HashMap<>()) + .setReferenceMap(new HashMap<>()) + .setGeometries(true) + .read(Files.newInputStream(osmTest.getOsmXml()))))) .add(DynamicTest.dynamicTest(pbfDisplayName, () -> runTest(osmTest, new PbfEntityReader() - .coordinateMap(new HashMap<>()) - .referenceMap(new HashMap<>()) - .geometries(true) - .stream(Files.newInputStream(osmTest.getOsmPbf()))))) + .setCoordinateMap(new HashMap<>()) + .setReferenceMap(new HashMap<>()) + .setGeometries(true) + .read(Files.newInputStream(osmTest.getOsmPbf()))))) .build(); } From 5b2ec375b13d35706c33f71f7897bfac3ea8e415 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Sat, 18 May 2024 00:26:36 +0200 Subject: [PATCH 16/19] Improve structure of core and testing modules --- .../DiffService.java | 6 +- .../copy/CopyWriter.java | 2 +- .../copy/GeometryValueHandler.java | 2 +- .../metadata/ColumnResult.java | 2 +- .../metadata/DatabaseMetadata.java | 2 +- .../metadata/PrimaryKeyResult.java | 2 +- .../metadata/TableMetadata.java | 2 +- .../metadata/TableResult.java | 2 +- .../postgres/PostgresCoordinateMap.java | 2 +- .../postgres/PostgresHeaderRepository.java | 8 +- .../postgres/PostgresIterator.java | 2 +- .../postgres/PostgresJsonbMapper.java | 2 +- .../postgres/PostgresMap.java | 2 +- .../postgres/PostgresNodeRepository.java | 8 +- .../postgres/PostgresReferenceMap.java | 2 +- .../postgres/PostgresRelationRepository.java | 8 +- .../postgres/PostgresWayRepository.java | 8 +- .../repository/BlockImporter.java | 2 +- .../repository/ChangeElementsImporter.java | 2 +- .../repository/CopyChangeImporter.java | 2 +- .../repository/HeaderRepository.java | 2 +- .../repository/NodeRepository.java | 2 +- .../repository/PutChangeImporter.java | 2 +- .../repository/RelationRepository.java | 2 +- .../repository/Repository.java | 2 +- .../repository/RepositoryException.java | 2 +- .../repository/WayRepository.java | 2 +- .../function/OpenstreetmapDocumentMapper.java | 76 ------------------- .../storage/postgres/PostgresDataSchema.java | 8 +- .../postgres/PostgresQueryGenerator.java | 4 +- .../tasks/ImportDaylightFeatures.java | 6 +- .../tasks/ImportDaylightTranslations.java | 6 +- .../baremaps/workflow/tasks/ImportOsmOsc.java | 4 +- .../baremaps/workflow/tasks/ImportOsmPbf.java | 12 +-- .../workflow/tasks/UpdateOsmDatabase.java | 14 ++-- .../baremaps/config/ConfigReaderTest.java | 2 +- .../{maplibre => config}/TileSetTest.java | 3 +- .../PostgresContainerTest.java | 2 +- .../metadata/PostgresMetadataTest.java | 4 +- .../PostgresHeaderRepositoryTest.java | 10 +-- .../postgres/PostgresNodeRepositoryTest.java | 6 +- .../PostgresRelationRepositoryTest.java | 6 +- .../postgres/PostgresRepositoryTest.java | 4 +- .../postgres/PostgresWayRepositoryTest.java | 6 +- .../repository/BlockImporterTest.java | 14 ++-- .../repository/Constants.java | 2 +- .../baremaps/geocoder/GeonamesIndexTest.java | 2 +- .../baremaps/geocoder/GeonamesReaderTest.java | 2 +- .../baremaps/geocoderosm/OSMIndexTest.java | 2 +- .../baremaps/iploc/IpLocObjectTest.java | 2 +- .../org/apache/baremaps/iploc/NicData.java | 2 +- .../baremaps/postgres/TestContainers.java | 23 ------ .../baremaps/storage/MockDataTable.java | 2 +- .../flatgeobuf/FlatGeoBufDataTableTest.java | 2 +- .../geopackage/GeoPackageDataSchemaTest.java | 2 +- .../geopackage/GeoPackageToPostgresTest.java | 4 +- .../postgres/PostgresDataSchemaTest.java | 2 +- .../postgres/PostgresDataTableTest.java | 4 +- .../postgres/PostgresQueryGeneratorTest.java | 2 +- .../baremaps/workflow/WorkflowTest.java | 2 +- .../workflow/tasks/DecompressFileTest.java | 2 +- .../tasks/ExecuteSqlIntegrationTest.java | 4 +- .../workflow/tasks/ExecuteSqlScriptTest.java | 4 +- .../workflow/tasks/ImportGeoPackageTest.java | 4 +- .../tasks/ImportUpdateSampleTest.java | 24 +++--- .../function/EntityGeometryBuilder.java | 6 +- .../function/EntityProjectionTransformer.java | 4 +- .../function/EntityToGeometryMapper.java | 1 + .../openstreetmap/pbf/PbfBlockReader.java | 1 + .../baremaps/openstreetmap/OsmSampleTest.java | 7 +- .../baremaps/openstreetmap/OsmTestData.java | 2 +- .../xml/XmlChangeSpliteratorTest.java | 6 +- .../xml/XmlEntitySpliteratorTestDataType.java | 6 +- .../apache/baremaps/pmtiles/PMTilesTest.java | 2 +- .../baremaps/openstreetmap/TestFiles.java | 45 ----------- .../baremaps/testing/GeometryAssertions.java | 0 .../OsmSample.java => testing/TestFiles.java} | 36 +++++++-- 77 files changed, 183 insertions(+), 295 deletions(-) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/DiffService.java (97%) rename baremaps-core/src/main/java/org/apache/baremaps/{postgres => database}/copy/CopyWriter.java (99%) rename baremaps-core/src/main/java/org/apache/baremaps/{postgres => database}/copy/GeometryValueHandler.java (97%) rename baremaps-core/src/main/java/org/apache/baremaps/{postgres => database}/metadata/ColumnResult.java (96%) rename baremaps-core/src/main/java/org/apache/baremaps/{postgres => database}/metadata/DatabaseMetadata.java (99%) rename baremaps-core/src/main/java/org/apache/baremaps/{postgres => database}/metadata/PrimaryKeyResult.java (95%) rename baremaps-core/src/main/java/org/apache/baremaps/{postgres => database}/metadata/TableMetadata.java (95%) rename baremaps-core/src/main/java/org/apache/baremaps/{postgres => database}/metadata/TableResult.java (95%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresCoordinateMap.java (99%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresHeaderRepository.java (97%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresIterator.java (97%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresJsonbMapper.java (97%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresMap.java (98%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresNodeRepository.java (98%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresReferenceMap.java (99%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresRelationRepository.java (98%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresWayRepository.java (98%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/repository/BlockImporter.java (97%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/repository/ChangeElementsImporter.java (97%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/repository/CopyChangeImporter.java (98%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/repository/HeaderRepository.java (96%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/repository/NodeRepository.java (94%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/repository/PutChangeImporter.java (98%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/repository/RelationRepository.java (94%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/repository/Repository.java (98%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/repository/RepositoryException.java (96%) rename baremaps-core/src/main/java/org/apache/baremaps/{openstreetmap => database}/repository/WayRepository.java (94%) delete mode 100644 baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/OpenstreetmapDocumentMapper.java rename baremaps-core/src/test/java/org/apache/baremaps/{maplibre => config}/TileSetTest.java (97%) rename baremaps-core/src/test/java/org/apache/baremaps/{testing => database}/PostgresContainerTest.java (98%) rename baremaps-core/src/test/java/org/apache/baremaps/{postgres => database}/metadata/PostgresMetadataTest.java (95%) rename baremaps-core/src/test/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresHeaderRepositoryTest.java (91%) rename baremaps-core/src/test/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresNodeRepositoryTest.java (94%) rename baremaps-core/src/test/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresRelationRepositoryTest.java (94%) rename baremaps-core/src/test/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresRepositoryTest.java (93%) rename baremaps-core/src/test/java/org/apache/baremaps/{openstreetmap => database}/postgres/PostgresWayRepositoryTest.java (94%) rename baremaps-core/src/test/java/org/apache/baremaps/{openstreetmap => database}/repository/BlockImporterTest.java (85%) rename baremaps-core/src/test/java/org/apache/baremaps/{openstreetmap => database}/repository/Constants.java (98%) delete mode 100644 baremaps-core/src/test/java/org/apache/baremaps/postgres/TestContainers.java delete mode 100644 baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java rename {baremaps-core/src/test => baremaps-testing/src/main}/java/org/apache/baremaps/testing/GeometryAssertions.java (100%) rename baremaps-testing/src/main/java/org/apache/baremaps/{openstreetmap/OsmSample.java => testing/TestFiles.java} (90%) diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java b/baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java index 7498adbcf..cdc312955 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/DiffService.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap; +package org.apache.baremaps.database; import static org.apache.baremaps.openstreetmap.stream.ConsumerUtils.consumeThenReturn; @@ -28,12 +28,12 @@ import java.util.stream.Stream; import java.util.stream.StreamSupport; import java.util.zip.GZIPInputStream; +import org.apache.baremaps.database.repository.HeaderRepository; +import org.apache.baremaps.database.repository.Repository; import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder; import org.apache.baremaps.openstreetmap.function.EntityToGeometryMapper; import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.apache.baremaps.openstreetmap.model.*; -import org.apache.baremaps.openstreetmap.repository.HeaderRepository; -import org.apache.baremaps.openstreetmap.repository.Repository; import org.apache.baremaps.openstreetmap.stream.StreamException; import org.apache.baremaps.openstreetmap.xml.XmlChangeReader; import org.apache.baremaps.tilestore.TileCoord; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/postgres/copy/CopyWriter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/copy/CopyWriter.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/postgres/copy/CopyWriter.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/copy/CopyWriter.java index bdbb2a996..0e5b5de02 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/postgres/copy/CopyWriter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/copy/CopyWriter.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.postgres.copy; +package org.apache.baremaps.database.copy; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/postgres/copy/GeometryValueHandler.java b/baremaps-core/src/main/java/org/apache/baremaps/database/copy/GeometryValueHandler.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/postgres/copy/GeometryValueHandler.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/copy/GeometryValueHandler.java index d50fc3d38..87d09264c 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/postgres/copy/GeometryValueHandler.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/copy/GeometryValueHandler.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.postgres.copy; +package org.apache.baremaps.database.copy; import static org.locationtech.jts.io.WKBConstants.wkbNDR; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/ColumnResult.java b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/ColumnResult.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/ColumnResult.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/metadata/ColumnResult.java index fc0279b2e..3bbef323c 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/ColumnResult.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/ColumnResult.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.postgres.metadata; +package org.apache.baremaps.database.metadata; public record ColumnResult( String tableCat, diff --git a/baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/DatabaseMetadata.java b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/DatabaseMetadata.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/DatabaseMetadata.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/metadata/DatabaseMetadata.java index f198a9cd8..ff726ed31 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/DatabaseMetadata.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/DatabaseMetadata.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.postgres.metadata; +package org.apache.baremaps.database.metadata; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/PrimaryKeyResult.java b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/PrimaryKeyResult.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/PrimaryKeyResult.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/metadata/PrimaryKeyResult.java index 8f3090202..713d183a4 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/PrimaryKeyResult.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/PrimaryKeyResult.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.postgres.metadata; +package org.apache.baremaps.database.metadata; public record PrimaryKeyResult( String tableCat, diff --git a/baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/TableMetadata.java b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/TableMetadata.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/TableMetadata.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/metadata/TableMetadata.java index 938a0a8d8..74eb4a592 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/TableMetadata.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/TableMetadata.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.postgres.metadata; +package org.apache.baremaps.database.metadata; import java.util.List; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/TableResult.java b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/TableResult.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/TableResult.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/metadata/TableResult.java index 51cffdd11..6ab83cf3a 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/postgres/metadata/TableResult.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/TableResult.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.postgres.metadata; +package org.apache.baremaps.database.metadata; public record TableResult( String tableCat, diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresCoordinateMap.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresCoordinateMap.java index ace654ccc..00099692e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresCoordinateMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresCoordinateMap.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresHeaderRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresHeaderRepository.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresHeaderRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresHeaderRepository.java index be6a6be5e..15975a972 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresHeaderRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresHeaderRepository.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; @@ -30,10 +30,10 @@ import java.util.List; import java.util.Map; import javax.sql.DataSource; +import org.apache.baremaps.database.copy.CopyWriter; +import org.apache.baremaps.database.repository.HeaderRepository; +import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Header; -import org.apache.baremaps.openstreetmap.repository.HeaderRepository; -import org.apache.baremaps.openstreetmap.repository.RepositoryException; -import org.apache.baremaps.postgres.copy.CopyWriter; import org.postgresql.PGConnection; import org.postgresql.copy.PGCopyOutputStream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresIterator.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresIterator.java index 451c206e5..30e84c253 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresIterator.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresIterator.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresJsonbMapper.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresJsonbMapper.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresJsonbMapper.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresJsonbMapper.java index 84bcd7018..065bfc9c9 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresJsonbMapper.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresJsonbMapper.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresMap.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresMap.java index 240b8ecf4..dc9e50019 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresMap.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; import com.google.common.collect.Streams; import java.util.*; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresNodeRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresNodeRepository.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresNodeRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresNodeRepository.java index 6b6efb8e5..b65c23bf2 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresNodeRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresNodeRepository.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; @@ -30,12 +30,12 @@ import java.util.List; import java.util.Map; import javax.sql.DataSource; +import org.apache.baremaps.database.copy.CopyWriter; +import org.apache.baremaps.database.repository.NodeRepository; +import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Info; import org.apache.baremaps.openstreetmap.model.Node; -import org.apache.baremaps.openstreetmap.repository.NodeRepository; -import org.apache.baremaps.openstreetmap.repository.RepositoryException; import org.apache.baremaps.openstreetmap.utils.GeometryUtils; -import org.apache.baremaps.postgres.copy.CopyWriter; import org.locationtech.jts.geom.Geometry; import org.postgresql.PGConnection; import org.postgresql.copy.PGCopyOutputStream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresReferenceMap.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresReferenceMap.java index a2ff61fd7..1bd38eed7 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresReferenceMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresReferenceMap.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresRelationRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresRelationRepository.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresRelationRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresRelationRepository.java index 6a5c7fe08..227d892a6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresRelationRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresRelationRepository.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; import com.fasterxml.jackson.core.JsonProcessingException; import java.io.IOException; @@ -27,14 +27,14 @@ import java.util.*; import java.util.stream.Collectors; import javax.sql.DataSource; +import org.apache.baremaps.database.copy.CopyWriter; +import org.apache.baremaps.database.repository.RelationRepository; +import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Info; import org.apache.baremaps.openstreetmap.model.Member; import org.apache.baremaps.openstreetmap.model.Member.MemberType; import org.apache.baremaps.openstreetmap.model.Relation; -import org.apache.baremaps.openstreetmap.repository.RelationRepository; -import org.apache.baremaps.openstreetmap.repository.RepositoryException; import org.apache.baremaps.openstreetmap.utils.GeometryUtils; -import org.apache.baremaps.postgres.copy.CopyWriter; import org.locationtech.jts.geom.Geometry; import org.postgresql.PGConnection; import org.postgresql.copy.PGCopyOutputStream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresWayRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresWayRepository.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresWayRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresWayRepository.java index 572bee597..df4dbbb4e 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/postgres/PostgresWayRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresWayRepository.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; @@ -33,12 +33,12 @@ import java.util.List; import java.util.Map; import javax.sql.DataSource; +import org.apache.baremaps.database.copy.CopyWriter; +import org.apache.baremaps.database.repository.RepositoryException; +import org.apache.baremaps.database.repository.WayRepository; import org.apache.baremaps.openstreetmap.model.Info; import org.apache.baremaps.openstreetmap.model.Way; -import org.apache.baremaps.openstreetmap.repository.RepositoryException; -import org.apache.baremaps.openstreetmap.repository.WayRepository; import org.apache.baremaps.openstreetmap.utils.GeometryUtils; -import org.apache.baremaps.postgres.copy.CopyWriter; import org.locationtech.jts.geom.Geometry; import org.postgresql.PGConnection; import org.postgresql.copy.PGCopyOutputStream; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/BlockImporter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/BlockImporter.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/BlockImporter.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/repository/BlockImporter.java index 8706efb24..ec4ac9e7d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/BlockImporter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/BlockImporter.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/ChangeElementsImporter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/ChangeElementsImporter.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/ChangeElementsImporter.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/repository/ChangeElementsImporter.java index 69ed524ee..d78157377 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/ChangeElementsImporter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/ChangeElementsImporter.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; import java.util.function.Consumer; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/CopyChangeImporter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/CopyChangeImporter.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/CopyChangeImporter.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/repository/CopyChangeImporter.java index c84288a25..da443abef 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/CopyChangeImporter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/CopyChangeImporter.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; import java.util.function.Consumer; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/HeaderRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/HeaderRepository.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/HeaderRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/repository/HeaderRepository.java index 535d28149..ec202f86d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/HeaderRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/HeaderRepository.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/NodeRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/NodeRepository.java similarity index 94% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/NodeRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/repository/NodeRepository.java index 5fe317c68..53680188f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/NodeRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/NodeRepository.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; import org.apache.baremaps.openstreetmap.model.Node; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/PutChangeImporter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/PutChangeImporter.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/PutChangeImporter.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/repository/PutChangeImporter.java index 9ff23dd2d..27f85392b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/PutChangeImporter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/PutChangeImporter.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/RelationRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/RelationRepository.java similarity index 94% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/RelationRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/repository/RelationRepository.java index b9b34eb51..357194b66 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/RelationRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/RelationRepository.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; import org.apache.baremaps.openstreetmap.model.Relation; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/Repository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/Repository.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/Repository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/repository/Repository.java index d0d402590..457d9baeb 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/Repository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/Repository.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/RepositoryException.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/RepositoryException.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/RepositoryException.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/repository/RepositoryException.java index 3e512880e..bc2bf3918 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/RepositoryException.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/RepositoryException.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; /** Signals that an exception occurred in a {@code Repository}. */ public class RepositoryException extends Exception { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/WayRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/WayRepository.java similarity index 94% rename from baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/WayRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/repository/WayRepository.java index 7411df9a2..d81696a35 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/repository/WayRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/WayRepository.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; import org.apache.baremaps.openstreetmap.model.Way; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/OpenstreetmapDocumentMapper.java b/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/OpenstreetmapDocumentMapper.java deleted file mode 100644 index b66597200..000000000 --- a/baremaps-core/src/main/java/org/apache/baremaps/openstreetmap/function/OpenstreetmapDocumentMapper.java +++ /dev/null @@ -1,76 +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.baremaps.openstreetmap.function; - - - -import java.util.function.Function; -import org.apache.baremaps.openstreetmap.model.Element; -import org.apache.lucene.document.Document; -import org.apache.lucene.document.LatLonShape; -import org.apache.lucene.document.StoredField; -import org.apache.lucene.geo.Line; -import org.locationtech.jts.geom.LineString; -import org.locationtech.jts.geom.MultiPolygon; -import org.locationtech.jts.geom.Point; -import org.locationtech.jts.geom.Polygon; - -/** - * Maps an OpenStreetMap element to a Lucene document. - */ -public class OpenstreetmapDocumentMapper implements Function { - - @Override - public Document apply(Element element) { - var document = new Document(); - - document.add(new StoredField("id", element.getId())); - - element.getTags().forEach((key, value) -> { - document.add(new StoredField(key, value.toString())); - }); - - var geometry = element.getGeometry(); - if (geometry instanceof Point point) { - document.add(LatLonShape.createDocValueField("geometry", point.getY(), point.getX())); - } else if (geometry instanceof LineString lineString) { - var coordinates = lineString.getCoordinates(); - var lats = new double[coordinates.length]; - var lons = new double[coordinates.length]; - for (int i = 0; i < coordinates.length; i++) { - lats[i] = coordinates[i].y; - lons[i] = coordinates[i].x; - } - document.add(LatLonShape.createDocValueField("geometry", new Line(lats, lons))); - } else if (geometry instanceof Polygon polygon) { - var coordinates = polygon.getCoordinates(); - var lats = new double[coordinates.length]; - var lons = new double[coordinates.length]; - for (int i = 0; i < coordinates.length; i++) { - lats[i] = coordinates[i].y; - lons[i] = coordinates[i].x; - } - document.add(LatLonShape.createDocValueField("geometry", - new org.apache.lucene.geo.Polygon(lats, lons))); - } else if (geometry instanceof MultiPolygon) { - // TODO: Implement MultiPolygon - } - - return document; - } -} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataSchema.java b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataSchema.java index 218e571f7..72a662080 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataSchema.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataSchema.java @@ -28,10 +28,10 @@ import javax.sql.DataSource; import org.apache.baremaps.data.schema.*; import org.apache.baremaps.data.schema.DataColumn.Type; -import org.apache.baremaps.postgres.copy.CopyWriter; -import org.apache.baremaps.postgres.copy.GeometryValueHandler; -import org.apache.baremaps.postgres.metadata.DatabaseMetadata; -import org.apache.baremaps.postgres.metadata.TableMetadata; +import org.apache.baremaps.database.copy.CopyWriter; +import org.apache.baremaps.database.copy.GeometryValueHandler; +import org.apache.baremaps.database.metadata.DatabaseMetadata; +import org.apache.baremaps.database.metadata.TableMetadata; import org.postgresql.PGConnection; import org.postgresql.copy.PGCopyOutputStream; import org.slf4j.Logger; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGenerator.java b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGenerator.java index 558d98322..73f189fb2 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGenerator.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGenerator.java @@ -21,9 +21,9 @@ import java.util.List; import java.util.stream.Collectors; import javax.sql.DataSource; +import org.apache.baremaps.database.metadata.DatabaseMetadata; +import org.apache.baremaps.database.metadata.TableMetadata; import org.apache.baremaps.maplibre.tileset.TilesetQuery; -import org.apache.baremaps.postgres.metadata.DatabaseMetadata; -import org.apache.baremaps.postgres.metadata.TableMetadata; /** * A generator that uses PostgreSQL metadata to generate input queries for a {@code diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightFeatures.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightFeatures.java index 26129139c..b62f78dbc 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightFeatures.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightFeatures.java @@ -24,9 +24,9 @@ import java.util.List; import java.util.Map; import java.util.StringJoiner; -import org.apache.baremaps.openstreetmap.postgres.PostgresNodeRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresRelationRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresWayRepository; +import org.apache.baremaps.database.postgres.PostgresNodeRepository; +import org.apache.baremaps.database.postgres.PostgresRelationRepository; +import org.apache.baremaps.database.postgres.PostgresWayRepository; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.slf4j.Logger; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightTranslations.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightTranslations.java index 2e0cfbd58..6cf90ab4f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightTranslations.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightTranslations.java @@ -22,9 +22,9 @@ import java.util.HashMap; import java.util.StringJoiner; import java.util.stream.Collectors; -import org.apache.baremaps.openstreetmap.postgres.PostgresNodeRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresRelationRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresWayRepository; +import org.apache.baremaps.database.postgres.PostgresNodeRepository; +import org.apache.baremaps.database.postgres.PostgresRelationRepository; +import org.apache.baremaps.database.postgres.PostgresWayRepository; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.slf4j.Logger; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java index 8025a9426..a10530078 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java @@ -23,9 +23,9 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.StringJoiner; +import org.apache.baremaps.database.postgres.*; +import org.apache.baremaps.database.repository.CopyChangeImporter; import org.apache.baremaps.openstreetmap.function.*; -import org.apache.baremaps.openstreetmap.postgres.*; -import org.apache.baremaps.openstreetmap.repository.CopyChangeImporter; import org.apache.baremaps.openstreetmap.xml.XmlChangeReader; import org.apache.baremaps.utils.Compression; import org.apache.baremaps.workflow.Task; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java index f08af91b6..55d6eb781 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java @@ -23,16 +23,16 @@ import java.util.List; import java.util.Map; import java.util.StringJoiner; +import org.apache.baremaps.database.postgres.PostgresHeaderRepository; +import org.apache.baremaps.database.postgres.PostgresNodeRepository; +import org.apache.baremaps.database.postgres.PostgresRelationRepository; +import org.apache.baremaps.database.postgres.PostgresWayRepository; +import org.apache.baremaps.database.repository.*; +import org.apache.baremaps.database.repository.BlockImporter; import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; import org.apache.baremaps.openstreetmap.model.Way; import org.apache.baremaps.openstreetmap.pbf.PbfBlockReader; -import org.apache.baremaps.openstreetmap.postgres.PostgresHeaderRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresNodeRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresRelationRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresWayRepository; -import org.apache.baremaps.openstreetmap.repository.*; -import org.apache.baremaps.openstreetmap.repository.BlockImporter; import org.apache.baremaps.openstreetmap.stream.StreamUtils; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java index c5ab80837..e46353d77 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java @@ -22,18 +22,18 @@ import java.util.Map; import java.util.StringJoiner; import java.util.zip.GZIPInputStream; +import org.apache.baremaps.database.postgres.PostgresCoordinateMap; +import org.apache.baremaps.database.postgres.PostgresHeaderRepository; +import org.apache.baremaps.database.postgres.PostgresNodeRepository; +import org.apache.baremaps.database.postgres.PostgresReferenceMap; +import org.apache.baremaps.database.postgres.PostgresRelationRepository; +import org.apache.baremaps.database.postgres.PostgresWayRepository; +import org.apache.baremaps.database.repository.*; import org.apache.baremaps.openstreetmap.function.*; import org.apache.baremaps.openstreetmap.model.Header; import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; import org.apache.baremaps.openstreetmap.model.Way; -import org.apache.baremaps.openstreetmap.postgres.PostgresCoordinateMap; -import org.apache.baremaps.openstreetmap.postgres.PostgresHeaderRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresNodeRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresReferenceMap; -import org.apache.baremaps.openstreetmap.postgres.PostgresRelationRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresWayRepository; -import org.apache.baremaps.openstreetmap.repository.*; import org.apache.baremaps.openstreetmap.state.StateReader; import org.apache.baremaps.openstreetmap.xml.XmlChangeReader; import org.apache.baremaps.workflow.Task; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java b/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java index 06958c9c5..a955cd77b 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/config/ConfigReaderTest.java @@ -21,7 +21,7 @@ import java.io.IOException; import org.apache.baremaps.maplibre.style.Style; -import org.apache.baremaps.openstreetmap.TestFiles; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Test; import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/maplibre/TileSetTest.java b/baremaps-core/src/test/java/org/apache/baremaps/config/TileSetTest.java similarity index 97% rename from baremaps-core/src/test/java/org/apache/baremaps/maplibre/TileSetTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/config/TileSetTest.java index 2c78052e2..2679084e7 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/maplibre/TileSetTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/config/TileSetTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.maplibre; +package org.apache.baremaps.config; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; @@ -24,7 +24,6 @@ import java.io.File; import java.io.IOException; import java.nio.file.Path; -import org.apache.baremaps.config.ConfigReader; import org.apache.baremaps.maplibre.tilejson.TileJSON; import org.apache.baremaps.maplibre.tileset.Tileset; import org.apache.baremaps.utils.ObjectMapperUtils; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/testing/PostgresContainerTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/PostgresContainerTest.java similarity index 98% rename from baremaps-core/src/test/java/org/apache/baremaps/testing/PostgresContainerTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/PostgresContainerTest.java index 00875fb36..3c2f2e43d 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/testing/PostgresContainerTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/PostgresContainerTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.testing; +package org.apache.baremaps.database; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/postgres/metadata/PostgresMetadataTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/metadata/PostgresMetadataTest.java similarity index 95% rename from baremaps-core/src/test/java/org/apache/baremaps/postgres/metadata/PostgresMetadataTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/metadata/PostgresMetadataTest.java index fe6639cd0..69bc9bf31 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/postgres/metadata/PostgresMetadataTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/metadata/PostgresMetadataTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.postgres.metadata; +package org.apache.baremaps.database.metadata; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -25,7 +25,7 @@ import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; -import org.apache.baremaps.testing.PostgresContainerTest; +import org.apache.baremaps.database.PostgresContainerTest; import org.apache.baremaps.utils.PostgresUtils; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresHeaderRepositoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresHeaderRepositoryTest.java similarity index 91% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresHeaderRepositoryTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresHeaderRepositoryTest.java index f5a4d82f7..3cddd873f 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresHeaderRepositoryTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresHeaderRepositoryTest.java @@ -15,11 +15,11 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; -import static org.apache.baremaps.openstreetmap.repository.Constants.HEADER_0; -import static org.apache.baremaps.openstreetmap.repository.Constants.HEADER_1; -import static org.apache.baremaps.openstreetmap.repository.Constants.HEADER_2; +import static org.apache.baremaps.database.repository.Constants.HEADER_0; +import static org.apache.baremaps.database.repository.Constants.HEADER_1; +import static org.apache.baremaps.database.repository.Constants.HEADER_2; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertIterableEquals; import static org.junit.jupiter.api.Assertions.assertNull; @@ -29,8 +29,8 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; +import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Header; -import org.apache.baremaps.openstreetmap.repository.RepositoryException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresNodeRepositoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresNodeRepositoryTest.java similarity index 94% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresNodeRepositoryTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresNodeRepositoryTest.java index 4e7eb31ee..bc178b934 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresNodeRepositoryTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresNodeRepositoryTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertIterableEquals; @@ -26,9 +26,9 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; +import org.apache.baremaps.database.repository.Constants; +import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Node; -import org.apache.baremaps.openstreetmap.repository.Constants; -import org.apache.baremaps.openstreetmap.repository.RepositoryException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresRelationRepositoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresRelationRepositoryTest.java similarity index 94% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresRelationRepositoryTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresRelationRepositoryTest.java index 1f3ed0293..9a0efc9c0 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresRelationRepositoryTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresRelationRepositoryTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertIterableEquals; @@ -26,9 +26,9 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; +import org.apache.baremaps.database.repository.Constants; +import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Relation; -import org.apache.baremaps.openstreetmap.repository.Constants; -import org.apache.baremaps.openstreetmap.repository.RepositoryException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresRepositoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresRepositoryTest.java similarity index 93% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresRepositoryTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresRepositoryTest.java index 3dc0add41..044c045c8 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresRepositoryTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresRepositoryTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; @@ -23,7 +23,7 @@ import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; -import org.apache.baremaps.testing.PostgresContainerTest; +import org.apache.baremaps.database.PostgresContainerTest; import org.apache.baremaps.utils.PostgresUtils; import org.junit.jupiter.api.BeforeEach; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresWayRepositoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresWayRepositoryTest.java similarity index 94% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresWayRepositoryTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresWayRepositoryTest.java index 5bcb3a42a..6c1063432 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/postgres/PostgresWayRepositoryTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresWayRepositoryTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.postgres; +package org.apache.baremaps.database.postgres; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertIterableEquals; @@ -26,9 +26,9 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; +import org.apache.baremaps.database.repository.Constants; +import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Way; -import org.apache.baremaps.openstreetmap.repository.Constants; -import org.apache.baremaps.openstreetmap.repository.RepositoryException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/repository/BlockImporterTest.java similarity index 85% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/repository/BlockImporterTest.java index dee0dd88b..42d23c615 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/BlockImporterTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/repository/BlockImporterTest.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; -import static org.apache.baremaps.openstreetmap.OsmSample.SAMPLE_OSM_PBF; +import static org.apache.baremaps.testing.TestFiles.SAMPLE_OSM_PBF; import static org.junit.jupiter.api.Assertions.*; import java.io.IOException; @@ -26,12 +26,12 @@ import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; +import org.apache.baremaps.database.PostgresContainerTest; +import org.apache.baremaps.database.postgres.PostgresHeaderRepository; +import org.apache.baremaps.database.postgres.PostgresNodeRepository; +import org.apache.baremaps.database.postgres.PostgresRelationRepository; +import org.apache.baremaps.database.postgres.PostgresWayRepository; import org.apache.baremaps.openstreetmap.pbf.PbfBlockReader; -import org.apache.baremaps.openstreetmap.postgres.PostgresHeaderRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresNodeRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresRelationRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresWayRepository; -import org.apache.baremaps.testing.PostgresContainerTest; import org.apache.baremaps.utils.PostgresUtils; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/Constants.java b/baremaps-core/src/test/java/org/apache/baremaps/database/repository/Constants.java similarity index 98% rename from baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/Constants.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/repository/Constants.java index c61600436..f09f57342 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/openstreetmap/repository/Constants.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/repository/Constants.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap.repository; +package org.apache.baremaps.database.repository; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java index d695022e2..db3f92337 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java @@ -24,7 +24,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays; -import org.apache.baremaps.openstreetmap.TestFiles; +import org.apache.baremaps.testing.TestFiles; import org.apache.baremaps.utils.FileUtils; import org.apache.baremaps.workflow.WorkflowContext; import org.apache.baremaps.workflow.tasks.CreateGeonamesIndex; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java index f2f9b9aee..2d6126a2c 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java @@ -21,7 +21,7 @@ import java.io.IOException; import java.nio.file.Files; -import org.apache.baremaps.openstreetmap.TestFiles; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Test; class GeonamesReaderTest { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java index 08d6e324d..ae2b5b90a 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java @@ -17,7 +17,7 @@ package org.apache.baremaps.geocoderosm; -import static org.apache.baremaps.openstreetmap.OsmSample.SAMPLE_OSM_PBF; +import static org.apache.baremaps.testing.TestFiles.SAMPLE_OSM_PBF; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java b/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java index 85a6aec40..665fb5e14 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java @@ -28,7 +28,7 @@ import java.util.List; import java.util.Optional; import net.ripe.ipresource.IpResourceRange; -import org.apache.baremaps.openstreetmap.TestFiles; +import org.apache.baremaps.testing.TestFiles; import org.apache.baremaps.utils.FileUtils; import org.apache.baremaps.workflow.WorkflowContext; import org.apache.baremaps.workflow.tasks.CreateGeonamesIndex; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicData.java b/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicData.java index f1a1f290e..761272ad5 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicData.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/iploc/NicData.java @@ -23,7 +23,7 @@ import java.io.InputStream; import java.nio.file.Files; import java.util.List; -import org.apache.baremaps.openstreetmap.TestFiles; +import org.apache.baremaps.testing.TestFiles; public class NicData { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/postgres/TestContainers.java b/baremaps-core/src/test/java/org/apache/baremaps/postgres/TestContainers.java deleted file mode 100644 index 98d3aec5b..000000000 --- a/baremaps-core/src/test/java/org/apache/baremaps/postgres/TestContainers.java +++ /dev/null @@ -1,23 +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.baremaps.postgres; - -public class TestContainers { - - private static final String JDBC_URL = "jdbc:tc:postgis:13-3.1:///baremaps"; -} diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java index b7d3a9128..77d11c40a 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/MockDataTable.java @@ -17,7 +17,7 @@ package org.apache.baremaps.storage; -import static org.apache.baremaps.openstreetmap.repository.Constants.GEOMETRY_FACTORY; +import static org.apache.baremaps.database.repository.Constants.GEOMETRY_FACTORY; import java.util.Iterator; import java.util.List; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java index 385341e1c..c48abdb56 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTableTest.java @@ -21,7 +21,7 @@ import java.io.IOException; import java.nio.file.Files; -import org.apache.baremaps.openstreetmap.TestFiles; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Test; class FlatGeoBufDataTableTest { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java index 8e928441e..8abcfe646 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageDataSchemaTest.java @@ -19,7 +19,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -import org.apache.baremaps.openstreetmap.TestFiles; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Test; class GeoPackageDataSchemaTest { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java index a48b1c925..2ba4f86d9 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/geopackage/GeoPackageToPostgresTest.java @@ -19,9 +19,9 @@ import static org.junit.jupiter.api.Assertions.*; -import org.apache.baremaps.openstreetmap.TestFiles; +import org.apache.baremaps.database.PostgresContainerTest; import org.apache.baremaps.storage.postgres.PostgresDataSchema; -import org.apache.baremaps.testing.PostgresContainerTest; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataSchemaTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataSchemaTest.java index 5fd9831ce..82b14ad3a 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataSchemaTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataSchemaTest.java @@ -20,8 +20,8 @@ import static org.junit.jupiter.api.Assertions.*; import org.apache.baremaps.data.schema.DataTableException; +import org.apache.baremaps.database.PostgresContainerTest; import org.apache.baremaps.storage.MockDataTable; -import org.apache.baremaps.testing.PostgresContainerTest; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java index 4bbb921f6..b58eaacfc 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/storage/postgres/PostgresDataTableTest.java @@ -17,13 +17,13 @@ package org.apache.baremaps.storage.postgres; -import static org.apache.baremaps.openstreetmap.repository.Constants.GEOMETRY_FACTORY; +import static org.apache.baremaps.database.repository.Constants.GEOMETRY_FACTORY; import static org.junit.jupiter.api.Assertions.*; import java.util.List; import org.apache.baremaps.data.schema.DataRowImpl; +import org.apache.baremaps.database.PostgresContainerTest; import org.apache.baremaps.storage.MockDataTable; -import org.apache.baremaps.testing.PostgresContainerTest; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGeneratorTest.java b/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGeneratorTest.java index 6cd2f5ad1..98affb2b3 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGeneratorTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/tilestore/postgres/PostgresQueryGeneratorTest.java @@ -21,8 +21,8 @@ import java.util.List; import javax.sql.DataSource; +import org.apache.baremaps.database.postgres.PostgresRepositoryTest; import org.apache.baremaps.maplibre.tileset.TilesetQuery; -import org.apache.baremaps.openstreetmap.postgres.PostgresRepositoryTest; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/WorkflowTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/WorkflowTest.java index dbc0c8556..9aadd1078 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/WorkflowTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/WorkflowTest.java @@ -21,7 +21,7 @@ import java.nio.file.Paths; import java.util.List; -import org.apache.baremaps.testing.PostgresContainerTest; +import org.apache.baremaps.database.PostgresContainerTest; import org.apache.baremaps.workflow.tasks.*; import org.apache.baremaps.workflow.tasks.DecompressFile.Compression; import org.junit.jupiter.api.Disabled; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/DecompressFileTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/DecompressFileTest.java index a7d829356..b39e4ea42 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/DecompressFileTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/DecompressFileTest.java @@ -21,7 +21,7 @@ import java.io.IOException; import java.nio.file.Files; -import org.apache.baremaps.openstreetmap.TestFiles; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Test; class DecompressFileTest { diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java index 0d46079fe..9355db589 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlIntegrationTest.java @@ -18,8 +18,8 @@ package org.apache.baremaps.workflow.tasks; -import org.apache.baremaps.openstreetmap.TestFiles; -import org.apache.baremaps.testing.PostgresContainerTest; +import org.apache.baremaps.database.PostgresContainerTest; +import org.apache.baremaps.testing.TestFiles; import org.apache.baremaps.workflow.WorkflowContext; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java index 53644397b..fcd8e1c50 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteSqlScriptTest.java @@ -19,8 +19,8 @@ -import org.apache.baremaps.openstreetmap.TestFiles; -import org.apache.baremaps.testing.PostgresContainerTest; +import org.apache.baremaps.database.PostgresContainerTest; +import org.apache.baremaps.testing.TestFiles; import org.apache.baremaps.workflow.WorkflowContext; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java index 72bdf7c27..438539b5b 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportGeoPackageTest.java @@ -19,8 +19,8 @@ -import org.apache.baremaps.openstreetmap.TestFiles; -import org.apache.baremaps.testing.PostgresContainerTest; +import org.apache.baremaps.database.PostgresContainerTest; +import org.apache.baremaps.testing.TestFiles; import org.apache.baremaps.workflow.WorkflowContext; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java index 9ab4a2946..8be791617 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java @@ -17,8 +17,8 @@ package org.apache.baremaps.workflow.tasks; -import static org.apache.baremaps.openstreetmap.OsmSample.*; import static org.apache.baremaps.testing.GeometryAssertions.assertGeometryEquals; +import static org.apache.baremaps.testing.TestFiles.*; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNull; @@ -31,16 +31,16 @@ import org.apache.baremaps.data.memory.OnHeapMemory; import org.apache.baremaps.data.type.LongListDataType; import org.apache.baremaps.data.type.geometry.CoordinateDataType; -import org.apache.baremaps.openstreetmap.OsmSample; +import org.apache.baremaps.database.postgres.PostgresCoordinateMap; +import org.apache.baremaps.database.postgres.PostgresHeaderRepository; +import org.apache.baremaps.database.postgres.PostgresNodeRepository; +import org.apache.baremaps.database.postgres.PostgresReferenceMap; +import org.apache.baremaps.database.postgres.PostgresRelationRepository; +import org.apache.baremaps.database.postgres.PostgresRepositoryTest; +import org.apache.baremaps.database.postgres.PostgresWayRepository; import org.apache.baremaps.openstreetmap.model.Header; -import org.apache.baremaps.openstreetmap.postgres.PostgresCoordinateMap; -import org.apache.baremaps.openstreetmap.postgres.PostgresHeaderRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresNodeRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresReferenceMap; -import org.apache.baremaps.openstreetmap.postgres.PostgresRelationRepository; -import org.apache.baremaps.openstreetmap.postgres.PostgresRepositoryTest; -import org.apache.baremaps.openstreetmap.postgres.PostgresWayRepository; import org.apache.baremaps.openstreetmap.state.StateReader; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.locationtech.jts.geom.Coordinate; @@ -65,15 +65,15 @@ void sample() throws Exception { new IndexedDataMap<>(new AppendOnlyLog<>(new LongListDataType(), new OnHeapMemory()))); // Import the sample data - ImportOsmPbf.execute(OsmSample.SAMPLE_OSM_PBF, coordinateMap, referenceMap, headerRepository, + ImportOsmPbf.execute(TestFiles.SAMPLE_OSM_PBF, coordinateMap, referenceMap, headerRepository, nodeRepository, wayRepository, relationRepository, srid); assertEquals(0, headerRepository.selectLatest().getReplicationSequenceNumber()); // Import the state file - try (var stateInput = Files.newInputStream(OsmSample.SAMPLE_STATE_TXT)) { + try (var stateInput = Files.newInputStream(TestFiles.SAMPLE_STATE_TXT)) { var state = new StateReader().read(stateInput); headerRepository.put(new Header(state.getSequenceNumber(), state.getTimestamp(), - "file:///" + OsmSample.SAMPLE_DIR, "", "")); + "file:///" + TestFiles.SAMPLE_DIR, "", "")); assertEquals(1, headerRepository.selectLatest().getReplicationSequenceNumber()); } assertGeometryEquals(NODE_POINT_1, nodeRepository.get(1L).getGeometry(), 100); diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java index aa790782d..42047dad8 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java @@ -22,7 +22,11 @@ import java.util.List; import java.util.Map; import java.util.function.Consumer; -import org.apache.baremaps.openstreetmap.model.*; +import org.apache.baremaps.database.model.*; +import org.apache.baremaps.openstreetmap.model.Entity; +import org.apache.baremaps.openstreetmap.model.Node; +import org.apache.baremaps.openstreetmap.model.Relation; +import org.apache.baremaps.openstreetmap.model.Way; import org.locationtech.jts.geom.*; /** A consumer that builds and sets the geometry of OpenStreetMap entities via side effects. */ diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java index a656ddc13..7bf211e05 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java @@ -20,7 +20,9 @@ import java.util.function.Consumer; -import org.apache.baremaps.openstreetmap.model.*; +import org.apache.baremaps.database.model.*; +import org.apache.baremaps.openstreetmap.model.Element; +import org.apache.baremaps.openstreetmap.model.Entity; /** Changes the projection of the geometry of an entity via side-effects. */ public class EntityProjectionTransformer implements Consumer { diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java index 783e9d3c5..85394ee49 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java @@ -21,6 +21,7 @@ import java.util.Optional; import java.util.function.Function; +import org.apache.baremaps.database.model.*; import org.apache.baremaps.openstreetmap.model.*; import org.apache.baremaps.openstreetmap.stream.StreamException; import org.locationtech.jts.geom.Geometry; diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java index a031eccd5..2839ba90b 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java @@ -21,6 +21,7 @@ import java.util.List; import java.util.Map; import java.util.stream.Stream; +import org.apache.baremaps.database.function.*; import org.apache.baremaps.openstreetmap.function.*; import org.apache.baremaps.openstreetmap.model.Block; import org.apache.baremaps.openstreetmap.stream.ConsumerUtils; diff --git a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java index 6bd211202..e5d027802 100644 --- a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java @@ -34,6 +34,7 @@ import org.apache.baremaps.openstreetmap.pbf.PbfEntityReader; import org.apache.baremaps.openstreetmap.state.StateReader; import org.apache.baremaps.openstreetmap.xml.XmlEntityReader; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -41,7 +42,7 @@ class OsmSampleTest { @Test void sampleStateTxt() throws IOException { - try (InputStream inputStream = Files.newInputStream(OsmSample.SAMPLE_STATE_TXT)) { + try (InputStream inputStream = Files.newInputStream(TestFiles.SAMPLE_STATE_TXT)) { State state = new StateReader().read(inputStream); Assertions.assertEquals(1, state.getSequenceNumber()); Assertions.assertEquals(LocalDateTime.parse("2000-01-01T00:00:00"), state.getTimestamp()); @@ -50,7 +51,7 @@ void sampleStateTxt() throws IOException { @Test void sampleOsmPbf() throws IOException { - try (InputStream inputStream = Files.newInputStream(OsmSample.SAMPLE_OSM_PBF)) { + try (InputStream inputStream = Files.newInputStream(TestFiles.SAMPLE_OSM_PBF)) { Stream stream = new PbfEntityReader().read(inputStream); process(stream, 1, 1, 27, 7, 2); } @@ -58,7 +59,7 @@ void sampleOsmPbf() throws IOException { @Test void sampleOsmXml() throws IOException { - try (InputStream inputStream = Files.newInputStream(OsmSample.SAMPLE_OSM_XML)) { + try (InputStream inputStream = Files.newInputStream(TestFiles.SAMPLE_OSM_XML)) { Stream stream = new XmlEntityReader().read(inputStream); process(stream, 1, 1, 27, 7, 2); } diff --git a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java index 08f43293d..949fd2960 100644 --- a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java @@ -17,7 +17,7 @@ package org.apache.baremaps.openstreetmap; -import static org.apache.baremaps.openstreetmap.TestFiles.resolve; +import static org.apache.baremaps.testing.TestFiles.resolve; import java.io.IOException; import java.nio.file.Files; diff --git a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java index 56b6b9874..e048be873 100644 --- a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliteratorTest.java @@ -26,10 +26,10 @@ import java.nio.file.Files; import java.util.Spliterator; import java.util.zip.GZIPInputStream; -import org.apache.baremaps.openstreetmap.OsmSample; import org.apache.baremaps.openstreetmap.model.Change; import org.apache.baremaps.openstreetmap.stream.AccumulatingConsumer; import org.apache.baremaps.openstreetmap.stream.HoldingConsumer; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Test; class XmlChangeSpliteratorTest { @@ -37,7 +37,7 @@ class XmlChangeSpliteratorTest { @Test void tryAdvance() throws IOException { try ( - InputStream input = new GZIPInputStream(Files.newInputStream(OsmSample.SAMPLE_OSC_XML_2))) { + InputStream input = new GZIPInputStream(Files.newInputStream(TestFiles.SAMPLE_OSC_XML_2))) { Spliterator spliterator = new XmlChangeSpliterator(input); spliterator.forEachRemaining(fileBlock -> assertNotNull(fileBlock)); assertFalse(spliterator.tryAdvance(new HoldingConsumer<>())); @@ -47,7 +47,7 @@ void tryAdvance() throws IOException { @Test void forEachRemaining() throws IOException { try ( - InputStream input = new GZIPInputStream(Files.newInputStream(OsmSample.SAMPLE_OSC_XML_2))) { + InputStream input = new GZIPInputStream(Files.newInputStream(TestFiles.SAMPLE_OSC_XML_2))) { Spliterator spliterator = new XmlChangeSpliterator(input); AccumulatingConsumer accumulator = new AccumulatingConsumer<>(); spliterator.forEachRemaining(accumulator); diff --git a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java index 1a73c432b..b9eb3d26a 100644 --- a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java +++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java @@ -25,17 +25,17 @@ import java.io.InputStream; import java.nio.file.Files; import java.util.Spliterator; -import org.apache.baremaps.openstreetmap.OsmSample; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.stream.AccumulatingConsumer; import org.apache.baremaps.openstreetmap.stream.HoldingConsumer; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Test; class XmlEntitySpliteratorTestDataType { @Test void tryAdvance() throws IOException { - try (InputStream input = Files.newInputStream(OsmSample.SAMPLE_OSM_XML)) { + try (InputStream input = Files.newInputStream(TestFiles.SAMPLE_OSM_XML)) { Spliterator spliterator = new XmlEntitySpliterator(input); spliterator.forEachRemaining(fileBlock -> assertNotNull(fileBlock)); assertFalse(spliterator.tryAdvance(new HoldingConsumer<>())); @@ -44,7 +44,7 @@ void tryAdvance() throws IOException { @Test void forEachRemaining() throws IOException { - try (InputStream input = Files.newInputStream(OsmSample.SAMPLE_OSM_XML)) { + try (InputStream input = Files.newInputStream(TestFiles.SAMPLE_OSM_XML)) { Spliterator spliterator = new XmlEntitySpliterator(input); AccumulatingConsumer accumulator = new AccumulatingConsumer<>(); spliterator.forEachRemaining(accumulator); diff --git a/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java b/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java index efb451266..affb0514e 100644 --- a/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java +++ b/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesTest.java @@ -29,7 +29,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Random; -import org.apache.baremaps.openstreetmap.TestFiles; +import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Test; class PMTilesTest { diff --git a/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java b/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java deleted file mode 100644 index 5241729a7..000000000 --- a/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/TestFiles.java +++ /dev/null @@ -1,45 +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.baremaps.openstreetmap; - - - -import java.nio.file.Path; - -public class TestFiles { - - public static final Path CONFIG_STYLE_JS = resolve("baremaps-testing/data/config/style.js"); - - public static final Path ARCHIVE_FILE_BZ2 = resolve("baremaps-testing/data/archives/file.bz2"); - - public static final Path ARCHIVE_FILE_GZ = resolve("baremaps-testing/data/archives/file.gz"); - - public static final Path ARCHIVE_FILE_TAR_BZ2 = - resolve("baremaps-testing/data/archives/file.tar.bz2"); - - public static final Path ARCHIVE_FILE_TAR_GZ = - resolve("baremaps-testing/data/archives/file.tar.gz"); - - public static final Path ARCHIVE_FILE_ZIP = resolve("baremaps-testing/data/archives/file.zip"); - - public static Path resolve(String resource) { - Path cwd = Path.of("").toAbsolutePath(); - return cwd.resolveSibling(resource).toAbsolutePath(); - } - -} diff --git a/baremaps-core/src/test/java/org/apache/baremaps/testing/GeometryAssertions.java b/baremaps-testing/src/main/java/org/apache/baremaps/testing/GeometryAssertions.java similarity index 100% rename from baremaps-core/src/test/java/org/apache/baremaps/testing/GeometryAssertions.java rename to baremaps-testing/src/main/java/org/apache/baremaps/testing/GeometryAssertions.java diff --git a/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/OsmSample.java b/baremaps-testing/src/main/java/org/apache/baremaps/testing/TestFiles.java similarity index 90% rename from baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/OsmSample.java rename to baremaps-testing/src/main/java/org/apache/baremaps/testing/TestFiles.java index 33c9b3d51..a09a2d4ab 100644 --- a/baremaps-testing/src/main/java/org/apache/baremaps/openstreetmap/OsmSample.java +++ b/baremaps-testing/src/main/java/org/apache/baremaps/testing/TestFiles.java @@ -15,20 +15,20 @@ * limitations under the License. */ -package org.apache.baremaps.openstreetmap; - -import static org.apache.baremaps.openstreetmap.TestFiles.resolve; +package org.apache.baremaps.testing; import java.nio.file.Path; import org.locationtech.jts.geom.*; -public class OsmSample { +public class TestFiles { /* The paths of the sample directory and files */ - public static final Path SAMPLE_DIR = resolve("baremaps-testing/data/osm-sample/"); + public static final Path SAMPLE_DIR = + resolve("baremaps-testing/data/osm-sample/"); - public static final Path SAMPLE_STATE_TXT = resolve("baremaps-testing/data/osm-sample/state.txt"); + public static final Path SAMPLE_STATE_TXT = + resolve("baremaps-testing/data/osm-sample/state.txt"); public static final Path SAMPLE_OSM_XML = resolve("baremaps-testing/data/osm-sample/sample.osm.xml"); @@ -45,6 +45,24 @@ public class OsmSample { public static final Path SAMPLE_OSC_XML_4 = resolve("baremaps-testing/data/osm-sample/000/000/004.osc.gz"); + public static final Path CONFIG_STYLE_JS = + resolve("baremaps-testing/data/config/style.js"); + + public static final Path ARCHIVE_FILE_BZ2 = + resolve("baremaps-testing/data/archives/file.bz2"); + + public static final Path ARCHIVE_FILE_GZ = + resolve("baremaps-testing/data/archives/file.gz"); + + public static final Path ARCHIVE_FILE_TAR_BZ2 = + resolve("baremaps-testing/data/archives/file.tar.bz2"); + + public static final Path ARCHIVE_FILE_TAR_GZ = + resolve("baremaps-testing/data/archives/file.tar.gz"); + + public static final Path ARCHIVE_FILE_ZIP = + resolve("baremaps-testing/data/archives/file.zip"); + /* The geometries of the osm-sample/sample.osm.xml file */ private static final GeometryFactory GEOMETRY_FACTORY = new GeometryFactory(); @@ -267,4 +285,10 @@ public class OsmSample { new Coordinate(4.9, 4.9) })) }); + + public static Path resolve(String resource) { + Path cwd = Path.of("").toAbsolutePath(); + return cwd.resolveSibling(resource).toAbsolutePath(); + } + } From e043a06f0f4c32571c121e21296003e117959586 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Sun, 19 May 2024 00:22:17 +0200 Subject: [PATCH 17/19] Refactor and simplify database package --- .../apache/baremaps/database/DiffService.java | 4 +- .../BlockImporter.java | 3 +- .../ChangeElementsImporter.java | 4 +- .../CopyChangeImporter.java | 4 +- .../PutChangeImporter.java | 4 +- ...sCoordinateMap.java => CoordinateMap.java} | 16 ++++---- ...rRepository.java => HeaderRepository.java} | 22 ++++++---- ...tgresJsonbMapper.java => JsonbMapper.java} | 4 +- ...odeRepository.java => NodeRepository.java} | 16 ++++---- .../database/postgres/PostgresMap.java | 2 +- ...resReferenceMap.java => ReferenceMap.java} | 12 +++--- ...epository.java => RelationRepository.java} | 14 +++---- .../{repository => postgres}/Repository.java | 2 +- .../RepositoryException.java | 2 +- ...esIterator.java => ResultSetIterator.java} | 4 +- ...sWayRepository.java => WayRepository.java} | 16 ++++---- .../database/repository/HeaderRepository.java | 41 ------------------- .../database/repository/NodeRepository.java | 27 ------------ .../repository/RelationRepository.java | 27 ------------ .../database/repository/WayRepository.java | 27 ------------ .../tasks/ImportDaylightFeatures.java | 12 +++--- .../tasks/ImportDaylightTranslations.java | 12 +++--- .../baremaps/workflow/tasks/ImportOsmOsc.java | 8 ++-- .../baremaps/workflow/tasks/ImportOsmPbf.java | 16 +++----- .../workflow/tasks/UpdateOsmDatabase.java | 21 ++++------ .../apache/baremaps/calcite/CalciteTest.java | 2 - ...oryTest.java => HeaderRepositoryTest.java} | 7 ++-- ...itoryTest.java => NodeRepositoryTest.java} | 7 ++-- ...yTest.java => RelationRepositoryTest.java} | 7 ++-- ...sitoryTest.java => WayRepositoryTest.java} | 7 ++-- .../repository/BlockImporterTest.java | 22 +++++----- .../tasks/ImportUpdateSampleTest.java | 24 +++++------ .../function/EntityGeometryBuilder.java | 1 - .../function/EntityProjectionTransformer.java | 1 - .../function/EntityToGeometryMapper.java | 1 - .../openstreetmap/pbf/PbfBlockReader.java | 1 - 36 files changed, 131 insertions(+), 269 deletions(-) rename baremaps-core/src/main/java/org/apache/baremaps/database/{repository => function}/BlockImporter.java (95%) rename baremaps-core/src/main/java/org/apache/baremaps/database/{repository => function}/ChangeElementsImporter.java (93%) rename baremaps-core/src/main/java/org/apache/baremaps/database/{repository => function}/CopyChangeImporter.java (95%) rename baremaps-core/src/main/java/org/apache/baremaps/database/{repository => function}/PutChangeImporter.java (95%) rename baremaps-core/src/main/java/org/apache/baremaps/database/postgres/{PostgresCoordinateMap.java => CoordinateMap.java} (93%) rename baremaps-core/src/main/java/org/apache/baremaps/database/postgres/{PostgresHeaderRepository.java => HeaderRepository.java} (96%) rename baremaps-core/src/main/java/org/apache/baremaps/database/postgres/{PostgresJsonbMapper.java => JsonbMapper.java} (96%) rename baremaps-core/src/main/java/org/apache/baremaps/database/postgres/{PostgresNodeRepository.java => NodeRepository.java} (94%) rename baremaps-core/src/main/java/org/apache/baremaps/database/postgres/{PostgresReferenceMap.java => ReferenceMap.java} (95%) rename baremaps-core/src/main/java/org/apache/baremaps/database/postgres/{PostgresRelationRepository.java => RelationRepository.java} (95%) rename baremaps-core/src/main/java/org/apache/baremaps/database/{repository => postgres}/Repository.java (98%) rename baremaps-core/src/main/java/org/apache/baremaps/database/{repository => postgres}/RepositoryException.java (97%) rename baremaps-core/src/main/java/org/apache/baremaps/database/postgres/{PostgresIterator.java => ResultSetIterator.java} (92%) rename baremaps-core/src/main/java/org/apache/baremaps/database/postgres/{PostgresWayRepository.java => WayRepository.java} (94%) delete mode 100644 baremaps-core/src/main/java/org/apache/baremaps/database/repository/HeaderRepository.java delete mode 100644 baremaps-core/src/main/java/org/apache/baremaps/database/repository/NodeRepository.java delete mode 100644 baremaps-core/src/main/java/org/apache/baremaps/database/repository/RelationRepository.java delete mode 100644 baremaps-core/src/main/java/org/apache/baremaps/database/repository/WayRepository.java rename baremaps-core/src/test/java/org/apache/baremaps/database/postgres/{PostgresHeaderRepositoryTest.java => HeaderRepositoryTest.java} (93%) rename baremaps-core/src/test/java/org/apache/baremaps/database/postgres/{PostgresNodeRepositoryTest.java => NodeRepositoryTest.java} (92%) rename baremaps-core/src/test/java/org/apache/baremaps/database/postgres/{PostgresRelationRepositoryTest.java => RelationRepositoryTest.java} (92%) rename baremaps-core/src/test/java/org/apache/baremaps/database/postgres/{PostgresWayRepositoryTest.java => WayRepositoryTest.java} (92%) diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java b/baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java index cdc312955..49c51d4f3 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java @@ -28,8 +28,8 @@ import java.util.stream.Stream; import java.util.stream.StreamSupport; import java.util.zip.GZIPInputStream; -import org.apache.baremaps.database.repository.HeaderRepository; -import org.apache.baremaps.database.repository.Repository; +import org.apache.baremaps.database.postgres.HeaderRepository; +import org.apache.baremaps.database.postgres.Repository; import org.apache.baremaps.openstreetmap.function.EntityGeometryBuilder; import org.apache.baremaps.openstreetmap.function.EntityToGeometryMapper; import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/BlockImporter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/function/BlockImporter.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/repository/BlockImporter.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/function/BlockImporter.java index ec4ac9e7d..ece69d65a 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/BlockImporter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/function/BlockImporter.java @@ -15,11 +15,12 @@ * limitations under the License. */ -package org.apache.baremaps.database.repository; +package org.apache.baremaps.database.function; import java.util.function.Consumer; +import org.apache.baremaps.database.postgres.Repository; import org.apache.baremaps.openstreetmap.model.*; import org.apache.baremaps.openstreetmap.stream.StreamException; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/ChangeElementsImporter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/function/ChangeElementsImporter.java similarity index 93% rename from baremaps-core/src/main/java/org/apache/baremaps/database/repository/ChangeElementsImporter.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/function/ChangeElementsImporter.java index d78157377..e12f1a6a3 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/ChangeElementsImporter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/function/ChangeElementsImporter.java @@ -15,10 +15,12 @@ * limitations under the License. */ -package org.apache.baremaps.database.repository; +package org.apache.baremaps.database.function; import java.util.function.Consumer; +import org.apache.baremaps.database.postgres.Repository; +import org.apache.baremaps.database.postgres.RepositoryException; import org.apache.baremaps.openstreetmap.model.Change; import org.apache.baremaps.openstreetmap.model.Element; import org.slf4j.Logger; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/CopyChangeImporter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/function/CopyChangeImporter.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/repository/CopyChangeImporter.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/function/CopyChangeImporter.java index da443abef..9e8676ec6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/CopyChangeImporter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/function/CopyChangeImporter.java @@ -15,10 +15,12 @@ * limitations under the License. */ -package org.apache.baremaps.database.repository; +package org.apache.baremaps.database.function; import java.util.function.Consumer; +import org.apache.baremaps.database.postgres.Repository; +import org.apache.baremaps.database.postgres.RepositoryException; import org.apache.baremaps.openstreetmap.model.Change; import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/PutChangeImporter.java b/baremaps-core/src/main/java/org/apache/baremaps/database/function/PutChangeImporter.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/repository/PutChangeImporter.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/function/PutChangeImporter.java index 27f85392b..1bb76e8bb 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/PutChangeImporter.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/function/PutChangeImporter.java @@ -15,11 +15,13 @@ * limitations under the License. */ -package org.apache.baremaps.database.repository; +package org.apache.baremaps.database.function; import java.util.function.Consumer; +import org.apache.baremaps.database.postgres.Repository; +import org.apache.baremaps.database.postgres.RepositoryException; import org.apache.baremaps.openstreetmap.model.Change; import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresCoordinateMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/CoordinateMap.java similarity index 93% rename from baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresCoordinateMap.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/CoordinateMap.java index 00099692e..ed3cad6c6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresCoordinateMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/CoordinateMap.java @@ -29,7 +29,7 @@ /** * A read-only {@link DataMap} for coordinates baked by OpenStreetMap nodes stored in PostgreSQL. */ -public class PostgresCoordinateMap extends PostgresMap { +public class CoordinateMap extends PostgresMap { private final DataSource dataSource; @@ -50,16 +50,16 @@ public class PostgresCoordinateMap extends PostgresMap { private final String selectEntries; /** - * Constructs a {@link PostgresCoordinateMap}. + * Constructs a {@link CoordinateMap}. */ - public PostgresCoordinateMap(DataSource dataSource) { + public CoordinateMap(DataSource dataSource) { this(dataSource, "public", "osm_nodes"); } /** - * Constructs a {@link PostgresCoordinateMap}. + * Constructs a {@link CoordinateMap}. */ - public PostgresCoordinateMap(DataSource dataSource, String schema, String table) { + public CoordinateMap(DataSource dataSource, String schema, String table) { this.dataSource = dataSource; var fullTableName = String.format("%s.%s", schema, table); this.selectContainsKey = String.format(""" @@ -147,7 +147,7 @@ protected Iterator keyIterator() { try (Connection connection = dataSource.getConnection(); PreparedStatement statement = connection.prepareStatement(selectKeys)) { ResultSet result = statement.executeQuery(); - return new PostgresIterator<>(result, this::key); + return new ResultSetIterator<>(result, this::key); } catch (SQLException e) { throw new DataCollectionException(e); } @@ -166,7 +166,7 @@ protected Iterator valueIterator() { try (Connection connection = dataSource.getConnection(); PreparedStatement statement = connection.prepareStatement(selectValues)) { ResultSet result = statement.executeQuery(); - return new PostgresIterator<>(result, this::value); + return new ResultSetIterator<>(result, this::value); } catch (SQLException e) { throw new DataCollectionException(e); } @@ -187,7 +187,7 @@ protected Iterator> entryIterator() { try (Connection connection = dataSource.getConnection(); PreparedStatement statement = connection.prepareStatement(selectEntries)) { ResultSet result = statement.executeQuery(); - return new PostgresIterator<>(result, this::entry); + return new ResultSetIterator<>(result, this::entry); } catch (SQLException e) { throw new DataCollectionException(e); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresHeaderRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/HeaderRepository.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresHeaderRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/HeaderRepository.java index 15975a972..c4c665c99 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresHeaderRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/HeaderRepository.java @@ -31,14 +31,12 @@ import java.util.Map; import javax.sql.DataSource; import org.apache.baremaps.database.copy.CopyWriter; -import org.apache.baremaps.database.repository.HeaderRepository; -import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Header; import org.postgresql.PGConnection; import org.postgresql.copy.PGCopyOutputStream; /** Provides an implementation of the {@code HeaderRepository} baked by a PostgreSQL table. */ -public class PostgresHeaderRepository implements HeaderRepository { +public class HeaderRepository implements Repository { private final DataSource dataSource; @@ -65,7 +63,7 @@ public class PostgresHeaderRepository implements HeaderRepository { * * @param dataSource */ - public PostgresHeaderRepository(DataSource dataSource) { + public HeaderRepository(DataSource dataSource) { this(dataSource, "public", "osm_headers", "replication_sequence_number", "replication_timestamp", "replication_url", "source", "writing_program"); @@ -83,7 +81,7 @@ public PostgresHeaderRepository(DataSource dataSource) { * @param sourceColumn * @param writingProgramColumn */ - public PostgresHeaderRepository(DataSource dataSource, String schema, String table, + public HeaderRepository(DataSource dataSource, String schema, String table, String replicationSequenceNumberColumn, String replicationTimestampColumn, String replicationUrlColumn, String sourceColumn, String writingProgramColumn) { var fullTableName = String.format("%1$s.%2$s", schema, table); @@ -160,8 +158,11 @@ public void truncate() throws RepositoryException { } } - /** {@inheritDoc} */ - @Override + /** + * Selects all the headers. + * + * @throws RepositoryException + */ public List
selectAll() throws RepositoryException { try (Connection connection = dataSource.getConnection(); PreparedStatement statement = connection.prepareStatement(selectLatest)) { @@ -178,8 +179,11 @@ public List
selectAll() throws RepositoryException { } } - /** {@inheritDoc} */ - @Override + /** + * Selects the latest header. + * + * @throws RepositoryException + */ public Header selectLatest() throws RepositoryException { return selectAll().get(0); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresJsonbMapper.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/JsonbMapper.java similarity index 96% rename from baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresJsonbMapper.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/JsonbMapper.java index 065bfc9c9..7df6ce4f5 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresJsonbMapper.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/JsonbMapper.java @@ -25,11 +25,11 @@ import java.util.HashMap; import java.util.Map; -class PostgresJsonbMapper { +class JsonbMapper { private static final ObjectMapper mapper = new ObjectMapper(); - private PostgresJsonbMapper() {} + private JsonbMapper() {} /** * Convert a map into a json object diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresNodeRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/NodeRepository.java similarity index 94% rename from baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresNodeRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/NodeRepository.java index b65c23bf2..16c9bbd11 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresNodeRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/NodeRepository.java @@ -31,8 +31,6 @@ import java.util.Map; import javax.sql.DataSource; import org.apache.baremaps.database.copy.CopyWriter; -import org.apache.baremaps.database.repository.NodeRepository; -import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Info; import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.utils.GeometryUtils; @@ -43,9 +41,9 @@ import org.slf4j.LoggerFactory; /** Provides an implementation of the {@code NodeRepository} baked by Postgres. */ -public class PostgresNodeRepository implements NodeRepository { +public class NodeRepository implements Repository { - private static final Logger logger = LoggerFactory.getLogger(PostgresNodeRepository.class); + private static final Logger logger = LoggerFactory.getLogger(NodeRepository.class); private final DataSource dataSource; @@ -72,7 +70,7 @@ public class PostgresNodeRepository implements NodeRepository { * * @param dataSource */ - public PostgresNodeRepository(DataSource dataSource) { + public NodeRepository(DataSource dataSource) { this(dataSource, "public", "osm_nodes", "id", "version", "uid", "timestamp", "changeset", "tags", "lon", "lat", "geom"); @@ -94,7 +92,7 @@ public PostgresNodeRepository(DataSource dataSource) { * @param latitudeColumn * @param geometryColumn */ - public PostgresNodeRepository(DataSource dataSource, String schema, String table, String idColumn, + public NodeRepository(DataSource dataSource, String schema, String table, String idColumn, String versionColumn, String uidColumn, String timestampColumn, String changesetColumn, String tagsColumn, String longitudeColumn, String latitudeColumn, String geometryColumn) { var fullTableName = String.format("%1$s.%2$s", schema, table); @@ -301,7 +299,7 @@ public void copy(List values) throws RepositoryException { writer.writeInteger(value.getInfo().getUid()); writer.writeLocalDateTime(value.getInfo().getTimestamp()); writer.writeLong(value.getInfo().getChangeset()); - writer.writeJsonb(PostgresJsonbMapper.toJson(value.getTags())); + writer.writeJsonb(JsonbMapper.toJson(value.getTags())); writer.writeDouble(value.getLon()); writer.writeDouble(value.getLat()); writer.writeGeometry(value.getGeometry()); @@ -318,7 +316,7 @@ private Node getValue(ResultSet resultSet) throws SQLException, JsonProcessingEx int uid = resultSet.getInt(3); LocalDateTime timestamp = resultSet.getObject(4, LocalDateTime.class); long changeset = resultSet.getLong(5); - Map tags = PostgresJsonbMapper.toMap(resultSet.getString(6)); + Map tags = JsonbMapper.toMap(resultSet.getString(6)); double lon = resultSet.getDouble(7); double lat = resultSet.getDouble(8); Geometry point = GeometryUtils.deserialize(resultSet.getBytes(9)); @@ -333,7 +331,7 @@ private void setValue(PreparedStatement statement, Node value) statement.setObject(3, value.getInfo().getUid()); statement.setObject(4, value.getInfo().getTimestamp()); statement.setObject(5, value.getInfo().getChangeset()); - statement.setObject(6, PostgresJsonbMapper.toJson(value.getTags())); + statement.setObject(6, JsonbMapper.toJson(value.getTags())); statement.setObject(7, value.getLon()); statement.setObject(8, value.getLat()); statement.setBytes(9, GeometryUtils.serialize(value.getGeometry())); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresMap.java index dc9e50019..267f5837a 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresMap.java @@ -23,7 +23,7 @@ /** * An abstract map of data elements backed by a Postgres database. */ -public abstract class PostgresMap implements Map { +abstract class PostgresMap implements Map { /** {@inheritDoc} */ @Override diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresReferenceMap.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/ReferenceMap.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresReferenceMap.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/ReferenceMap.java index 1bd38eed7..2e3e844d6 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresReferenceMap.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/ReferenceMap.java @@ -31,7 +31,7 @@ /** * A read-only {@code LongDataMap} for references baked by OpenStreetMap ways stored in Postgres. */ -public class PostgresReferenceMap extends PostgresMap> { +public class ReferenceMap extends PostgresMap> { private final DataSource dataSource; @@ -54,14 +54,14 @@ public class PostgresReferenceMap extends PostgresMap> { /** * Constructs a {@code PostgresReferenceMap}. */ - public PostgresReferenceMap(DataSource dataSource) { + public ReferenceMap(DataSource dataSource) { this(dataSource, "public", "osm_ways"); } /** * Constructs a {@code PostgresReferenceMap}. */ - public PostgresReferenceMap(DataSource dataSource, String schema, String table) { + public ReferenceMap(DataSource dataSource, String schema, String table) { this.dataSource = dataSource; var fullTableName = String.format("%s.%s", schema, table); this.selectContainsKey = String.format(""" @@ -193,7 +193,7 @@ protected Iterator keyIterator() { try (Connection connection = dataSource.getConnection(); PreparedStatement statement = connection.prepareStatement(selectKeys)) { ResultSet result = statement.executeQuery(); - return new PostgresIterator<>(result, this::key); + return new ResultSetIterator<>(result, this::key); } catch (SQLException e) { throw new DataCollectionException(e); } @@ -212,7 +212,7 @@ protected Iterator> valueIterator() { try (Connection connection = dataSource.getConnection(); PreparedStatement statement = connection.prepareStatement(selectValues)) { ResultSet result = statement.executeQuery(); - return new PostgresIterator<>(result, this::value); + return new ResultSetIterator<>(result, this::value); } catch (SQLException e) { throw new DataCollectionException(e); } @@ -232,7 +232,7 @@ protected Iterator>> entryIterator() { try (Connection connection = dataSource.getConnection(); PreparedStatement statement = connection.prepareStatement(selectEntries)) { ResultSet result = statement.executeQuery(); - return new PostgresIterator<>(result, this::entry); + return new ResultSetIterator<>(result, this::entry); } catch (SQLException e) { throw new DataCollectionException(e); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresRelationRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/RelationRepository.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresRelationRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/RelationRepository.java index 227d892a6..3f3cfa031 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresRelationRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/RelationRepository.java @@ -28,8 +28,6 @@ import java.util.stream.Collectors; import javax.sql.DataSource; import org.apache.baremaps.database.copy.CopyWriter; -import org.apache.baremaps.database.repository.RelationRepository; -import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Info; import org.apache.baremaps.openstreetmap.model.Member; import org.apache.baremaps.openstreetmap.model.Member.MemberType; @@ -40,7 +38,7 @@ import org.postgresql.copy.PGCopyOutputStream; /** Provides an implementation of the {@code RelationRepository} baked by Postgres. */ -public class PostgresRelationRepository implements RelationRepository { +public class RelationRepository implements Repository { private final DataSource dataSource; @@ -67,7 +65,7 @@ public class PostgresRelationRepository implements RelationRepository { * * @param dataSource */ - public PostgresRelationRepository(DataSource dataSource) { + public RelationRepository(DataSource dataSource) { this(dataSource, "public", "osm_relations", "id", "version", "uid", "timestamp", "changeset", "tags", "member_refs", "member_types", "member_roles", "geom"); @@ -90,7 +88,7 @@ public PostgresRelationRepository(DataSource dataSource) { * @param memberRoles * @param geometryColumn */ - public PostgresRelationRepository(DataSource dataSource, String schema, String table, + public RelationRepository(DataSource dataSource, String schema, String table, String idColumn, String versionColumn, String uidColumn, String timestampColumn, String changesetColumn, String tagsColumn, String memberRefs, String memberTypes, String memberRoles, @@ -295,7 +293,7 @@ public void copy(List values) throws RepositoryException { writer.writeInteger(value.getInfo().getUid()); writer.writeLocalDateTime(value.getInfo().getTimestamp()); writer.writeLong(value.getInfo().getChangeset()); - writer.writeJsonb(PostgresJsonbMapper.toJson(value.getTags())); + writer.writeJsonb(JsonbMapper.toJson(value.getTags())); writer.writeLongList( value.getMembers().stream().map(Member::getRef).collect(Collectors.toList())); writer.writeIntegerList(value.getMembers().stream().map(Member::getType) @@ -316,7 +314,7 @@ private Relation getValue(ResultSet resultSet) throws SQLException, JsonProcessi int uid = resultSet.getInt(3); LocalDateTime timestamp = resultSet.getObject(4, LocalDateTime.class); long changeset = resultSet.getLong(5); - Map tags = PostgresJsonbMapper.toMap(resultSet.getString(6)); + Map tags = JsonbMapper.toMap(resultSet.getString(6)); Long[] refs = (Long[]) resultSet.getArray(7).getArray(); Integer[] types = (Integer[]) resultSet.getArray(8).getArray(); String[] roles = (String[]) resultSet.getArray(9).getArray(); @@ -336,7 +334,7 @@ private void setValue(PreparedStatement statement, Relation value) statement.setObject(3, value.getInfo().getUid()); statement.setObject(4, value.getInfo().getTimestamp()); statement.setObject(5, value.getInfo().getChangeset()); - statement.setObject(6, PostgresJsonbMapper.toJson(value.getTags())); + statement.setObject(6, JsonbMapper.toJson(value.getTags())); Object[] refs = value.getMembers().stream().map(Member::getRef).toArray(); statement.setObject(7, statement.getConnection().createArrayOf("bigint", refs)); Object[] types = diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/Repository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/Repository.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/database/repository/Repository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/Repository.java index 457d9baeb..e128f3a41 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/Repository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/Repository.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.repository; +package org.apache.baremaps.database.postgres; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/RepositoryException.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/RepositoryException.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/database/repository/RepositoryException.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/RepositoryException.java index bc2bf3918..68d6141a9 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/RepositoryException.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/RepositoryException.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.database.repository; +package org.apache.baremaps.database.postgres; /** Signals that an exception occurred in a {@code Repository}. */ public class RepositoryException extends Exception { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresIterator.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/ResultSetIterator.java similarity index 92% rename from baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresIterator.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/ResultSetIterator.java index 30e84c253..175ed72ca 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresIterator.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/ResultSetIterator.java @@ -26,12 +26,12 @@ import java.util.function.Function; import org.apache.baremaps.data.collection.DataCollectionException; -class PostgresIterator implements Iterator { +class ResultSetIterator implements Iterator { private final ResultSet resultSet; private final Function mapper; - public PostgresIterator(ResultSet resultSet, Function mapper) { + public ResultSetIterator(ResultSet resultSet, Function mapper) { this.resultSet = resultSet; this.mapper = mapper; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresWayRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/WayRepository.java similarity index 94% rename from baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresWayRepository.java rename to baremaps-core/src/main/java/org/apache/baremaps/database/postgres/WayRepository.java index df4dbbb4e..f884a4305 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/PostgresWayRepository.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/WayRepository.java @@ -34,8 +34,6 @@ import java.util.Map; import javax.sql.DataSource; import org.apache.baremaps.database.copy.CopyWriter; -import org.apache.baremaps.database.repository.RepositoryException; -import org.apache.baremaps.database.repository.WayRepository; import org.apache.baremaps.openstreetmap.model.Info; import org.apache.baremaps.openstreetmap.model.Way; import org.apache.baremaps.openstreetmap.utils.GeometryUtils; @@ -46,9 +44,9 @@ import org.slf4j.LoggerFactory; /** Provides an implementation of the {@code WayRepository} baked by Postgres. */ -public class PostgresWayRepository implements WayRepository { +public class WayRepository implements Repository { - private static final Logger logger = LoggerFactory.getLogger(PostgresWayRepository.class); + private static final Logger logger = LoggerFactory.getLogger(WayRepository.class); private final DataSource dataSource; @@ -75,7 +73,7 @@ public class PostgresWayRepository implements WayRepository { * * @param dataSource the datasource */ - public PostgresWayRepository(DataSource dataSource) { + public WayRepository(DataSource dataSource) { this(dataSource, "public", "osm_ways", "id", "version", "uid", "timestamp", "changeset", "tags", "nodes", "geom"); @@ -96,7 +94,7 @@ public PostgresWayRepository(DataSource dataSource) { * @param nodesColumn * @param geometryColumn */ - public PostgresWayRepository(DataSource dataSource, String schema, String table, String idColumn, + public WayRepository(DataSource dataSource, String schema, String table, String idColumn, String versionColumn, String uidColumn, String timestampColumn, String changesetColumn, String tagsColumn, String nodesColumn, String geometryColumn) { var fullTableName = String.format("%1$s.%2$s", schema, table); @@ -302,7 +300,7 @@ public void copy(List values) throws RepositoryException { writer.writeInteger(value.getInfo().getUid()); writer.writeLocalDateTime(value.getInfo().getTimestamp()); writer.writeLong(value.getInfo().getChangeset()); - writer.writeJsonb(PostgresJsonbMapper.toJson(value.getTags())); + writer.writeJsonb(JsonbMapper.toJson(value.getTags())); writer.writeLongList(value.getNodes()); writer.writeGeometry(value.getGeometry()); } @@ -318,7 +316,7 @@ private Way getValue(ResultSet resultSet) throws SQLException, JsonProcessingExc int uid = resultSet.getInt(3); LocalDateTime timestamp = resultSet.getObject(4, LocalDateTime.class); long changeset = resultSet.getLong(5); - Map tags = PostgresJsonbMapper.toMap(resultSet.getString(6)); + Map tags = JsonbMapper.toMap(resultSet.getString(6)); List nodes = new ArrayList<>(); Array array = resultSet.getArray(7); if (array != null) { @@ -336,7 +334,7 @@ private void setValue(PreparedStatement statement, Way value) statement.setObject(3, value.getInfo().getUid()); statement.setObject(4, value.getInfo().getTimestamp()); statement.setObject(5, value.getInfo().getChangeset()); - statement.setObject(6, PostgresJsonbMapper.toJson(value.getTags())); + statement.setObject(6, JsonbMapper.toJson(value.getTags())); statement.setObject(7, value.getNodes().stream().mapToLong(Long::longValue).toArray()); statement.setBytes(8, GeometryUtils.serialize(value.getGeometry())); } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/HeaderRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/HeaderRepository.java deleted file mode 100644 index ec202f86d..000000000 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/HeaderRepository.java +++ /dev/null @@ -1,41 +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.baremaps.database.repository; - - - -import java.util.List; -import org.apache.baremaps.openstreetmap.model.Header; - -/** Provides an interface to a repository storing OpenStreetMap headers. */ -public interface HeaderRepository extends Repository { - - /** - * Selects all the headers. - * - * @throws RepositoryException - */ - List
selectAll() throws RepositoryException; - - /** - * Selects the latest header. - * - * @throws RepositoryException - */ - Header selectLatest() throws RepositoryException; -} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/NodeRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/NodeRepository.java deleted file mode 100644 index 53680188f..000000000 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/NodeRepository.java +++ /dev/null @@ -1,27 +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.baremaps.database.repository; - -import org.apache.baremaps.openstreetmap.model.Node; - -/** - * A repository of nodes. - */ -public interface NodeRepository extends Repository { - -} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/RelationRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/RelationRepository.java deleted file mode 100644 index 357194b66..000000000 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/RelationRepository.java +++ /dev/null @@ -1,27 +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.baremaps.database.repository; - -import org.apache.baremaps.openstreetmap.model.Relation; - -/** - * A repository of relations. - */ -public interface RelationRepository extends Repository { - -} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/WayRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/repository/WayRepository.java deleted file mode 100644 index d81696a35..000000000 --- a/baremaps-core/src/main/java/org/apache/baremaps/database/repository/WayRepository.java +++ /dev/null @@ -1,27 +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.baremaps.database.repository; - -import org.apache.baremaps.openstreetmap.model.Way; - -/** - * A repository of ways. - */ -public interface WayRepository extends Repository { - -} diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightFeatures.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightFeatures.java index b62f78dbc..c5a1050b0 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightFeatures.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightFeatures.java @@ -24,9 +24,9 @@ import java.util.List; import java.util.Map; import java.util.StringJoiner; -import org.apache.baremaps.database.postgres.PostgresNodeRepository; -import org.apache.baremaps.database.postgres.PostgresRelationRepository; -import org.apache.baremaps.database.postgres.PostgresWayRepository; +import org.apache.baremaps.database.postgres.NodeRepository; +import org.apache.baremaps.database.postgres.RelationRepository; +import org.apache.baremaps.database.postgres.WayRepository; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.slf4j.Logger; @@ -77,9 +77,9 @@ public void execute(WorkflowContext context) throws Exception { var datasource = context.getDataSource(database); // Initialize the repositories - var nodeRepository = new PostgresNodeRepository(datasource); - var wayRepository = new PostgresWayRepository(datasource); - var relationRepository = new PostgresRelationRepository(datasource); + var nodeRepository = new NodeRepository(datasource); + var wayRepository = new WayRepository(datasource); + var relationRepository = new RelationRepository(datasource); nodeRepository.create(); wayRepository.create(); relationRepository.create(); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightTranslations.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightTranslations.java index 6cf90ab4f..3cb44997f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightTranslations.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportDaylightTranslations.java @@ -22,9 +22,9 @@ import java.util.HashMap; import java.util.StringJoiner; import java.util.stream.Collectors; -import org.apache.baremaps.database.postgres.PostgresNodeRepository; -import org.apache.baremaps.database.postgres.PostgresRelationRepository; -import org.apache.baremaps.database.postgres.PostgresWayRepository; +import org.apache.baremaps.database.postgres.NodeRepository; +import org.apache.baremaps.database.postgres.RelationRepository; +import org.apache.baremaps.database.postgres.WayRepository; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.slf4j.Logger; @@ -88,9 +88,9 @@ public void execute(WorkflowContext context) throws Exception { var datasource = context.getDataSource(database); // Initialize the repositories - var nodeRepository = new PostgresNodeRepository(datasource); - var wayRepository = new PostgresWayRepository(datasource); - var relationRepository = new PostgresRelationRepository(datasource); + var nodeRepository = new NodeRepository(datasource); + var wayRepository = new WayRepository(datasource); + var relationRepository = new RelationRepository(datasource); nodeRepository.create(); wayRepository.create(); relationRepository.create(); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java index a10530078..8a2c3864b 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmOsc.java @@ -23,8 +23,8 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.StringJoiner; +import org.apache.baremaps.database.function.CopyChangeImporter; import org.apache.baremaps.database.postgres.*; -import org.apache.baremaps.database.repository.CopyChangeImporter; import org.apache.baremaps.openstreetmap.function.*; import org.apache.baremaps.openstreetmap.xml.XmlChangeReader; import org.apache.baremaps.utils.Compression; @@ -76,9 +76,9 @@ public void execute(WorkflowContext context) throws Exception { // Initialize the repositories var datasource = context.getDataSource(database); - var nodeRepository = new PostgresNodeRepository(datasource); - var wayRepository = new PostgresWayRepository(datasource); - var relationRepository = new PostgresRelationRepository(datasource); + var nodeRepository = new NodeRepository(datasource); + var wayRepository = new WayRepository(datasource); + var relationRepository = new RelationRepository(datasource); var coordinateMap = context.getCoordinateMap(); var referenceMap = context.getReferenceMap(); diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java index 55d6eb781..002cf3073 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java @@ -23,12 +23,8 @@ import java.util.List; import java.util.Map; import java.util.StringJoiner; -import org.apache.baremaps.database.postgres.PostgresHeaderRepository; -import org.apache.baremaps.database.postgres.PostgresNodeRepository; -import org.apache.baremaps.database.postgres.PostgresRelationRepository; -import org.apache.baremaps.database.postgres.PostgresWayRepository; -import org.apache.baremaps.database.repository.*; -import org.apache.baremaps.database.repository.BlockImporter; +import org.apache.baremaps.database.function.BlockImporter; +import org.apache.baremaps.database.postgres.*; import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; import org.apache.baremaps.openstreetmap.model.Way; @@ -84,10 +80,10 @@ public void execute(WorkflowContext context) throws Exception { // Initialize the repositories var datasource = context.getDataSource(database); - var headerRepository = new PostgresHeaderRepository(datasource); - var nodeRepository = new PostgresNodeRepository(datasource); - var wayRepository = new PostgresWayRepository(datasource); - var relationRepository = new PostgresRelationRepository(datasource); + var headerRepository = new HeaderRepository(datasource); + var nodeRepository = new NodeRepository(datasource); + var wayRepository = new WayRepository(datasource); + var relationRepository = new RelationRepository(datasource); if (replaceExisting) { // Drop the existing tables diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java index e46353d77..deaf4e836 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java @@ -22,13 +22,8 @@ import java.util.Map; import java.util.StringJoiner; import java.util.zip.GZIPInputStream; -import org.apache.baremaps.database.postgres.PostgresCoordinateMap; -import org.apache.baremaps.database.postgres.PostgresHeaderRepository; -import org.apache.baremaps.database.postgres.PostgresNodeRepository; -import org.apache.baremaps.database.postgres.PostgresReferenceMap; -import org.apache.baremaps.database.postgres.PostgresRelationRepository; -import org.apache.baremaps.database.postgres.PostgresWayRepository; -import org.apache.baremaps.database.repository.*; +import org.apache.baremaps.database.function.ChangeElementsImporter; +import org.apache.baremaps.database.postgres.*; import org.apache.baremaps.openstreetmap.function.*; import org.apache.baremaps.openstreetmap.model.Header; import org.apache.baremaps.openstreetmap.model.Node; @@ -78,12 +73,12 @@ public UpdateOsmDatabase(Object database, Integer databaseSrid, String replicati @Override public void execute(WorkflowContext context) throws Exception { var datasource = context.getDataSource(database); - var coordinateMap = new PostgresCoordinateMap(datasource); - var referenceMap = new PostgresReferenceMap(datasource); - var headerRepository = new PostgresHeaderRepository(datasource); - var nodeRepository = new PostgresNodeRepository(datasource); - var wayRepository = new PostgresWayRepository(datasource); - var relationRepository = new PostgresRelationRepository(datasource); + var coordinateMap = new CoordinateMap(datasource); + var referenceMap = new ReferenceMap(datasource); + var headerRepository = new HeaderRepository(datasource); + var nodeRepository = new NodeRepository(datasource); + var wayRepository = new WayRepository(datasource); + var relationRepository = new RelationRepository(datasource); execute( coordinateMap, referenceMap, 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 6bf87cf3e..74f298a65 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 @@ -72,8 +72,6 @@ public void test() throws SQLException { ModelHandler.addFunctions(rootSchema, "ST_AsMVT", emptyPath, VectorTileFunctions.class.getName(), "asVectorTile", true); - - // Create the city table DataRowType cityRowType = new DataRowTypeImpl("city", List.of( new DataColumnImpl("id", Type.INTEGER), diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresHeaderRepositoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/HeaderRepositoryTest.java similarity index 93% rename from baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresHeaderRepositoryTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/postgres/HeaderRepositoryTest.java index 3cddd873f..a9786ad90 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresHeaderRepositoryTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/HeaderRepositoryTest.java @@ -29,19 +29,18 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; -import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Header; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; -class PostgresHeaderRepositoryTest extends PostgresRepositoryTest { +class HeaderRepositoryTest extends PostgresRepositoryTest { - PostgresHeaderRepository headerRepository; + HeaderRepository headerRepository; @BeforeEach void init() throws SQLException, IOException { - headerRepository = new PostgresHeaderRepository(dataSource()); + headerRepository = new HeaderRepository(dataSource()); } @Test diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresNodeRepositoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/NodeRepositoryTest.java similarity index 92% rename from baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresNodeRepositoryTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/postgres/NodeRepositoryTest.java index bc178b934..e2709fa5c 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresNodeRepositoryTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/NodeRepositoryTest.java @@ -27,19 +27,18 @@ import java.util.List; import java.util.stream.Collectors; import org.apache.baremaps.database.repository.Constants; -import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Node; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; -class PostgresNodeRepositoryTest extends PostgresRepositoryTest { +class NodeRepositoryTest extends PostgresRepositoryTest { - PostgresNodeRepository nodeRepository; + NodeRepository nodeRepository; @BeforeEach void beforeEach() throws SQLException, IOException { - nodeRepository = new PostgresNodeRepository(dataSource()); + nodeRepository = new NodeRepository(dataSource()); } @Test diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresRelationRepositoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/RelationRepositoryTest.java similarity index 92% rename from baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresRelationRepositoryTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/postgres/RelationRepositoryTest.java index 9a0efc9c0..da5243db3 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresRelationRepositoryTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/RelationRepositoryTest.java @@ -27,19 +27,18 @@ import java.util.List; import java.util.stream.Collectors; import org.apache.baremaps.database.repository.Constants; -import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Relation; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; -class PostgresRelationRepositoryTest extends PostgresRepositoryTest { +class RelationRepositoryTest extends PostgresRepositoryTest { - PostgresRelationRepository relationRepository; + RelationRepository relationRepository; @BeforeEach void init() throws SQLException, IOException { - relationRepository = new PostgresRelationRepository(dataSource()); + relationRepository = new RelationRepository(dataSource()); } @Test diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresWayRepositoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/WayRepositoryTest.java similarity index 92% rename from baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresWayRepositoryTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/database/postgres/WayRepositoryTest.java index 6c1063432..4906b88d6 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/PostgresWayRepositoryTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/WayRepositoryTest.java @@ -27,19 +27,18 @@ import java.util.List; import java.util.stream.Collectors; import org.apache.baremaps.database.repository.Constants; -import org.apache.baremaps.database.repository.RepositoryException; import org.apache.baremaps.openstreetmap.model.Way; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; -class PostgresWayRepositoryTest extends PostgresRepositoryTest { +class WayRepositoryTest extends PostgresRepositoryTest { - PostgresWayRepository wayRepository; + WayRepository wayRepository; @BeforeEach void init() throws SQLException, IOException { - wayRepository = new PostgresWayRepository(dataSource()); + wayRepository = new WayRepository(dataSource()); } @Test diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/repository/BlockImporterTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/repository/BlockImporterTest.java index 42d23c615..0980c4c19 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/database/repository/BlockImporterTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/database/repository/BlockImporterTest.java @@ -27,10 +27,8 @@ import java.sql.SQLException; import javax.sql.DataSource; import org.apache.baremaps.database.PostgresContainerTest; -import org.apache.baremaps.database.postgres.PostgresHeaderRepository; -import org.apache.baremaps.database.postgres.PostgresNodeRepository; -import org.apache.baremaps.database.postgres.PostgresRelationRepository; -import org.apache.baremaps.database.postgres.PostgresWayRepository; +import org.apache.baremaps.database.function.BlockImporter; +import org.apache.baremaps.database.postgres.*; import org.apache.baremaps.openstreetmap.pbf.PbfBlockReader; import org.apache.baremaps.utils.PostgresUtils; import org.junit.jupiter.api.BeforeEach; @@ -40,18 +38,18 @@ class BlockImporterTest extends PostgresContainerTest { public DataSource dataSource; - public PostgresHeaderRepository headerRepository; - public PostgresNodeRepository nodeRepository; - public PostgresWayRepository wayRepository; - public PostgresRelationRepository relationRepository; + public HeaderRepository headerRepository; + public NodeRepository nodeRepository; + public WayRepository wayRepository; + public RelationRepository relationRepository; @BeforeEach void init() throws SQLException, IOException { dataSource = PostgresUtils.createDataSource(jdbcUrl(), 1); - headerRepository = new PostgresHeaderRepository(dataSource); - nodeRepository = new PostgresNodeRepository(dataSource); - wayRepository = new PostgresWayRepository(dataSource); - relationRepository = new PostgresRelationRepository(dataSource); + headerRepository = new HeaderRepository(dataSource); + nodeRepository = new NodeRepository(dataSource); + wayRepository = new WayRepository(dataSource); + relationRepository = new RelationRepository(dataSource); try (Connection connection = dataSource.getConnection()) { PostgresUtils.executeResource(connection, "queries/osm_create_extensions.sql"); PostgresUtils.executeResource(connection, "queries/osm_drop_tables.sql"); diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java index 8be791617..ded184b50 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java @@ -31,13 +31,13 @@ import org.apache.baremaps.data.memory.OnHeapMemory; import org.apache.baremaps.data.type.LongListDataType; import org.apache.baremaps.data.type.geometry.CoordinateDataType; -import org.apache.baremaps.database.postgres.PostgresCoordinateMap; -import org.apache.baremaps.database.postgres.PostgresHeaderRepository; -import org.apache.baremaps.database.postgres.PostgresNodeRepository; -import org.apache.baremaps.database.postgres.PostgresReferenceMap; -import org.apache.baremaps.database.postgres.PostgresRelationRepository; +import org.apache.baremaps.database.postgres.CoordinateMap; +import org.apache.baremaps.database.postgres.HeaderRepository; +import org.apache.baremaps.database.postgres.NodeRepository; import org.apache.baremaps.database.postgres.PostgresRepositoryTest; -import org.apache.baremaps.database.postgres.PostgresWayRepository; +import org.apache.baremaps.database.postgres.ReferenceMap; +import org.apache.baremaps.database.postgres.RelationRepository; +import org.apache.baremaps.database.postgres.WayRepository; import org.apache.baremaps.openstreetmap.model.Header; import org.apache.baremaps.openstreetmap.state.StateReader; import org.apache.baremaps.testing.TestFiles; @@ -53,10 +53,10 @@ void sample() throws Exception { int srid = 4326; // Initialize the repositories - PostgresHeaderRepository headerRepository = new PostgresHeaderRepository(dataSource()); - PostgresNodeRepository nodeRepository = new PostgresNodeRepository(dataSource()); - PostgresWayRepository wayRepository = new PostgresWayRepository(dataSource()); - PostgresRelationRepository relationRepository = new PostgresRelationRepository(dataSource()); + HeaderRepository headerRepository = new HeaderRepository(dataSource()); + NodeRepository nodeRepository = new NodeRepository(dataSource()); + WayRepository wayRepository = new WayRepository(dataSource()); + RelationRepository relationRepository = new RelationRepository(dataSource()); // Initialize the data maps Map coordinateMap = DataConversions.asMap( @@ -83,8 +83,8 @@ void sample() throws Exception { assertGeometryEquals(RELATION_MULTIPOLYGON_36, relationRepository.get(36L).getGeometry(), 100); // Use the database as the reference instead of the original maps - coordinateMap = new PostgresCoordinateMap(dataSource()); - referenceMap = new PostgresReferenceMap(dataSource()); + coordinateMap = new CoordinateMap(dataSource()); + referenceMap = new ReferenceMap(dataSource()); // Add elements to the database UpdateOsmDatabase.execute(coordinateMap, referenceMap, headerRepository, nodeRepository, diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java index 42047dad8..7c1080d58 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityGeometryBuilder.java @@ -22,7 +22,6 @@ import java.util.List; import java.util.Map; import java.util.function.Consumer; -import org.apache.baremaps.database.model.*; import org.apache.baremaps.openstreetmap.model.Entity; import org.apache.baremaps.openstreetmap.model.Node; import org.apache.baremaps.openstreetmap.model.Relation; diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java index 7bf211e05..238fcb8cf 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityProjectionTransformer.java @@ -20,7 +20,6 @@ import java.util.function.Consumer; -import org.apache.baremaps.database.model.*; import org.apache.baremaps.openstreetmap.model.Element; import org.apache.baremaps.openstreetmap.model.Entity; diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java index 85394ee49..783e9d3c5 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/function/EntityToGeometryMapper.java @@ -21,7 +21,6 @@ import java.util.Optional; import java.util.function.Function; -import org.apache.baremaps.database.model.*; import org.apache.baremaps.openstreetmap.model.*; import org.apache.baremaps.openstreetmap.stream.StreamException; import org.locationtech.jts.geom.Geometry; diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java index 2839ba90b..a031eccd5 100644 --- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java +++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/pbf/PbfBlockReader.java @@ -21,7 +21,6 @@ import java.util.List; import java.util.Map; import java.util.stream.Stream; -import org.apache.baremaps.database.function.*; import org.apache.baremaps.openstreetmap.function.*; import org.apache.baremaps.openstreetmap.model.Block; import org.apache.baremaps.openstreetmap.stream.ConsumerUtils; From 868f92e05558ac78ce6c2f4e810650731300f4cb Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Tue, 21 May 2024 15:26:04 +0200 Subject: [PATCH 18/19] Improve naming --- .../apache/baremaps/workflow/tasks/ImportGeoPackage.java | 4 ++-- .../apache/baremaps/workflow/tasks/ImportShapefile.java | 4 ++-- .../{DataTableAdapter.java => DataTableMapper.java} | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) rename baremaps-data/src/main/java/org/apache/baremaps/data/schema/{DataTableAdapter.java => DataTableMapper.java} (87%) diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java index 57bae7f7f..8c8536711 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java @@ -19,7 +19,7 @@ import java.nio.file.Path; import java.util.StringJoiner; -import org.apache.baremaps.data.schema.DataTableAdapter; +import org.apache.baremaps.data.schema.DataTableMapper; import org.apache.baremaps.data.schema.DataTableGeometryTransformer; import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.apache.baremaps.storage.geopackage.GeoPackageDataSchema; @@ -79,7 +79,7 @@ public void execute(WorkflowContext context) throws Exception { var rowTransformer = new DataTableGeometryTransformer(geoPackageTable, projectionTransformer); var transformedDataTable = - new DataTableAdapter(geoPackageDataStore.get(name), rowTransformer); + new DataTableMapper(geoPackageDataStore.get(name), rowTransformer); postgresDataStore.add(transformedDataTable); } } catch (Exception e) { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java index f90e2d844..ad82602e9 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java @@ -19,7 +19,7 @@ import java.nio.file.Path; import java.util.StringJoiner; -import org.apache.baremaps.data.schema.DataTableAdapter; +import org.apache.baremaps.data.schema.DataTableMapper; import org.apache.baremaps.data.schema.DataTableGeometryTransformer; import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.apache.baremaps.storage.postgres.PostgresDataSchema; @@ -76,7 +76,7 @@ public void execute(WorkflowContext context) throws Exception { var postgresDataStore = new PostgresDataSchema(dataSource); var rowTransformer = new DataTableGeometryTransformer(shapefileDataTable, new ProjectionTransformer(fileSrid, databaseSrid)); - var transformedDataTable = new DataTableAdapter(shapefileDataTable, rowTransformer); + var transformedDataTable = new DataTableMapper(shapefileDataTable, rowTransformer); postgresDataStore.add(transformedDataTable); } catch (Exception e) { throw new WorkflowException(e); diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableAdapter.java b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableMapper.java similarity index 87% rename from baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableAdapter.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableMapper.java index 61ea2dfa5..9f7b746cd 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableAdapter.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/schema/DataTableMapper.java @@ -24,7 +24,7 @@ /** * A decorator for a table that transforms the geometries of the rows. */ -public class DataTableAdapter implements DataTable { +public class DataTableMapper implements DataTable { private final DataTable table; @@ -34,11 +34,11 @@ public class DataTableAdapter implements DataTable { * Constructs a new table decorator. * * @param table the table to decorate - * @param transformer the row transformer + * @param mapper the row transformer */ - public DataTableAdapter(DataTable table, Function transformer) { + public DataTableMapper(DataTable table, Function mapper) { this.table = table; - this.transformer = transformer; + this.transformer = mapper; } /** From 43bf5d0f8d331a3a63c47e8cf248008c8582c482 Mon Sep 17 00:00:00 2001 From: Bertil Chapuis Date: Tue, 21 May 2024 15:40:12 +0200 Subject: [PATCH 19/19] Simplify package structure and remove duplicated code --- .../baremaps/workflow/WorkflowContext.java | 1 - .../workflow/tasks/ImportGeoPackage.java | 2 +- .../workflow/tasks/ImportShapefile.java | 2 +- .../tasks/ImportUpdateSampleTest.java | 2 +- .../CoordinateArrayDataType.java | 3 +- .../{geometry => }/CoordinateDataType.java | 4 +- .../GeometryCollectionDataType.java | 3 +- .../type/{geometry => }/GeometryDataType.java | 3 +- .../{geometry => }/LineStringDataType.java | 3 +- .../MultiLineStringDataType.java | 3 +- .../{geometry => }/MultiPointDataType.java | 3 +- .../{geometry => }/MultiPolygonDataType.java | 3 +- .../type/{geometry => }/PointDataType.java | 3 +- .../type/{geometry => }/PolygonDataType.java | 3 +- .../baremaps/data/type/RowDataType.java | 1 - .../data/type/{geometry => }/WKBDataType.java | 3 +- .../data/type/geometry/LonLatDataType.java | 72 ------------------- .../baremaps/data/type/DataTypeProvider.java | 1 - 18 files changed, 14 insertions(+), 101 deletions(-) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/CoordinateArrayDataType.java (96%) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/CoordinateDataType.java (91%) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/GeometryCollectionDataType.java (97%) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/GeometryDataType.java (98%) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/LineStringDataType.java (96%) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/MultiLineStringDataType.java (97%) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/MultiPointDataType.java (96%) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/MultiPolygonDataType.java (96%) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/PointDataType.java (96%) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/PolygonDataType.java (97%) rename baremaps-data/src/main/java/org/apache/baremaps/data/type/{geometry => }/WKBDataType.java (96%) delete mode 100644 baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LonLatDataType.java 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 b0bd8dc4a..349f30121 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 @@ -29,7 +29,6 @@ import org.apache.baremaps.data.collection.*; import org.apache.baremaps.data.memory.MemoryMappedDirectory; import org.apache.baremaps.data.type.*; -import org.apache.baremaps.data.type.geometry.LonLatDataType; import org.apache.baremaps.utils.FileUtils; import org.apache.baremaps.utils.PostgresUtils; import org.locationtech.jts.geom.Coordinate; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java index 8c8536711..e0b80d98f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportGeoPackage.java @@ -19,8 +19,8 @@ import java.nio.file.Path; import java.util.StringJoiner; -import org.apache.baremaps.data.schema.DataTableMapper; import org.apache.baremaps.data.schema.DataTableGeometryTransformer; +import org.apache.baremaps.data.schema.DataTableMapper; import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.apache.baremaps.storage.geopackage.GeoPackageDataSchema; import org.apache.baremaps.storage.postgres.PostgresDataSchema; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java index ad82602e9..e671d3dca 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportShapefile.java @@ -19,8 +19,8 @@ import java.nio.file.Path; import java.util.StringJoiner; -import org.apache.baremaps.data.schema.DataTableMapper; import org.apache.baremaps.data.schema.DataTableGeometryTransformer; +import org.apache.baremaps.data.schema.DataTableMapper; import org.apache.baremaps.openstreetmap.function.ProjectionTransformer; import org.apache.baremaps.storage.postgres.PostgresDataSchema; import org.apache.baremaps.storage.shapefile.ShapefileDataTable; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java index ded184b50..0942ebf7e 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java @@ -29,8 +29,8 @@ import org.apache.baremaps.data.collection.DataConversions; import org.apache.baremaps.data.collection.IndexedDataMap; import org.apache.baremaps.data.memory.OnHeapMemory; +import org.apache.baremaps.data.type.CoordinateDataType; import org.apache.baremaps.data.type.LongListDataType; -import org.apache.baremaps.data.type.geometry.CoordinateDataType; import org.apache.baremaps.database.postgres.CoordinateMap; import org.apache.baremaps.database.postgres.HeaderRepository; import org.apache.baremaps.database.postgres.NodeRepository; diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateArrayDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/CoordinateArrayDataType.java similarity index 96% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateArrayDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/CoordinateArrayDataType.java index 2c0528f75..124dc1e99 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateArrayDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/CoordinateArrayDataType.java @@ -15,10 +15,9 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; -import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.Coordinate; /** diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/CoordinateDataType.java similarity index 91% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/CoordinateDataType.java index edfc2ad59..0e4d99961 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/CoordinateDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/CoordinateDataType.java @@ -15,13 +15,11 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; -import org.apache.baremaps.data.type.DataType; -import org.apache.baremaps.data.type.MemoryAlignedDataType; import org.locationtech.jts.geom.Coordinate; /** A {@link DataType} for reading and writing {@link Coordinate}s in {@link ByteBuffer}s. */ diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryCollectionDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/GeometryCollectionDataType.java similarity index 97% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryCollectionDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/GeometryCollectionDataType.java index b805129ce..451e4ce18 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryCollectionDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/GeometryCollectionDataType.java @@ -15,11 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; import java.util.ArrayList; -import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.GeometryCollection; import org.locationtech.jts.geom.GeometryFactory; diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/GeometryDataType.java similarity index 98% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/GeometryDataType.java index 4d6eed1cc..87e96c6af 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/GeometryDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/GeometryDataType.java @@ -15,11 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; -import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.*; /** diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LineStringDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/LineStringDataType.java similarity index 96% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LineStringDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/LineStringDataType.java index 82a59e800..c6960230f 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LineStringDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/LineStringDataType.java @@ -15,10 +15,9 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; -import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.LineString; diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiLineStringDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MultiLineStringDataType.java similarity index 97% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiLineStringDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/MultiLineStringDataType.java index 05546494e..fd2e773ee 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiLineStringDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MultiLineStringDataType.java @@ -15,11 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; import java.util.ArrayList; -import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.LineString; import org.locationtech.jts.geom.MultiLineString; diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPointDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MultiPointDataType.java similarity index 96% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPointDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/MultiPointDataType.java index dfb1601fd..8161660c6 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPointDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MultiPointDataType.java @@ -15,10 +15,9 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; -import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.MultiPoint; diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPolygonDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MultiPolygonDataType.java similarity index 96% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPolygonDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/MultiPolygonDataType.java index 5ec35d407..b7a881852 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/MultiPolygonDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MultiPolygonDataType.java @@ -15,11 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; import java.util.ArrayList; -import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.*; /** diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PointDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/PointDataType.java similarity index 96% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PointDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/PointDataType.java index 1bbd90840..e48156acb 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PointDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/PointDataType.java @@ -15,10 +15,9 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; -import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.Point; diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PolygonDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/PolygonDataType.java similarity index 97% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PolygonDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/PolygonDataType.java index 642410801..86822094d 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/PolygonDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/PolygonDataType.java @@ -15,11 +15,10 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import java.nio.ByteBuffer; import java.util.ArrayList; -import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.LineString; import org.locationtech.jts.geom.LinearRing; diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java index a5837de29..0474432f1 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/RowDataType.java @@ -25,7 +25,6 @@ import org.apache.baremaps.data.schema.DataRow; import org.apache.baremaps.data.schema.DataRowImpl; import org.apache.baremaps.data.schema.DataRowType; -import org.apache.baremaps.data.type.geometry.*; /** * A data type for rows. diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/WKBDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/WKBDataType.java similarity index 96% rename from baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/WKBDataType.java rename to baremaps-data/src/main/java/org/apache/baremaps/data/type/WKBDataType.java index f6cab6a5e..49c2dea87 100644 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/WKBDataType.java +++ b/baremaps-data/src/main/java/org/apache/baremaps/data/type/WKBDataType.java @@ -15,14 +15,13 @@ * limitations under the License. */ -package org.apache.baremaps.data.type.geometry; +package org.apache.baremaps.data.type; import static org.locationtech.jts.io.WKBConstants.wkbNDR; import java.nio.ByteBuffer; -import org.apache.baremaps.data.type.DataType; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.PrecisionModel; diff --git a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LonLatDataType.java b/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LonLatDataType.java deleted file mode 100644 index ecd5ea1b7..000000000 --- a/baremaps-data/src/main/java/org/apache/baremaps/data/type/geometry/LonLatDataType.java +++ /dev/null @@ -1,72 +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.baremaps.data.type.geometry; - - - -import java.nio.ByteBuffer; -import org.apache.baremaps.data.type.DataType; -import org.apache.baremaps.data.type.MemoryAlignedDataType; -import org.locationtech.jts.geom.Coordinate; - -/** - * A {@link DataType} for reading and writing longitude/latitude coordinates in {@link ByteBuffer}s. - * An integer is used to compress the coordinates to the detriment of precision (centimeters). - */ -public class LonLatDataType extends MemoryAlignedDataType { - - private static final double BITS = Math.pow(2, 31); - private static final long SHIFT = 32; - private static final long MASK = (1L << 32) - 1L; - - /** Constructs a {@link LonLatDataType}. */ - public LonLatDataType() { - super(Long.BYTES); - } - - public static long encodeLonLat(final double lon, final double lat) { - long x = (long) (((lon + 180) / 360) * BITS); - long y = (long) (((lat + 90) / 180) * BITS); - long l = (x << SHIFT); - long r = (y & MASK); - return l | r; - } - - public static double decodeLon(final long value) { - double l = (value >>> 32); - return (l / BITS) * 360 - 180; - } - - public static double decodeLat(final long value) { - long r = (value & MASK); - return (r / BITS) * 180 - 90; - } - - /** {@inheritDoc} */ - @Override - public void write(final ByteBuffer buffer, final int position, final Coordinate value) { - buffer.putLong(position, encodeLonLat(value.x, value.y)); - } - - /** {@inheritDoc} */ - @Override - public Coordinate read(final ByteBuffer buffer, final int position) { - var value = buffer.getLong(position); - return new Coordinate(decodeLon(value), decodeLat(value)); - } -} diff --git a/baremaps-data/src/test/java/org/apache/baremaps/data/type/DataTypeProvider.java b/baremaps-data/src/test/java/org/apache/baremaps/data/type/DataTypeProvider.java index f97f1c0af..0f202f1ee 100644 --- a/baremaps-data/src/test/java/org/apache/baremaps/data/type/DataTypeProvider.java +++ b/baremaps-data/src/test/java/org/apache/baremaps/data/type/DataTypeProvider.java @@ -25,7 +25,6 @@ import org.apache.baremaps.data.schema.DataColumn.Type; import org.apache.baremaps.data.schema.DataRowType; import org.apache.baremaps.data.schema.DataRowTypeImpl; -import org.apache.baremaps.data.type.geometry.*; import org.junit.jupiter.params.provider.Arguments; import org.locationtech.jts.geom.*;