This is an automated email from the ASF dual-hosted git repository. bchapuis pushed a commit to branch overturemaps-lucene in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git
commit d7a4b63963271ac4485995ebf02b1d0a9bbf07e2 Author: Bertil Chapuis <[email protected]> AuthorDate: Wed Oct 30 18:58:29 2024 +0100 Refactor the geocoder package --- .../org/apache/baremaps/cli/geocoder/Search.java | 2 +- .../{ => geonames}/GeonamesDocumentMapper.java | 2 +- .../geocoder/{ => geonames}/GeonamesEntry.java | 2 +- .../{ => geonames}/GeonamesQueryBuilder.java | 4 ++- .../geocoder/{ => geonames}/GeonamesReader.java | 2 +- .../OpenStreetMapDocumentMapper.java} | 6 ++--- .../OpenStreetMapEntityConsumer.java} | 12 ++++----- .../openstreetmap/OpenStreetMapQuery.java} | 6 ++--- .../openstreetmap}/OsmTags.java | 2 +- .../org/apache/baremaps/iploc/IpLocMapper.java | 2 +- .../tasks/CreateGeocoderOpenStreetMap.java | 6 ++--- .../workflow/tasks/CreateGeonamesIndex.java | 4 +-- .../geocoder/{ => geonames}/GeonamesIndexTest.java | 3 ++- .../{ => geonames}/GeonamesReaderTest.java | 3 ++- .../openstreetmap/OpenStreetMapIndexTest.java} | 7 ++--- baremaps-geocoder/pom.xml | 30 ++++++++++++++++++++++ .../apache/baremaps/server/GeocoderResource.java | 2 +- pom.xml | 1 + 18 files changed, 66 insertions(+), 30 deletions(-) diff --git a/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Search.java b/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Search.java index e14fbc2a8..49eefe598 100644 --- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Search.java +++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Search.java @@ -21,7 +21,7 @@ package org.apache.baremaps.cli.geocoder; import java.nio.file.Path; import java.util.concurrent.Callable; -import org.apache.baremaps.geocoder.GeonamesQueryBuilder; +import org.apache.baremaps.geocoder.geonames.GeonamesQueryBuilder; import org.apache.lucene.search.*; import org.apache.lucene.store.FSDirectory; import org.slf4j.Logger; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesDocumentMapper.java b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesDocumentMapper.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesDocumentMapper.java rename to baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesDocumentMapper.java index 7f704aff2..24b262138 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesDocumentMapper.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesDocumentMapper.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.geocoder; +package org.apache.baremaps.geocoder.geonames; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesEntry.java b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesEntry.java similarity index 99% rename from baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesEntry.java rename to baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesEntry.java index 601cc3b05..6393537b0 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesEntry.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesEntry.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.geocoder; +package org.apache.baremaps.geocoder.geonames; /** * A record from the Geonames database. diff --git a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesQueryBuilder.java b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesQueryBuilder.java similarity index 97% rename from baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesQueryBuilder.java rename to baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesQueryBuilder.java index 8b4958ac2..d1cd32db2 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesQueryBuilder.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesQueryBuilder.java @@ -15,13 +15,15 @@ * limitations under the License. */ -package org.apache.baremaps.geocoder; +package org.apache.baremaps.geocoder.geonames; import com.google.common.base.Strings; import java.text.ParseException; import java.util.Map; + +import org.apache.baremaps.geocoder.GeocoderConstants; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.expressions.Expression; import org.apache.lucene.expressions.SimpleBindings; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesReader.java similarity index 98% rename from baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java rename to baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesReader.java index b35c4c45f..aa1b04271 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesReader.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/geonames/GeonamesReader.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.geocoder; +package org.apache.baremaps.geocoder.geonames; diff --git a/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmDocumentMapper.java b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapDocumentMapper.java similarity index 94% rename from baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmDocumentMapper.java rename to baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapDocumentMapper.java index 60e318ecc..cc478c01f 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmDocumentMapper.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapDocumentMapper.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.geocoderosm; +package org.apache.baremaps.geocoder.openstreetmap; @@ -35,8 +35,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class GeocoderOsmDocumentMapper implements Function<Element, Document> { - private static final Logger logger = LoggerFactory.getLogger(GeocoderOsmDocumentMapper.class); +public class OpenStreetMapDocumentMapper implements Function<Element, Document> { + private static final Logger logger = LoggerFactory.getLogger(OpenStreetMapDocumentMapper.class); @Override public Document apply(Element element) { diff --git a/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmConsumerEntity.java b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapEntityConsumer.java similarity index 79% rename from baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmConsumerEntity.java rename to baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapEntityConsumer.java index ea7f6616b..ab29a2954 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmConsumerEntity.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapEntityConsumer.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.geocoderosm; +package org.apache.baremaps.geocoder.openstreetmap; import java.util.function.Consumer; import org.apache.baremaps.openstreetmap.model.Element; @@ -24,14 +24,14 @@ import org.apache.lucene.index.IndexWriter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class GeocoderOsmConsumerEntity implements Consumer<Entity> { +public class OpenStreetMapEntityConsumer implements Consumer<Entity> { private final IndexWriter indexWriter; - private final GeocoderOsmDocumentMapper geocoderOsmDocumentMapper = - new GeocoderOsmDocumentMapper(); + private final OpenStreetMapDocumentMapper geocoderOsmDocumentMapper = + new OpenStreetMapDocumentMapper(); - private static final Logger logger = LoggerFactory.getLogger(GeocoderOsmConsumerEntity.class); + private static final Logger logger = LoggerFactory.getLogger(OpenStreetMapEntityConsumer.class); - public GeocoderOsmConsumerEntity(IndexWriter indexWriter) { + public OpenStreetMapEntityConsumer(IndexWriter indexWriter) { this.indexWriter = indexWriter; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmQuery.java b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapQuery.java similarity index 92% rename from baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmQuery.java rename to baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapQuery.java index bd326369c..435917539 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmQuery.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapQuery.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.geocoderosm; +package org.apache.baremaps.geocoder.openstreetmap; import org.apache.baremaps.geocoder.GeocoderConstants; import org.apache.lucene.queryparser.classic.QueryParserBase; @@ -24,11 +24,11 @@ import org.apache.lucene.search.BooleanClause; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.Query; -public class GeocoderOsmQuery { +public class OpenStreetMapQuery { private final String query; - public GeocoderOsmQuery(String query) { + public OpenStreetMapQuery(String query) { this.query = query; } diff --git a/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/OsmTags.java b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OsmTags.java similarity index 95% rename from baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/OsmTags.java rename to baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OsmTags.java index 3be62f7b4..7385b4a8d 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/OsmTags.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/openstreetmap/OsmTags.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.geocoderosm; +package org.apache.baremaps.geocoder.openstreetmap; public enum OsmTags { NAME("name"), diff --git a/baremaps-core/src/main/java/org/apache/baremaps/iploc/IpLocMapper.java b/baremaps-core/src/main/java/org/apache/baremaps/iploc/IpLocMapper.java index 5602f09cd..23ee3e5a4 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/iploc/IpLocMapper.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/iploc/IpLocMapper.java @@ -27,7 +27,7 @@ import java.util.Optional; import java.util.function.Function; import java.util.regex.Pattern; import net.ripe.ipresource.IpResourceRange; -import org.apache.baremaps.geocoder.GeonamesQueryBuilder; +import org.apache.baremaps.geocoder.geonames.GeonamesQueryBuilder; import org.apache.baremaps.utils.IsoCountriesUtils; import org.apache.lucene.search.Query; import org.apache.lucene.search.SearcherManager; 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 1b258922b..c4fcf0c82 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 @@ -24,7 +24,7 @@ import java.util.List; import java.util.Map; import java.util.StringJoiner; import org.apache.baremaps.geocoder.GeocoderConstants; -import org.apache.baremaps.geocoderosm.GeocoderOsmConsumerEntity; +import org.apache.baremaps.geocoder.openstreetmap.OpenStreetMapEntityConsumer; import org.apache.baremaps.openstreetmap.pbf.PbfEntityReader; import org.apache.baremaps.openstreetmap.stream.StreamUtils; import org.apache.baremaps.workflow.Task; @@ -75,7 +75,7 @@ public class CreateGeocoderOpenStreetMap implements Task { var config = new IndexWriterConfig(GeocoderConstants.ANALYZER); try (var indexWriter = new IndexWriter(directory, config)) { - var importer = new GeocoderOsmConsumerEntity(indexWriter); + var importer = new OpenStreetMapEntityConsumer(indexWriter); execute( path, coordinateMap, @@ -88,7 +88,7 @@ public class CreateGeocoderOpenStreetMap implements Task { Path path, Map<Long, Coordinate> coordinateMap, Map<Long, List<Long>> referenceMap, - GeocoderOsmConsumerEntity importer) throws IOException { + OpenStreetMapEntityConsumer importer) throws IOException { // configure the block reader var reader = new PbfEntityReader() diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeonamesIndex.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeonamesIndex.java index 07655c37e..f15160483 100644 --- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeonamesIndex.java +++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateGeonamesIndex.java @@ -22,8 +22,8 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.StringJoiner; import org.apache.baremaps.geocoder.GeocoderConstants; -import org.apache.baremaps.geocoder.GeonamesDocumentMapper; -import org.apache.baremaps.geocoder.GeonamesReader; +import org.apache.baremaps.geocoder.geonames.GeonamesDocumentMapper; +import org.apache.baremaps.geocoder.geonames.GeonamesReader; import org.apache.baremaps.workflow.Task; import org.apache.baremaps.workflow.WorkflowContext; import org.apache.lucene.document.Document; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/geonames/GeonamesIndexTest.java similarity index 98% rename from baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/geocoder/geonames/GeonamesIndexTest.java index b9d392ff2..0effcf9ad 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/geonames/GeonamesIndexTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.geocoder; +package org.apache.baremaps.geocoder.geonames; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -24,6 +24,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays; + import org.apache.baremaps.testing.TestFiles; import org.apache.baremaps.utils.FileUtils; import org.apache.baremaps.workflow.WorkflowContext; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/geonames/GeonamesReaderTest.java similarity index 96% rename from baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/geocoder/geonames/GeonamesReaderTest.java index efc90e6d9..3f3170f95 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesReaderTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/geonames/GeonamesReaderTest.java @@ -15,12 +15,13 @@ * limitations under the License. */ -package org.apache.baremaps.geocoder; +package org.apache.baremaps.geocoder.geonames; import static org.junit.jupiter.api.Assertions.*; import java.io.IOException; import java.nio.file.Files; + import org.apache.baremaps.testing.TestFiles; import org.junit.jupiter.api.Test; diff --git a/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapIndexTest.java similarity index 97% rename from baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java rename to baremaps-core/src/test/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapIndexTest.java index f267f6007..4d74343e6 100644 --- a/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java +++ b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/openstreetmap/OpenStreetMapIndexTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.baremaps.geocoderosm; +package org.apache.baremaps.geocoder.openstreetmap; import static org.apache.baremaps.testing.TestFiles.SAMPLE_OSM_PBF; import static org.junit.jupiter.api.Assertions.*; @@ -27,6 +27,7 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.List; + import org.apache.baremaps.utils.FileUtils; import org.apache.baremaps.workflow.WorkflowContext; import org.apache.baremaps.workflow.tasks.CreateGeocoderOpenStreetMap; @@ -49,7 +50,7 @@ import org.junit.jupiter.api.Test; @Disabled("prototype implementation") -public class OSMIndexTest { +public class OpenStreetMapIndexTest { private static Path directory; private static IndexSearcher searcher; @@ -76,7 +77,7 @@ public class OSMIndexTest { @Test void testCreateIndex() throws Exception { var query = - new GeocoderOsmQuery("vaduz").build(); + new OpenStreetMapQuery("vaduz").build(); var topDocs = searcher.search(query, 1); var doc = searcher.doc(Arrays.stream(topDocs.scoreDocs).findFirst().get().doc); assertEquals("Vaduz", doc.getField("name").stringValue()); diff --git a/baremaps-geocoder/pom.xml b/baremaps-geocoder/pom.xml new file mode 100644 index 000000000..8214f6b70 --- /dev/null +++ b/baremaps-geocoder/pom.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.baremaps</groupId> + <artifactId>baremaps</artifactId> + <version>0.7.4-SNAPSHOT</version> + </parent> + <artifactId>baremaps-geocoder</artifactId> + <dependencies> + <dependency> + <groupId>org.apache.lucene</groupId> + <artifactId>lucene-core</artifactId> + </dependency> + <dependency> + <groupId>org.apache.lucene</groupId> + <artifactId>lucene-expressions</artifactId> + </dependency> + <dependency> + <groupId>org.apache.lucene</groupId> + <artifactId>lucene-queryparser</artifactId> + </dependency> + <dependency> + <groupId>org.apache.lucene</groupId> + <artifactId>lucene-spatial-extras</artifactId> + </dependency> + </dependencies> +</project> \ No newline at end of file diff --git a/baremaps-server/src/main/java/org/apache/baremaps/server/GeocoderResource.java b/baremaps-server/src/main/java/org/apache/baremaps/server/GeocoderResource.java index 5a6d595da..071e6521e 100644 --- a/baremaps-server/src/main/java/org/apache/baremaps/server/GeocoderResource.java +++ b/baremaps-server/src/main/java/org/apache/baremaps/server/GeocoderResource.java @@ -33,7 +33,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.baremaps.geocoder.GeonamesQueryBuilder; +import org.apache.baremaps.geocoder.geonames.GeonamesQueryBuilder; import org.apache.baremaps.openstreetmap.stream.StreamException; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.ScoreDoc; diff --git a/pom.xml b/pom.xml index 07acbfcdf..ffabeb341 100644 --- a/pom.xml +++ b/pom.xml @@ -59,6 +59,7 @@ limitations under the License. <module>baremaps-pmtiles</module> <module>baremaps-server</module> <module>baremaps-testing</module> + <module>baremaps-geocoder</module> </modules> <scm>
