This is an automated email from the ASF dual-hosted git repository.
bchapuis pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git
The following commit(s) were added to refs/heads/main by this push:
new 2cf01119 Fix some issues detected by sonar (#877)
2cf01119 is described below
commit 2cf01119caf48caa41e5820250b98b27616bf535
Author: Bertil Chapuis <[email protected]>
AuthorDate: Thu Jun 13 22:15:07 2024 +0200
Fix some issues detected by sonar (#877)
* Add mandatory html tags
* Suppress warnings related to picocli's print writer
* Inline variables
* Improve exception handling
* Rename class because record keyword is now reserved
* Fix naming issues
* Fix sonar issues
* Fix unit test
---
.../java/org/apache/baremaps/cli/Baremaps.java | 13 ++++--
.../org/apache/baremaps/cli/database/Database.java | 5 ++-
.../apache/baremaps/cli/database/ExecuteSql.java | 5 ++-
.../apache/baremaps/cli/database/ImportOsm.java | 5 ++-
.../apache/baremaps/cli/database/UpdateOsm.java | 5 ++-
.../org/apache/baremaps/cli/geocoder/Geocoder.java | 8 +++-
.../org/apache/baremaps/cli/geocoder/Search.java | 5 ++-
.../org/apache/baremaps/cli/geocoder/Serve.java | 5 ++-
.../java/org/apache/baremaps/cli/iploc/IpLoc.java | 7 ++-
.../java/org/apache/baremaps/cli/iploc/Serve.java | 5 ++-
.../main/java/org/apache/baremaps/cli/map/Dev.java | 5 ++-
.../java/org/apache/baremaps/cli/map/Export.java | 5 ++-
.../java/org/apache/baremaps/cli/map/Init.java | 5 ++-
.../java/org/apache/baremaps/cli/map/MBTiles.java | 5 ++-
.../main/java/org/apache/baremaps/cli/map/Map.java | 9 ++--
.../java/org/apache/baremaps/cli/map/Serve.java | 5 ++-
.../org/apache/baremaps/cli/workflow/Execute.java | 5 ++-
.../org/apache/baremaps/cli/workflow/Init.java | 5 ++-
.../org/apache/baremaps/cli/workflow/Workflow.java | 7 ++-
.../org/apache/baremaps/config/ConfigReader.java | 3 +-
.../database/metadata/DatabaseMetadata.java | 35 ++++++++-------
.../baremaps/geocoder/GeonamesDocumentMapper.java | 50 ++++++++++-----------
.../{GeonamesRecord.java => GeonamesEntry.java} | 4 +-
.../apache/baremaps/geocoder/GeonamesReader.java | 8 ++--
.../apache/baremaps/iploc/InetAddressUtils.java | 4 ++
.../org/apache/baremaps/iploc/IpLocMapper.java | 2 +-
.../org/apache/baremaps/iploc/IpLocRepository.java | 52 +++++++++++++---------
.../flatgeobuf/FlatGeoBufTypeConversion.java | 3 +-
.../storage/geopackage/GeoPackageDataTable.java | 39 ++++++++--------
.../storage/postgres/PostgresDataStore.java | 32 ++++++++-----
.../shapefile/internal/CommonByteReader.java | 2 +-
.../shapefile/internal/DbaseByteReader.java | 5 +--
.../org/apache/baremaps/tilestore/TileCoord.java | 11 ++---
.../tilestore/postgres/PostgresQueryGenerator.java | 17 ++++---
.../apache/baremaps/utils/ObjectMapperUtils.java | 4 ++
.../java/org/apache/baremaps/workflow/Task.java | 1 +
.../workflow/tasks/CreateGeonamesIndex.java | 6 +--
.../baremaps/workflow/tasks/UpdateOsmDatabase.java | 3 +-
.../baremaps/geocoder/GeonamesReaderTest.java | 6 +--
.../geopackage/GeoPackageToPostgresTest.java | 2 +-
.../baremaps/tilestore/TileCoordIteratorTest.java | 10 ++---
.../postgres/PostgresQueryGeneratorTest.java | 3 +-
.../baremaps/utils/ProjectionTransformerTest.java | 2 +-
.../org/apache/baremaps/workflow/WorkflowTest.java | 10 ++---
.../workflow/tasks/ExecuteCommandTest.java | 2 +-
.../workflow/tasks/ImportGeoPackageTest.java | 7 ++-
.../baremaps/data/algorithm/BinarySearch.java | 4 ++
.../baremaps/data/algorithm/ExternalMergeSort.java | 18 ++++----
.../apache/baremaps/data/algorithm/Hilbert.java | 6 ++-
.../data/collection/FixedSizeDataList.java | 4 +-
.../data/collection/MemoryAlignedDataList.java | 7 +--
.../data/collection/MemoryAlignedDataMap.java | 4 +-
.../apache/baremaps/data/storage/DataRowImpl.java | 2 +-
.../baremaps/data/type/FixedSizeDataType.java | 2 +-
.../baremaps/data/type/GeometryDataType.java | 9 ++--
.../baremaps/data/type/MemoryAlignedDataType.java | 2 +-
.../baremaps/data/type/SmallIntegerDataType.java | 4 +-
.../baremaps/data/util/MappedByteBufferUtils.java | 9 ++--
.../baremaps/data/algorithm/UnionStreamTest.java | 8 ++--
.../geoparquet/data/GeoParquetGroupImpl.java | 7 +--
.../org/apache/baremaps/maplibre/style/Style.java | 12 ++++-
.../apache/baremaps/maplibre/style/StyleLayer.java | 12 ++++-
.../baremaps/maplibre/tilejson/TileJSON.java | 17 ++++++-
.../apache/baremaps/maplibre/tileset/Tileset.java | 23 ++++++++--
.../maplibre/vectortile/VectorTileEncoder.java | 22 ++++-----
.../maplibre/vectortile/VectorTileFunctions.java | 4 ++
.../maplibre/vectortile/VectorTileDecoderTest.java | 14 +++---
.../maplibre/vectortile/VectorTileEncoderTest.java | 14 +++---
.../maplibre/vectortile/VectorTileTest.java | 6 +--
.../function/EntityToGeometryMapper.java | 4 +-
.../baremaps/openstreetmap/model/Element.java | 4 +-
.../openstreetmap/stream/BatchedSpliterator.java | 2 +-
.../openstreetmap/stream/ConsumerUtils.java | 8 +++-
.../baremaps/openstreetmap/stream/StreamUtils.java | 4 ++
.../openstreetmap/stream/SupplierUtils.java | 8 ++--
.../baremaps/openstreetmap/utils/CRSUtils.java | 2 +-
.../openstreetmap/utils/GeometryUtils.java | 2 -
.../openstreetmap/xml/XmlChangeSpliterator.java | 11 ++---
.../openstreetmap/xml/XmlEntitySpliterator.java | 11 ++---
.../{OsmTestData.java => OsmDataTest.java} | 12 ++---
.../openstreetmap/stream/StreamUtilsTest.java | 11 +++--
.../xml/XmlChangeSpliteratorTest.java | 10 ++---
...DataType.java => XmlEntitySpliteratorTest.java} | 6 +--
.../org/apache/baremaps/pmtiles/Compression.java | 12 ++---
.../java/org/apache/baremaps/pmtiles/Header.java | 1 +
.../org/apache/baremaps/pmtiles/PMTilesReader.java | 18 +++-----
.../org/apache/baremaps/pmtiles/PMTilesUtils.java | 10 ++---
.../apache/baremaps/pmtiles/PMTilesUtilsTest.java | 1 -
.../apache/baremaps/server/GeocoderResource.java | 3 +-
.../org/apache/baremaps/server/IpLocResource.java | 3 +-
.../org/apache/baremaps/server/SearchResource.java | 2 +-
.../baremaps/testing/GeometryAssertions.java | 4 ++
.../org/apache/baremaps/testing/TestFiles.java | 4 ++
93 files changed, 481 insertions(+), 319 deletions(-)
diff --git a/baremaps-cli/src/main/java/org/apache/baremaps/cli/Baremaps.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/Baremaps.java
index e931ff65..ca8ff7d6 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/Baremaps.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/Baremaps.java
@@ -31,17 +31,24 @@ import org.apache.baremaps.cli.map.Map;
import org.apache.baremaps.cli.workflow.Workflow;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.config.Configurator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import picocli.CommandLine;
import picocli.CommandLine.Command;
import picocli.CommandLine.IVersionProvider;
import picocli.CommandLine.Option;
-@Command(name = "baremaps", description = "A toolkit for producing vector
tiles.",
- versionProvider = VersionProvider.class, subcommands = {Workflow.class,
Database.class,
- Map.class, Geocoder.class, IpLoc.class},
+@Command(
+ name = "baremaps",
+ description = "A toolkit for producing vector tiles.",
+ versionProvider = VersionProvider.class,
+ subcommands = {Workflow.class, Database.class, Map.class, Geocoder.class,
IpLoc.class},
sortOptions = false)
+@SuppressWarnings("squid:S106")
public class Baremaps implements Callable<Integer> {
+ private static final Logger logger = LoggerFactory.getLogger(Baremaps.class);
+
@Option(names = {"-V", "--version"}, versionHelp = true, description =
"Print version info.")
boolean version;
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/Database.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/Database.java
index fcf1cb6e..5bdcf3d7 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/Database.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/Database.java
@@ -22,9 +22,12 @@ package org.apache.baremaps.cli.database;
import picocli.CommandLine;
import picocli.CommandLine.Command;
-@Command(name = "database", description = "Database commands.",
+@Command(
+ name = "database",
+ description = "Database commands.",
subcommands = {ExecuteSql.class, ImportOsm.class, UpdateOsm.class},
sortOptions = false)
+@SuppressWarnings("squid:S106")
public class Database implements Runnable {
@Override
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ExecuteSql.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ExecuteSql.java
index ada71330..f6ac9f05 100644
---
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ExecuteSql.java
+++
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ExecuteSql.java
@@ -27,7 +27,10 @@ import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;
import picocli.CommandLine.Option;
-@Command(name = "execute-sql", description = "Execute SQL queries in the
database.")
+@Command(
+ name = "execute-sql",
+ description = "Execute SQL queries in the database.")
+@SuppressWarnings("squid:S106")
public class ExecuteSql implements Callable<Integer> {
@Mixin
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ImportOsm.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ImportOsm.java
index ad962fcc..b470319f 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ImportOsm.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ImportOsm.java
@@ -27,7 +27,10 @@ import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;
import picocli.CommandLine.Option;
-@Command(name = "import-osm", description = "Import OpenStreetMap data in
Postgres.")
+@Command(
+ name = "import-osm",
+ description = "Import OpenStreetMap data in Postgres.")
+@SuppressWarnings("squid:S106")
public class ImportOsm implements Callable<Integer> {
@Mixin
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/UpdateOsm.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/UpdateOsm.java
index 11fb8d6c..2502c4fe 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/UpdateOsm.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/UpdateOsm.java
@@ -27,7 +27,10 @@ import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;
import picocli.CommandLine.Option;
-@Command(name = "update-osm", description = "Update OpenStreetMap data in
Postgres.")
+@Command(
+ name = "update-osm",
+ description = "Update OpenStreetMap data in Postgres.")
+@SuppressWarnings("squid:S106")
public class UpdateOsm implements Callable<Integer> {
@Mixin
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Geocoder.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Geocoder.java
index 766c205d..d9d2dbb1 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Geocoder.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Geocoder.java
@@ -22,8 +22,12 @@ package org.apache.baremaps.cli.geocoder;
import picocli.CommandLine;
import picocli.CommandLine.Command;
-@Command(name = "geocoder", description = "Geocoder commands (experimental).",
- subcommands = {Serve.class, Search.class}, sortOptions = false)
+@Command(
+ name = "geocoder",
+ description = "Geocoder commands (experimental).",
+ sortOptions = false,
+ subcommands = {Serve.class, Search.class})
+@SuppressWarnings("squid:S106")
public class Geocoder implements Runnable {
@Override
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 379b0c27..e14fbc2a 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
@@ -29,7 +29,10 @@ import org.slf4j.LoggerFactory;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;
-@Command(name = "search", description = "Search geonames index.")
+@Command(
+ name = "search",
+ description = "Search geonames index.")
+@SuppressWarnings("squid:S106")
public class Search implements Callable<Integer> {
private static final Logger logger = LoggerFactory.getLogger(Search.class);
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Serve.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Serve.java
index 3af14e17..8a3afb24 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Serve.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Serve.java
@@ -39,7 +39,10 @@ import org.slf4j.LoggerFactory;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;
-@Command(name = "serve", description = "Start a tile server with caching
capabilities.")
+@Command(
+ name = "serve",
+ description = "Start a tile server with caching capabilities.")
+@SuppressWarnings("squid:S106")
public class Serve implements Callable<Integer> {
private static final Logger logger = LoggerFactory.getLogger(Serve.class);
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/iploc/IpLoc.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/iploc/IpLoc.java
index 355de748..f17b9d3b 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/iploc/IpLoc.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/iploc/IpLoc.java
@@ -22,8 +22,11 @@ package org.apache.baremaps.cli.iploc;
import picocli.CommandLine;
import picocli.CommandLine.Command;
-@Command(name = "iploc", subcommands = {Serve.class},
- description = "IP to location commands (experimental).")
+@Command(
+ name = "iploc",
+ description = "IP to location commands (experimental).",
+ subcommands = {Serve.class})
+@SuppressWarnings("squid:S106")
public class IpLoc implements Runnable {
@Override
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/iploc/Serve.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/iploc/Serve.java
index f7aeefc5..0f129334 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/iploc/Serve.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/iploc/Serve.java
@@ -39,7 +39,10 @@ import org.slf4j.LoggerFactory;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;
-@Command(name = "serve", description = "Start an IP to location web service.")
+@Command(
+ name = "serve",
+ description = "Start an IP to location web service.")
+@SuppressWarnings("squid:S106")
public class Serve implements Callable<Integer> {
private static final Logger logger = LoggerFactory.getLogger(Serve.class);
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 2ba6c766..13b37356 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
@@ -48,7 +48,10 @@ import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;
import picocli.CommandLine.Option;
-@Command(name = "dev", description = "Start a development server with live
reload.")
+@Command(
+ name = "dev",
+ description = "Start a development server with live reload.")
+@SuppressWarnings("squid:S106")
public class Dev implements Callable<Integer> {
private static final Logger logger = LoggerFactory.getLogger(Dev.class);
diff --git a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Export.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Export.java
index 741e3403..197a0545 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Export.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Export.java
@@ -30,7 +30,10 @@ import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;
import picocli.CommandLine.Option;
-@Command(name = "export", description = "Export vector tiles from the
database.")
+@Command(
+ name = "export",
+ description = "Export vector tiles from the database.")
+@SuppressWarnings("squid:S106")
public class Export implements Callable<Integer> {
private static final Logger logger = LoggerFactory.getLogger(Export.class);
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 0542db86..e7c116ed 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
@@ -34,7 +34,10 @@ import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;
import picocli.CommandLine.Option;
-@Command(name = "init", description = "Init configuration files.")
+@Command(
+ name = "init",
+ description = "Init configuration files.")
+@SuppressWarnings("squid:S106")
public class Init implements Callable<Integer> {
private static final Logger logger = LoggerFactory.getLogger(Init.class);
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 1644e719..9628169d 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
@@ -46,7 +46,10 @@ import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;
import picocli.CommandLine.Option;
-@Command(name = "mbtiles", description = "Start a mbtiles server with caching
capabilities.")
+@Command(
+ name = "mbtiles",
+ description = "Start a mbtiles server with caching capabilities.")
+@SuppressWarnings("squid:S106")
public class MBTiles implements Callable<Integer> {
private static final Logger logger = LoggerFactory.getLogger(MBTiles.class);
diff --git a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Map.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Map.java
index fa825607..296c3132 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Map.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Map.java
@@ -22,9 +22,12 @@ package org.apache.baremaps.cli.map;
import picocli.CommandLine;
import picocli.CommandLine.Command;
-@Command(name = "map", description = "Map commands.",
- subcommands = {Init.class, Export.class, Serve.class, Dev.class,
MBTiles.class},
- sortOptions = false)
+@Command(
+ name = "map",
+ description = "Map commands.",
+ sortOptions = false,
+ subcommands = {Init.class, Export.class, Serve.class, Dev.class,
MBTiles.class})
+@SuppressWarnings("squid:S106")
public class Map implements Runnable {
@Override
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 cd99a8d2..fc6c648d 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
@@ -50,7 +50,10 @@ import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;
import picocli.CommandLine.Option;
-@Command(name = "serve", description = "Start a tile server with caching
capabilities.")
+@Command(
+ name = "serve",
+ description = "Start a tile server with caching capabilities.")
+@SuppressWarnings("squid:S106")
public class Serve implements Callable<Integer> {
private static final Logger logger = LoggerFactory.getLogger(Serve.class);
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Execute.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Execute.java
index 6e67645e..e290f9c4 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Execute.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Execute.java
@@ -31,7 +31,10 @@ import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;
import picocli.CommandLine.Option;
-@Command(name = "execute", description = "Execute a workflow.")
+@Command(
+ name = "execute",
+ description = "Execute a workflow.")
+@SuppressWarnings("squid:S106")
public class Execute implements Callable<Integer> {
private static final Logger logger = LoggerFactory.getLogger(Execute.class);
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Init.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Init.java
index 5179ab23..c1de8793 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Init.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Init.java
@@ -31,7 +31,10 @@ import org.slf4j.LoggerFactory;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;
-@Command(name = "init", description = "Initialize a workflow.")
+@Command(
+ name = "init",
+ description = "Initialize a workflow.")
+@SuppressWarnings("squid:S106")
public class Init implements Callable<Integer> {
private static final Logger logger = LoggerFactory.getLogger(Init.class);
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Workflow.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Workflow.java
index c23ebbaa..10891a31 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Workflow.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/workflow/Workflow.java
@@ -22,8 +22,11 @@ package org.apache.baremaps.cli.workflow;
import picocli.CommandLine;
import picocli.CommandLine.Command;
-@Command(name = "workflow", subcommands = {Init.class, Execute.class},
- description = "Manage a workflow.")
+@Command(
+ name = "workflow",
+ description = "Manage a workflow.",
+ subcommands = {Init.class, Execute.class})
+@SuppressWarnings("squid:S106")
public class Workflow implements Runnable {
@Override
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/config/ConfigReader.java
b/baremaps-core/src/main/java/org/apache/baremaps/config/ConfigReader.java
index 244a2800..0423e62b 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/config/ConfigReader.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/config/ConfigReader.java
@@ -36,11 +36,10 @@ public class ConfigReader {
public String read(Path path) throws IOException {
var extension =
com.google.common.io.Files.getFileExtension(path.toString());
- var config = switch (extension) {
+ return switch (extension) {
case "js" -> eval(path);
default -> Files.readString(path);
};
- return config;
}
private String eval(Path path) throws IOException {
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/DatabaseMetadata.java
b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/DatabaseMetadata.java
index 1c0a180c..77bc51b6 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/DatabaseMetadata.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/database/metadata/DatabaseMetadata.java
@@ -66,12 +66,15 @@ public class DatabaseMetadata {
this.dataSource = dataSource;
}
- public List<TableMetadata> getTableMetaData() {
+ public List<TableMetadata> getTableMetaData() throws SQLException {
return getTableMetaData(null, null, null, null);
}
- public List<TableMetadata> getTableMetaData(String catalog, String schema,
- String tableNamePattern, String[] types) {
+ public List<TableMetadata> getTableMetaData(
+ String catalog,
+ String schema,
+ String tableNamePattern,
+ String[] types) throws SQLException {
Map<String, TableResult> descriptions = getTables(catalog, schema,
tableNamePattern, types)
.stream().collect(Collectors.toMap(TableResult::tableName,
Function.identity()));
Map<String, List<ColumnResult>> columns = getColumns(catalog, schema,
tableNamePattern, null)
@@ -86,8 +89,11 @@ public class DatabaseMetadata {
.toList();
}
- private List<TableResult> getTables(String catalog, String schemaPattern,
String tableNamePattern,
- String[] types) {
+ private List<TableResult> getTables(
+ String catalog,
+ String schemaPattern,
+ String tableNamePattern,
+ String[] types) throws SQLException {
var tableDescriptions = new ArrayList<TableResult>();
try (var connection = dataSource.getConnection();
var resultSet =
@@ -105,14 +111,15 @@ public class DatabaseMetadata {
resultSet.getString(SELF_REFERENCING_COL_NAME),
resultSet.getString(REF_GENERATION)));
}
- } catch (SQLException e) {
- throw new RuntimeException(e);
}
return tableDescriptions;
}
- private List<ColumnResult> getColumns(String catalog, String schemaPattern,
- String tableNamePattern, String columnNamePattern) {
+ private List<ColumnResult> getColumns(
+ String catalog,
+ String schemaPattern,
+ String tableNamePattern,
+ String columnNamePattern) throws SQLException {
var tableColumns = new ArrayList<ColumnResult>();
try (var connection = dataSource.getConnection();
var resultSet = connection.getMetaData().getColumns(catalog,
schemaPattern,
@@ -143,14 +150,14 @@ public class DatabaseMetadata {
resultSet.getString(IS_AUTOINCREMENT),
resultSet.getString(IS_GENERATEDCOLUMN)));
}
- } catch (SQLException e) {
- throw new RuntimeException(e);
}
return tableColumns;
}
- private List<PrimaryKeyResult> getPrimaryKeys(String catalog, String
schemaPattern,
- String table) {
+ private List<PrimaryKeyResult> getPrimaryKeys(
+ String catalog,
+ String schemaPattern,
+ String table) throws SQLException {
var tablePrimaryKeyColumns = new ArrayList<PrimaryKeyResult>();
try (var connection = dataSource.getConnection();
var resultSet = connection.getMetaData().getPrimaryKeys(catalog,
schemaPattern, table)) {
@@ -163,8 +170,6 @@ public class DatabaseMetadata {
resultSet.getShort(KEY_SEQ),
resultSet.getString(PK_NAME)));
}
- } catch (SQLException e) {
- throw new RuntimeException(e);
}
return tablePrimaryKeyColumns;
}
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesDocumentMapper.java
b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesDocumentMapper.java
index b1afc1d1..7f704aff 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesDocumentMapper.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesDocumentMapper.java
@@ -24,38 +24,38 @@ import org.apache.baremaps.utils.IsoCountriesUtils;
import org.apache.lucene.document.*;
/**
- * Maps a {@link GeonamesRecord} to a Lucene {@link Document}.
+ * Maps a {@link GeonamesEntry} to a Lucene {@link Document}.
*/
-public class GeonamesDocumentMapper implements Function<GeonamesRecord,
Document> {
+public class GeonamesDocumentMapper implements Function<GeonamesEntry,
Document> {
@Override
- public Document apply(GeonamesRecord record) {
+ public Document apply(GeonamesEntry entry) {
Document document = new Document();
- document.add(new TextField("name", record.getName(), Field.Store.YES));
- document.add(new TextField("country",
IsoCountriesUtils.getCountry(record.getCountryCode()),
+ document.add(new TextField("name", entry.getName(), Field.Store.YES));
+ document.add(new TextField("country",
IsoCountriesUtils.getCountry(entry.getCountryCode()),
Field.Store.YES));
// countryCode is not analyzed and thus must be queried using uppercase
- document.add(new StringField("countryCode", record.getCountryCode(),
Field.Store.YES));
- document.add(new LatLonPoint("point", record.getLatitude(),
record.getLongitude()));
- document.add(new StoredField("longitude", record.getLongitude()));
- document.add(new StoredField("latitude", record.getLatitude()));
- document.add(new TextField("asciiname", record.getAsciiname(),
Field.Store.YES));
- document.add(new StoredField("alternatenames",
record.getAlternatenames()));
- document.add(new StringField("featureClass", record.getFeatureClass(),
Field.Store.YES));
- document.add(new StringField("featureCode", record.getFeatureCode(),
Field.Store.YES));
- document.add(new StoredField("cc2", record.getCc2()));
- document.add(new StoredField("admin1Code", record.getAdmin1Code()));
- document.add(new StoredField("admin2Code", record.getAdmin2Code()));
- document.add(new StoredField("admin3Code", record.getAdmin3Code()));
- document.add(new StoredField("admin4Code", record.getAdmin4Code()));
- document.add(new NumericDocValuesField("population",
record.getPopulation()));
- document.add(new StoredField("population", record.getPopulation()));
- if (record.getElevation() != null) {
- document.add(new StoredField("elevation", record.getElevation()));
+ document.add(new StringField("countryCode", entry.getCountryCode(),
Field.Store.YES));
+ document.add(new LatLonPoint("point", entry.getLatitude(),
entry.getLongitude()));
+ document.add(new StoredField("longitude", entry.getLongitude()));
+ document.add(new StoredField("latitude", entry.getLatitude()));
+ document.add(new TextField("asciiname", entry.getAsciiname(),
Field.Store.YES));
+ document.add(new StoredField("alternatenames", entry.getAlternatenames()));
+ document.add(new StringField("featureClass", entry.getFeatureClass(),
Field.Store.YES));
+ document.add(new StringField("featureCode", entry.getFeatureCode(),
Field.Store.YES));
+ document.add(new StoredField("cc2", entry.getCc2()));
+ document.add(new StoredField("admin1Code", entry.getAdmin1Code()));
+ document.add(new StoredField("admin2Code", entry.getAdmin2Code()));
+ document.add(new StoredField("admin3Code", entry.getAdmin3Code()));
+ document.add(new StoredField("admin4Code", entry.getAdmin4Code()));
+ document.add(new NumericDocValuesField("population",
entry.getPopulation()));
+ document.add(new StoredField("population", entry.getPopulation()));
+ if (entry.getElevation() != null) {
+ document.add(new StoredField("elevation", entry.getElevation()));
}
- document.add(new StoredField("dem", record.getDem()));
- document.add(new StoredField("timezone", record.getTimezone()));
- document.add(new StoredField("modificationDate",
record.getModificationDate()));
+ document.add(new StoredField("dem", entry.getDem()));
+ document.add(new StoredField("timezone", entry.getTimezone()));
+ document.add(new StoredField("modificationDate",
entry.getModificationDate()));
return document;
}
}
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesRecord.java
b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesEntry.java
similarity index 98%
rename from
baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesRecord.java
rename to
baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesEntry.java
index 56138ee8..601cc3b0 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesRecord.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesEntry.java
@@ -20,7 +20,7 @@ package org.apache.baremaps.geocoder;
/**
* A record from the Geonames database.
*/
-public class GeonamesRecord {
+public class GeonamesEntry {
// integer id of record in geonames database
private Integer geonameid;
@@ -84,7 +84,7 @@ public class GeonamesRecord {
// date of last modification in yyyy-MM-dd format
private String modificationDate;
- public GeonamesRecord() {
+ public GeonamesEntry() {
// Default constructor
}
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 768f283b..b35c4c45 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
@@ -37,7 +37,7 @@ import java.util.stream.StreamSupport;
*/
public class GeonamesReader {
- public Stream<GeonamesRecord> stream(InputStream inputStream) throws
IOException {
+ public Stream<GeonamesEntry> stream(InputStream inputStream) throws
IOException {
CsvMapper mapper = new CsvMapper();
CsvSchema schema = CsvSchema.builder()
@@ -65,11 +65,11 @@ public class GeonamesReader {
.withoutQuoteChar();
var reader = new BufferedReader(new InputStreamReader(inputStream,
StandardCharsets.UTF_8));
- MappingIterator<GeonamesRecord> recordIterator = mapper
- .readerFor(GeonamesRecord.class)
+ MappingIterator<GeonamesEntry> recordIterator = mapper
+ .readerFor(GeonamesEntry.class)
.with(schema)
.readValues(reader);
- Spliterator<GeonamesRecord> recordSpliterator =
+ Spliterator<GeonamesEntry> recordSpliterator =
Spliterators.spliteratorUnknownSize(recordIterator, 0);
return StreamSupport.stream(recordSpliterator, false);
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/iploc/InetAddressUtils.java
b/baremaps-core/src/main/java/org/apache/baremaps/iploc/InetAddressUtils.java
index 9f774bca..2b337440 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/iploc/InetAddressUtils.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/iploc/InetAddressUtils.java
@@ -23,6 +23,10 @@ import java.net.UnknownHostException;
/** Utility methods for {@code InetAddress}. */
public class InetAddressUtils {
+ private InetAddressUtils() {
+ // Prevent instantiation
+ }
+
/**
* Returns the {@code InetAddress} having the given address.
*
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 f2a605b7..5602f09c 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
@@ -40,7 +40,7 @@ public class IpLocMapper implements Function<NicObject,
Optional<IpLocObject>> {
private static final Logger logger =
LoggerFactory.getLogger(IpLocMapper.class);
- private final float SCORE_THRESHOLD = 0.1f;
+ private static final float SCORE_THRESHOLD = 0.1f;
private final SearcherManager searcherManager;
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 d4f69673..a98fe058 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
@@ -38,42 +38,50 @@ import org.slf4j.LoggerFactory;
*/
public final class IpLocRepository {
- private static final String DROP_TABLE = """
- DROP TABLE IF EXISTS inetnum_locations""";
-
- private static final String CREATE_TABLE = """
- CREATE TABLE IF NOT EXISTS inetnum_locations (
- id integer PRIMARY KEY,
- geocoder_input text,
- ip_start blob,
- ip_end blob,
- longitude real,
- latitude real,
- network text,
- country text,
- source text,
- precision text
- )""";
-
- private static final String CREATE_INDEX = """
- CREATE INDEX inetnum_locations_ips ON inetnum_locations
(ip_start,ip_end);""";
+ private static final String DROP_TABLE =
+ """
+ DROP TABLE IF EXISTS inetnum_locations;
+ """;
+
+ private static final String CREATE_TABLE =
+ """
+ CREATE TABLE IF NOT EXISTS inetnum_locations (
+ id integer PRIMARY KEY,
+ geocoder_input text,
+ ip_start blob,
+ ip_end blob,
+ longitude real,
+ latitude real,
+ network text,
+ country text,
+ source text,
+ precision text
+ )""";
+
+ private static final String CREATE_INDEX =
+ """
+ CREATE INDEX inetnum_locations_ips ON inetnum_locations
(ip_start,ip_end);
+ """;
private static final String INSERT_SQL =
"""
INSERT INTO inetnum_locations(geocoder_input, ip_start, ip_end,
longitude, latitude, network, country, source, precision)
- VALUES(?,?,?,?,?,?,?,?,?)""";
+ VALUES(?,?,?,?,?,?,?,?,?);
+ """;
private static final String SELECT_ALL_SQL =
"""
SELECT id, geocoder_input, ip_start, ip_end, longitude, latitude,
network, country, source, precision
- FROM inetnum_locations;""";
+ FROM inetnum_locations;
+ """;
private static final String SELECT_ALL_BY_IP_SQL =
"""
SELECT id, geocoder_input, ip_start, ip_end, longitude, latitude,
network, country, source, precision
FROM inetnum_locations
WHERE ip_start <= ? AND ip_end >= ?
- ORDER BY ip_start DESC, ip_end ASC;""";
+ ORDER BY ip_start DESC, ip_end ASC;
+ """;
private static final Logger logger =
LoggerFactory.getLogger(IpLocRepository.class);
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 6c46a913..c65e3109 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
@@ -67,7 +67,7 @@ public class FlatGeoBufTypeConversion {
}
public static DataRow asRow(HeaderMeta headerMeta, DataSchema dataType,
Feature feature) {
- var values = new ArrayList();
+ var values = new ArrayList<>();
var geometryBuffer = feature.geometry();
var geometry = GeometryConversions.deserialize(geometryBuffer,
geometryBuffer.type());
@@ -161,6 +161,7 @@ public class FlatGeoBufTypeConversion {
case ColumnType.DateTime -> writeDateTime(propertiesBuffer, value);
case ColumnType.Binary -> writeBinary(propertiesBuffer, value);
default -> {
+ // Do nothing
}
};
}
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 5518cb4b..504d2fda 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
@@ -99,22 +99,6 @@ public class GeoPackageDataTable implements DataTable {
return schema;
}
- /**
- * Converts a GeoPackage value to a Java value.
- *
- * @param value the GeoPackage value
- * @return the Java value
- */
- private Object asJavaValue(Object value) {
- if (value instanceof GeoPackageGeometryData geometry) {
- return asJtsGeometry(geometry.getGeometry());
- } else if (value instanceof Date date) {
- return value.toString();
- } else {
- return value;
- }
- }
-
/**
* Converts a GeoPackage geometry to a JTS geometry.
*
@@ -134,7 +118,7 @@ public class GeoPackageDataTable implements DataTable {
return asJtsMultiLineString(multiLineString);
} else if (geometry instanceof mil.nga.sf.MultiPolygon multiPolygon) {
return asJtsMultiPolygon(multiPolygon);
- } else if (geometry instanceof mil.nga.sf.GeometryCollection
geometryCollection) {
+ } else if (geometry instanceof mil.nga.sf.GeometryCollection<? extends
mil.nga.sf.Geometry>geometryCollection) {
return asJstGeometryCollection(geometryCollection);
} else {
// Unknown geometries are discarded
@@ -149,8 +133,8 @@ public class GeoPackageDataTable implements DataTable {
* @return the JTS geometry collection
*/
private GeometryCollection asJstGeometryCollection(
- mil.nga.sf.GeometryCollection geometryCollection) {
- List<mil.nga.sf.Geometry> geometries = geometryCollection.getGeometries();
+ mil.nga.sf.GeometryCollection<? extends mil.nga.sf.Geometry>
geometryCollection) {
+ List<? extends mil.nga.sf.Geometry> geometries =
geometryCollection.getGeometries();
return geometryFactory.createGeometryCollection(
geometries.stream().map(this::asJtsGeometry).toArray(Geometry[]::new));
}
@@ -275,6 +259,21 @@ public class GeoPackageDataTable implements DataTable {
hasNext = featureResultSet.moveToNext();
return row;
}
- }
+ /**
+ * Converts a GeoPackage value to a Java value.
+ *
+ * @param value the GeoPackage value
+ * @return the Java value
+ */
+ private Object asJavaValue(Object value) {
+ if (value instanceof GeoPackageGeometryData geometry) {
+ return asJtsGeometry(geometry.getGeometry());
+ } else if (value instanceof Date date) {
+ return date.toString();
+ } else {
+ return value;
+ }
+ }
+ }
}
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataStore.java
b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataStore.java
index e767b0d1..58445f92 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataStore.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataStore.java
@@ -65,10 +65,14 @@ public class PostgresDataStore implements DataStore {
*/
@Override
public List<String> list() throws DataStoreException {
- DatabaseMetadata metadata = new DatabaseMetadata(dataSource);
- return metadata.getTableMetaData(null, "public", null, TYPES).stream()
- .map(table -> table.table().tableName())
- .toList();
+ try {
+ DatabaseMetadata metadata = new DatabaseMetadata(dataSource);
+ return metadata.getTableMetaData(null, "public", null, TYPES).stream()
+ .map(table -> table.table().tableName())
+ .toList();
+ } catch (SQLException e) {
+ throw new DataStoreException(e);
+ }
}
/**
@@ -76,15 +80,19 @@ public class PostgresDataStore implements DataStore {
*/
@Override
public DataTable get(String name) throws DataStoreException {
- var databaseMetadata = new DatabaseMetadata(dataSource);
- var postgresName = name.replaceAll(REGEX, "_").toLowerCase();
- var tableMetadata = databaseMetadata.getTableMetaData(null, null,
postgresName, TYPES)
- .stream().findFirst();
- if (tableMetadata.isEmpty()) {
- throw new DataStoreException("Table " + name + " does not exist.");
+ try {
+ var databaseMetadata = new DatabaseMetadata(dataSource);
+ var postgresName = name.replaceAll(REGEX, "_").toLowerCase();
+ var tableMetadata = databaseMetadata.getTableMetaData(null, null,
postgresName, TYPES)
+ .stream().findFirst();
+ if (tableMetadata.isEmpty()) {
+ throw new DataStoreException("Table " + name + " does not exist.");
+ }
+ var schema = createSchema(tableMetadata.get());
+ return new PostgresDataTable(dataSource, schema);
+ } catch (SQLException e) {
+ throw new DataStoreException(e);
}
- var schema = createSchema(tableMetadata.get());
- return new PostgresDataTable(dataSource, schema);
}
/**
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/CommonByteReader.java
b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/CommonByteReader.java
index a0db24c9..4448a9dc 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/CommonByteReader.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/CommonByteReader.java
@@ -51,7 +51,7 @@ public abstract class CommonByteReader implements
AutoCloseable {
*
* @param f File.
*/
- public CommonByteReader(File f) throws IOException {
+ protected CommonByteReader(File f) throws IOException {
Objects.requireNonNull(f, "The file cannot be null.");
this.file = f;
this.fis = new FileInputStream(this.file);
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 a29ffead..bd379602 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
@@ -186,9 +186,8 @@ public class DbaseByteReader extends CommonByteReader
implements AutoCloseable {
*/
public int getRowNum() {
int position = getByteBuffer().position();
- int recordNumber = (position -
Short.toUnsignedInt(this.firstRecordPosition))
- / Short.toUnsignedInt(this.recordLength);
- return recordNumber;
+ return (position - Short.toUnsignedInt(firstRecordPosition))
+ / Short.toUnsignedInt(recordLength);
}
/**
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/TileCoord.java
b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/TileCoord.java
index 86914908..6e3d2f9e 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/tilestore/TileCoord.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/tilestore/TileCoord.java
@@ -134,11 +134,12 @@ public final class TileCoord implements
Comparable<TileCoord> {
* @return the tile
*/
public static TileCoord fromLonLat(double lon, double lat, int z) {
- int x = (int) ((lon + 180.0) / 360.0 * (1 << z));
- int y = (int) ((1
- - Math.log(Math.tan(Math.toRadians(lat)) + 1 /
Math.cos(Math.toRadians(lat))) / Math.PI)
- / 2.0 * (1 << z));
- return new TileCoord(x, y, z);
+ return new TileCoord(
+ (int) ((lon + 180.0) / 360.0 * (1 << z)),
+ (int) ((1 - Math.log(
+ Math.tan(Math.toRadians(lat)) + 1 / Math.cos(Math.toRadians(lat)))
/ Math.PI) / 2.0
+ * (1 << z)),
+ z);
}
/**
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 73f189fb..1e640fab 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
@@ -18,6 +18,7 @@
package org.apache.baremaps.tilestore.postgres;
+import java.sql.SQLException;
import java.util.List;
import java.util.stream.Collectors;
import javax.sql.DataSource;
@@ -67,8 +68,13 @@ public class PostgresQueryGenerator {
* @param columnNamePattern the column name pattern
* @param types the types
*/
- public PostgresQueryGenerator(DataSource dataSource, String catalog, String
schemaPattern,
- String typeNamePattern, String columnNamePattern, String... types) {
+ public PostgresQueryGenerator(
+ DataSource dataSource,
+ String catalog,
+ String schemaPattern,
+ String typeNamePattern,
+ String columnNamePattern,
+ String... types) {
this.dataSource = dataSource;
this.catalog = catalog;
this.schemaPattern = schemaPattern;
@@ -82,17 +88,16 @@ public class PostgresQueryGenerator {
*
* @return the queries
*/
- public List<TilesetQuery> generate() {
+ public List<TilesetQuery> generate() throws SQLException {
return new DatabaseMetadata(dataSource)
.getTableMetaData(catalog, schemaPattern, tableNamePattern,
types).stream()
.filter(table -> table.primaryKeys().size() == 1)
- .filter(table -> table.getGeometryColumns().size() ==
1).map(this::getLayer).toList();
+ .filter(table -> table.getGeometryColumns().size() == 1)
+ .map(this::getLayer).toList();
}
private TilesetQuery getLayer(TableMetadata table) {
- String tableSchema = table.table().tableSchem();
String tableName = table.table().tableName();
- String layer = String.format("%s.%s", tableSchema, tableName);
String idColumn = table.primaryKeys().get(0).columnName();
String geometryColumn = table.getGeometryColumns().get(0).columnName();
String tagsColumns =
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 0b642399..50a4af26 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
@@ -26,6 +26,10 @@ import org.apache.baremaps.maplibre.expression.Expressions;
public class ObjectMapperUtils {
+ private ObjectMapperUtils() {
+ // Prevent instantiation
+ }
+
public static ObjectMapper objectMapper() {
return new ObjectMapper()
.registerModule(Expressions.createModule())
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/Task.java
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/Task.java
index 0a1f156f..3dc09b22 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/Task.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/Task.java
@@ -62,6 +62,7 @@ public interface Task {
* @param context the context of the workflow
* @throws Exception if an error occurs during the execution of the task
*/
+ @SuppressWarnings("java:S112")
void execute(WorkflowContext context) throws Exception;
}
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 a370ef1c..07655c37 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
@@ -47,7 +47,7 @@ public class CreateGeonamesIndex implements Task {
* Constructs a {@code CreateGeonamesIndex}.
*/
public CreateGeonamesIndex() {
-
+ // Default constructor
}
/**
@@ -65,7 +65,7 @@ public class CreateGeonamesIndex implements Task {
* {@inheritDoc}
*/
@Override
- public void execute(WorkflowContext context) throws Exception {
+ public void execute(WorkflowContext context) throws IOException {
var directory = FSDirectory.open(indexDirectory);
var config = new IndexWriterConfig(GeocoderConstants.ANALYZER);
try (var indexWriter = new IndexWriter(directory, config);
@@ -75,8 +75,6 @@ public class CreateGeonamesIndex implements Task {
.stream(inputStream)
.map(new GeonamesDocumentMapper());
indexWriter.addDocuments((Iterable<Document>) documents::iterator);
- } catch (IOException exception) {
- throw new RuntimeException();
}
}
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 f4170dab..3decfced 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
@@ -18,6 +18,7 @@
package org.apache.baremaps.workflow.tasks;
import java.io.BufferedInputStream;
+import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.StringJoiner;
@@ -111,7 +112,7 @@ public class UpdateOsmDatabase implements Task {
Repository<Long, Way> wayRepository,
Repository<Long, Relation> relationRepository,
Integer databaseSrid,
- String replicationUrl) throws Exception {
+ String replicationUrl) throws IOException, RepositoryException {
// Get the latest header from the database
var header = headerRepository.selectLatest();
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 2d6126a2..efc90e6d 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
@@ -36,9 +36,9 @@ class GeonamesReaderTest {
var list = stream.toList();
assertEquals(5, list.size());
- var record = list.get(0);
- assertEquals(1, record.getGeonameid());
- assertEquals("HEIG", record.getAsciiname());
+ var entry = list.get(0);
+ assertEquals(1, entry.getGeonameid());
+ assertEquals("HEIG", entry.getAsciiname());
}
}
}
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 3296be4d..42ff6514 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
@@ -25,7 +25,7 @@ import org.apache.baremaps.testing.TestFiles;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
-public class GeoPackageToPostgresTest extends PostgresContainerTest {
+class GeoPackageToPostgresTest extends PostgresContainerTest {
@Test
@Tag("integration")
diff --git
a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/TileCoordIteratorTest.java
b/baremaps-core/src/test/java/org/apache/baremaps/tilestore/TileCoordIteratorTest.java
index e0d7ccce..d86d39e7 100644
---
a/baremaps-core/src/test/java/org/apache/baremaps/tilestore/TileCoordIteratorTest.java
+++
b/baremaps-core/src/test/java/org/apache/baremaps/tilestore/TileCoordIteratorTest.java
@@ -32,15 +32,15 @@ class TileCoordIteratorTest {
TileCoordIterator i0 = new TileCoordIterator(e, 0, 0);
List<TileCoord> l0 = ImmutableList.copyOf(i0);
- assertEquals(l0.size(), 1);
+ assertEquals(1, l0.size());
TileCoordIterator i1 = new TileCoordIterator(e, 1, 1);
List<TileCoord> l1 = ImmutableList.copyOf(i1);
- assertEquals(l1.size(), 4);
+ assertEquals(4, l1.size());
TileCoordIterator i2 = new TileCoordIterator(e, 2, 2);
List<TileCoord> l2 = ImmutableList.copyOf(i2);
- assertEquals(l2.size(), 16);
+ assertEquals(16, l2.size());
}
@Test
@@ -48,11 +48,11 @@ class TileCoordIteratorTest {
Envelope e0 = new TileCoord(0, 0, 1).envelope();
TileCoordIterator i0 = new TileCoordIterator(e0, 2, 2);
List<TileCoord> l0 = ImmutableList.copyOf(i0);
- assertEquals(l0.size(), 4);
+ assertEquals(4, l0.size());
Envelope e1 = new TileCoord(1, 1, 1).envelope();
TileCoordIterator i1 = new TileCoordIterator(e1, 2, 2);
List<TileCoord> l1 = ImmutableList.copyOf(i1);
- assertEquals(l1.size(), 4);
+ assertEquals(4, l1.size());
}
}
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 98affb2b..214c13a6 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
@@ -19,6 +19,7 @@ package org.apache.baremaps.tilestore.postgres;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import java.sql.SQLException;
import java.util.List;
import javax.sql.DataSource;
import org.apache.baremaps.database.postgres.PostgresRepositoryTest;
@@ -30,7 +31,7 @@ class PostgresQueryGeneratorTest extends
PostgresRepositoryTest {
@Test
@Tag("integration")
- void generate() {
+ void generate() throws SQLException {
DataSource dataSource = dataSource();
List<TilesetQuery> queries =
new PostgresQueryGenerator(dataSource, null, "public", null, null,
"TABLE").generate();
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 2171eb98..2f5faba8 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
@@ -29,7 +29,7 @@ import org.locationtech.jts.geom.PrecisionModel;
class ProjectionTransformerTest {
@Test
- public void testPoint() {
+ void testPoint() {
var inputGeom =
new GeometryFactory(new PrecisionModel(), 4326).createPoint(new
Coordinate(1, 1));
var outputGeom = (Point) new ProjectionTransformer(4326,
3857).transform(inputGeom);
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 d55d913a..28f79cb9 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
@@ -31,7 +31,7 @@ import org.junit.jupiter.api.Test;
class WorkflowTest extends PostgresContainerTest {
@Test
- @Disabled
+ @Disabled("requires internet access")
void naturalearthGeoPackage() {
var workflow = new Workflow(List.of(new Step("fetch-geopackage",
List.of(), List.of(
new
DownloadUrl("https://naciscdn.org/naturalearth/packages/natural_earth_vector.gpkg.zip",
@@ -45,7 +45,7 @@ class WorkflowTest extends PostgresContainerTest {
}
@Test
- @Disabled
+ @Disabled("requires internet access")
void coastlineShapefile() {
var workflow = new Workflow(List.of(new Step("fetch-geopackage", List.of(),
List.of(
@@ -60,7 +60,7 @@ class WorkflowTest extends PostgresContainerTest {
}
@Test
- @Disabled
+ @Disabled("requires internet access")
void simplifiedWaterPolygonsShapefile() {
var workflow = new Workflow(List.of(new Step("simplified-water-polygons",
List.of(), List.of(
/*
@@ -78,7 +78,7 @@ class WorkflowTest extends PostgresContainerTest {
}
@Test
- @Disabled
+ @Disabled("requires internet access")
void workflow() {
var workflow = new Workflow(List.of(new Step("fetch-geopackage",
List.of(), List.of(
new
DownloadUrl("https://naciscdn.org/naturalearth/packages/natural_earth_vector.gpkg.zip",
@@ -88,7 +88,7 @@ class WorkflowTest extends PostgresContainerTest {
}
@Test
- @Disabled
+ @Disabled("requires internet access")
void execute() {
var workflow = new Workflow(List.of(
new Step("fetch-geopackage", List.of(),
diff --git
a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteCommandTest.java
b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteCommandTest.java
index 780a4c01..db249aeb 100644
---
a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteCommandTest.java
+++
b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ExecuteCommandTest.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.api.Test;
class ExecuteCommandTest {
@Test
- @Disabled
+ @Disabled("requires a shell")
void execute() throws Exception {
var path = Paths.get("file.txt").toAbsolutePath();
new ExecuteCommand(String.format("echo test > %s", path)).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 438539b5..f703b7ee 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,8 +31,11 @@ class ImportGeoPackageTest extends PostgresContainerTest {
@Tag("integration")
void execute() throws Exception {
var task =
- new
ImportGeoPackage(TestFiles.resolve("baremaps-testing/data/samples/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/algorithm/BinarySearch.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/BinarySearch.java
index ae3bd5ca..7539d1db 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/BinarySearch.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/BinarySearch.java
@@ -28,6 +28,10 @@ import org.apache.baremaps.data.collection.DataList;
*/
public class BinarySearch {
+ private BinarySearch() {
+ // Prevent instantiation
+ }
+
/**
* Returns the index of the search key, if it is contained in the list; null
otherwise.
*
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/ExternalMergeSort.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/ExternalMergeSort.java
index 76bcd32b..3704ce3f 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/ExternalMergeSort.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/ExternalMergeSort.java
@@ -19,7 +19,6 @@ package org.apache.baremaps.data.algorithm;
-import java.io.IOException;
import java.util.*;
import java.util.function.Supplier;
import java.util.stream.Stream;
@@ -33,6 +32,10 @@ import org.apache.baremaps.data.collection.DataList;
@SuppressWarnings({"squid:S2095", "squid:S3776"})
public class ExternalMergeSort {
+ private ExternalMergeSort() {
+ // Prevent instantiation
+ }
+
/**
* Sorts an input list to an output list.
*
@@ -44,7 +47,6 @@ public class ExternalMergeSort {
* @param batchSize The batch size
* @param distinct The flag indicating if duplicates should be discarded
* @param parallel The flag indicating if parallelism should be used
- * @throws IOException
*/
public static <T> void sort(
DataList<T> input,
@@ -53,7 +55,7 @@ public class ExternalMergeSort {
Supplier<DataList<T>> tempLists,
long batchSize,
boolean distinct,
- boolean parallel) throws IOException {
+ boolean parallel) {
mergeSortedBatches(sortInBatch(input, comparator, tempLists, batchSize,
distinct, parallel),
output, comparator, distinct);
}
@@ -78,10 +80,10 @@ public class ExternalMergeSort {
new PriorityQueue<>(batches.size(), (i, j) ->
comparator.compare(i.peek(), j.peek()));
for (DataList<T> input : batches) {
- if (input.size() == 0) {
+ if (input.isEmpty()) {
continue;
}
- DataStack stack = new DataStack(input);
+ DataStack<T> stack = new DataStack<>(input);
if (!stack.empty()) {
queue.add(stack);
}
@@ -89,7 +91,7 @@ public class ExternalMergeSort {
long counter = 0;
if (!distinct) {
- while (queue.size() > 0) {
+ while (!queue.isEmpty()) {
DataStack<T> stack = queue.poll();
T value = stack.pop();
output.addIndexed(value);
@@ -102,7 +104,7 @@ public class ExternalMergeSort {
}
} else {
T last = null;
- if (queue.size() > 0) {
+ if (!queue.isEmpty()) {
DataStack<T> stack = queue.poll();
last = stack.pop();
output.addIndexed(last);
@@ -113,7 +115,7 @@ public class ExternalMergeSort {
queue.add(stack);
}
}
- while (queue.size() > 0) {
+ while (!queue.isEmpty()) {
DataStack<T> stack = queue.poll();
T value = stack.pop();
// Skip duplicate lines
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/Hilbert.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/Hilbert.java
index 85b90706..ac4674fb 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/Hilbert.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/algorithm/Hilbert.java
@@ -27,7 +27,11 @@ import org.locationtech.jts.geom.Geometry;
*/
public class Hilbert {
- final static int HILBERT_MAX = (1 << 16) - 1;
+ private static final int HILBERT_MAX = (1 << 16) - 1;
+
+ private Hilbert() {
+ // Prevent instantiation
+ }
/**
* A comparator for sorting geometries by their Hilbert curve index.
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java
index bfbbaece..1d5d01dc 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/FixedSizeDataList.java
@@ -35,7 +35,7 @@ public class FixedSizeDataList<E> implements DataList<E> {
private final FixedSizeDataType<E> dataType;
- private final Memory memory;
+ private final Memory<?> memory;
private AtomicLong size;
@@ -54,7 +54,7 @@ public class FixedSizeDataList<E> implements DataList<E> {
* @param dataType the data type
* @param memory the memory
*/
- public FixedSizeDataList(FixedSizeDataType<E> dataType, Memory memory) {
+ public FixedSizeDataList(FixedSizeDataType<E> dataType, Memory<?> memory) {
if (dataType.size() > memory.segmentSize()) {
throw new DataCollectionException("The segment size is too small for the
data type");
}
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataList.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataList.java
index 1d59156a..e29f3383 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataList.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataList.java
@@ -23,6 +23,7 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.baremaps.data.memory.Memory;
+import org.apache.baremaps.data.memory.MemoryException;
import org.apache.baremaps.data.memory.OffHeapMemory;
import org.apache.baremaps.data.type.FixedSizeDataType;
@@ -36,7 +37,7 @@ public class MemoryAlignedDataList<E> implements DataList<E> {
private final FixedSizeDataType<E> dataType;
- private final Memory memory;
+ private final Memory<?> memory;
private final int valueShift;
@@ -61,7 +62,7 @@ public class MemoryAlignedDataList<E> implements DataList<E> {
* @param dataType the data type
* @param memory the memory
*/
- public MemoryAlignedDataList(FixedSizeDataType<E> dataType, Memory memory) {
+ public MemoryAlignedDataList(FixedSizeDataType<E> dataType, Memory<?>
memory) {
if (dataType.size() > memory.segmentSize()) {
throw new DataCollectionException("The segment size is too small for the
data type");
}
@@ -124,7 +125,7 @@ public class MemoryAlignedDataList<E> implements
DataList<E> {
try {
memory.clear();
} catch (IOException e) {
- throw new RuntimeException(e);
+ throw new MemoryException(e);
}
}
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataMap.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataMap.java
index 3e521acc..ca0380ba 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataMap.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/collection/MemoryAlignedDataMap.java
@@ -37,7 +37,7 @@ public class MemoryAlignedDataMap<E> implements DataMap<Long,
E> {
private final FixedSizeDataType<E> dataType;
- private final Memory memory;
+ private final Memory<?> memory;
private final int valueShift;
@@ -51,7 +51,7 @@ public class MemoryAlignedDataMap<E> implements DataMap<Long,
E> {
* @param dataType the data type
* @param memory the memory
*/
- public MemoryAlignedDataMap(FixedSizeDataType<E> dataType, Memory memory) {
+ public MemoryAlignedDataMap(FixedSizeDataType<E> dataType, Memory<?> memory)
{
if (dataType.size() > memory.segmentSize()) {
throw new DataCollectionException("The segment size is too small for the
data type");
}
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/storage/DataRowImpl.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/storage/DataRowImpl.java
index 26b27f44..72c7c6de 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/storage/DataRowImpl.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/storage/DataRowImpl.java
@@ -22,7 +22,7 @@ import java.util.List;
/**
* A row in a table.
*/
-public record DataRowImpl(DataSchema schema, List values) implements DataRow {
+public record DataRowImpl(DataSchema schema, List<Object> values) implements
DataRow {
/**
* {@inheritDoc}
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/type/FixedSizeDataType.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/type/FixedSizeDataType.java
index 3aeedcf2..04a51bcf 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/type/FixedSizeDataType.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/type/FixedSizeDataType.java
@@ -35,7 +35,7 @@ public abstract class FixedSizeDataType<T> implements
DataType<T> {
*
* @param size the size of the value
*/
- public FixedSizeDataType(final int size) {
+ protected FixedSizeDataType(final int size) {
this.size = size;
}
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/type/GeometryDataType.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/type/GeometryDataType.java
index 87e96c6a..8e741d00 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/type/GeometryDataType.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/type/GeometryDataType.java
@@ -26,6 +26,7 @@ import org.locationtech.jts.geom.*;
*/
public class GeometryDataType implements DataType<Geometry> {
+ public static final String UNSUPPORTED_GEOMETRY = "Unsupported geometry
type: ";
private final PointDataType pointDataType;
private final LineStringDataType lineStringDataType;
@@ -88,7 +89,7 @@ public class GeometryDataType implements DataType<Geometry> {
} else if (value instanceof GeometryCollection geometryCollection) {
size += geometryCollectionDataType.size(geometryCollection);
} else {
- throw new IllegalArgumentException("Unsupported geometry type: " +
value.getClass());
+ throw new IllegalArgumentException(UNSUPPORTED_GEOMETRY +
value.getClass());
}
return size;
@@ -121,7 +122,7 @@ public class GeometryDataType implements DataType<Geometry>
{
} else if (type == 7) {
size += geometryCollectionDataType.size(buffer, position + Byte.BYTES);
} else {
- throw new IllegalArgumentException("Unsupported geometry type: " + type);
+ throw new IllegalArgumentException(UNSUPPORTED_GEOMETRY + type);
}
return size;
@@ -158,7 +159,7 @@ public class GeometryDataType implements DataType<Geometry>
{
buffer.put(position, (byte) 7);
geometryCollectionDataType.write(buffer, position + Byte.BYTES,
geometryCollection);
} else {
- throw new IllegalArgumentException("Unsupported geometry type: " +
value.getClass());
+ throw new IllegalArgumentException(UNSUPPORTED_GEOMETRY +
value.getClass());
}
}
@@ -191,7 +192,7 @@ public class GeometryDataType implements DataType<Geometry>
{
} else if (type == 7) {
return geometryCollectionDataType.read(buffer, p);
} else {
- throw new IllegalArgumentException("Unsupported geometry type: " + type);
+ throw new IllegalArgumentException(UNSUPPORTED_GEOMETRY + type);
}
}
}
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/type/MemoryAlignedDataType.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MemoryAlignedDataType.java
index 8c237bc9..94c44a25 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/type/MemoryAlignedDataType.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/type/MemoryAlignedDataType.java
@@ -34,7 +34,7 @@ public abstract class MemoryAlignedDataType<T> extends
FixedSizeDataType<T> {
*
* @param size
*/
- public MemoryAlignedDataType(int size) {
+ protected MemoryAlignedDataType(int size) {
super(size);
if ((size & -size) != size) {
throw new IllegalArgumentException("The size must be a power of 2");
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/type/SmallIntegerDataType.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/type/SmallIntegerDataType.java
index 97e67062..b8ccd7e5 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/type/SmallIntegerDataType.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/type/SmallIntegerDataType.java
@@ -54,10 +54,10 @@ public class SmallIntegerDataType extends
FixedSizeDataType<Integer> {
byte s = (byte) (buffer.get(position + n - 1) >= 0 ? 0 : -1);
int l = 0;
for (int i = 3; i > n - 1; i--) {
- l |= ((int) s & 0xff) << (i << 3);
+ l |= (s & 0xff) << (i << 3);
}
for (int i = n - 1; i >= 0; i--) {
- l |= ((int) buffer.get(position + i) & 0xff) << (i << 3);
+ l |= (buffer.get(position + i) & 0xff) << (i << 3);
}
return l;
}
diff --git
a/baremaps-data/src/main/java/org/apache/baremaps/data/util/MappedByteBufferUtils.java
b/baremaps-data/src/main/java/org/apache/baremaps/data/util/MappedByteBufferUtils.java
index bff1e03f..947d3541 100644
---
a/baremaps-data/src/main/java/org/apache/baremaps/data/util/MappedByteBufferUtils.java
+++
b/baremaps-data/src/main/java/org/apache/baremaps/data/util/MappedByteBufferUtils.java
@@ -19,7 +19,6 @@ package org.apache.baremaps.data.util;
-import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.nio.ByteBuffer;
@@ -28,13 +27,17 @@ import java.nio.MappedByteBuffer;
/** Utilities for working with memory-mapped files. */
public class MappedByteBufferUtils {
+ private MappedByteBufferUtils() {
+ // Prevent instantiation
+ }
+
/**
* Attempt to force-unmap a list of memory-mapped file segments, so it can
safely be deleted.
*
* @param buffer The buffer to unmap
- * @throws IOException If any error occurs unmapping the segment
*/
- public static void unmap(MappedByteBuffer buffer) throws IOException {
+ @SuppressWarnings("squid:S1141")
+ public static void unmap(MappedByteBuffer buffer) {
try {
// attempt to force-unmap the file, so we can delete it later
//
https://stackoverflow.com/questions/2972986/how-to-unmap-a-file-from-memory-mapped-using-filechannel-in-java
diff --git
a/baremaps-data/src/test/java/org/apache/baremaps/data/algorithm/UnionStreamTest.java
b/baremaps-data/src/test/java/org/apache/baremaps/data/algorithm/UnionStreamTest.java
index d31c9c08..1e8cdda5 100644
---
a/baremaps-data/src/test/java/org/apache/baremaps/data/algorithm/UnionStreamTest.java
+++
b/baremaps-data/src/test/java/org/apache/baremaps/data/algorithm/UnionStreamTest.java
@@ -64,10 +64,8 @@ class UnionStreamTest {
DataList<Geometry> 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)));
- assertEquals(union.get(1), polygon4);
-
+ assertEquals(2, union.size());
+ assertEquals(UnaryUnionOp.union(List.of(polygon1, polygon2, polygon3)),
union.get(0));
+ assertEquals(polygon4, union.get(1));
}
-
}
diff --git
a/baremaps-geoparquet/src/main/java/org/apache/baremaps/geoparquet/data/GeoParquetGroupImpl.java
b/baremaps-geoparquet/src/main/java/org/apache/baremaps/geoparquet/data/GeoParquetGroupImpl.java
index 7e85b013..a108e383 100644
---
a/baremaps-geoparquet/src/main/java/org/apache/baremaps/geoparquet/data/GeoParquetGroupImpl.java
+++
b/baremaps-geoparquet/src/main/java/org/apache/baremaps/geoparquet/data/GeoParquetGroupImpl.java
@@ -315,9 +315,10 @@ public class GeoParquetGroupImpl implements
GeoParquetGroup {
}
GroupField field = ((GroupField)
geoParquetSchema.fields().get(fieldIndex));
- GeoParquetGroupImpl group =
- new GeoParquetGroupImpl(schema.getType(fieldIndex).asGroupType(),
metadata, field.schema());
- return group;
+ return new GeoParquetGroupImpl(
+ schema.getType(fieldIndex).asGroupType(),
+ metadata,
+ field.schema());
}
@Override
diff --git
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/Style.java
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/Style.java
index 500510c6..51e2d9dc 100644
---
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/Style.java
+++
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/Style.java
@@ -78,8 +78,16 @@ public class Style {
* rendering
* @param zoom The zoom level of the map
*/
- public Style(Integer version, String name, Map<String, StyleSource> sources,
String sprite,
- String glyphs, List<StyleLayer> layers, List<BigDecimal> center, Object
metadata,
+ @SuppressWarnings("squid:S107")
+ public Style(
+ Integer version,
+ String name,
+ Map<String, StyleSource> sources,
+ String sprite,
+ String glyphs,
+ List<StyleLayer> layers,
+ List<BigDecimal> center,
+ Object metadata,
BigDecimal zoom) {
this.version = version;
this.name = name;
diff --git
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/StyleLayer.java
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/StyleLayer.java
index efb64816..452675f8 100644
---
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/StyleLayer.java
+++
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/style/StyleLayer.java
@@ -75,8 +75,16 @@ public class StyleLayer {
* @param maxzoom the maximum zoom of the layer
* @param paint the paint of the layer
*/
- public StyleLayer(String type, List<Object> filter, String source, String
sourceLayer,
- Object layout, Integer minzoom, Integer maxzoom, Object paint) {
+ @SuppressWarnings("squid:S107")
+ public StyleLayer(
+ String type,
+ List<Object> filter,
+ String source,
+ String sourceLayer,
+ Object layout,
+ Integer minzoom,
+ Integer maxzoom,
+ Object paint) {
this.type = type;
this.filter = filter;
this.source = source;
diff --git
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tilejson/TileJSON.java
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tilejson/TileJSON.java
index 1bccbf7c..d4398b83 100644
---
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tilejson/TileJSON.java
+++
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tilejson/TileJSON.java
@@ -33,37 +33,52 @@ import java.util.List;
* https://github.com/mapbox/tilejson-spec</a>
*/
public class TileJSON {
- String tilejson;
+
@JsonProperty("tiles")
List<String> tiles;
+
@JsonProperty("vector_layers")
List<VectorLayer> vectorLayers;
+
@JsonProperty("attribution")
String attribution;
+
@JsonProperty("bounds")
List<Double> bounds;
+
@JsonProperty("center")
List<Double> center;
+
@JsonProperty("data")
List<String> data;
+
@JsonProperty("description")
String description;
+
@JsonProperty("fillzoom")
Integer fillzoom;
+
@JsonProperty("grids")
List<String> grids;
+
@JsonProperty("legend")
String legend;
+
@JsonProperty("maxzoom")
Integer maxzoom;
+
@JsonProperty("minzoom")
Integer minzoom;
+
@JsonProperty("name")
String name;
+
@JsonProperty("scheme")
String scheme;
+
@JsonProperty("template")
String template;
+
@JsonProperty("version")
String version;
diff --git
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/Tileset.java
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/Tileset.java
index 83032b42..7af2058a 100644
---
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/Tileset.java
+++
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/tileset/Tileset.java
@@ -86,10 +86,25 @@ public class Tileset {
public Tileset() {}
- public Tileset(String tilejson, String name, String description, String
version,
- String attribution, String template, String legend, String scheme,
List<String> tiles,
- List<String> grids, List<String> data, Integer minzoom, Integer maxzoom,
List<Double> bounds,
- List<Double> center, List<TilesetLayer> vectorLayers, Integer fillzoom) {
+ @SuppressWarnings("squid:S107")
+ public Tileset(
+ String tilejson,
+ String name,
+ String description,
+ String version,
+ String attribution,
+ String template,
+ String legend,
+ String scheme,
+ List<String> tiles,
+ List<String> grids,
+ List<String> data,
+ Integer minzoom,
+ Integer maxzoom,
+ List<Double> bounds,
+ List<Double> center,
+ List<TilesetLayer> vectorLayers,
+ Integer fillzoom) {
this.tilejson = tilejson;
this.name = name;
this.description = description;
diff --git
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoder.java
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoder.java
index 8a883f59..9a8b73c2 100644
---
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoder.java
+++
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoder.java
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.function.Consumer;
+import java.util.function.IntConsumer;
import org.apache.baremaps.maplibre.binary.VectorTile;
import org.locationtech.jts.geom.*;
@@ -159,7 +160,7 @@ public class VectorTileEncoder {
* @param tags The tags of a feature.
* @param encoding The consumer of the tags.
*/
- protected void encodeTag(Map<String, Object> tags, Consumer<Integer>
encoding) {
+ protected void encodeTag(Map<String, Object> tags, IntConsumer encoding) {
for (Entry<String, Object> tag : tags.entrySet()) {
int keyIndex = keys.indexOf(tag.getKey());
if (keyIndex == -1) {
@@ -182,7 +183,7 @@ public class VectorTileEncoder {
* @param geometry The geometry to encode.
* @param encoding The consumer of commands and parameters.
*/
- protected void encodeGeometry(Geometry geometry, Consumer<Integer> encoding)
{
+ protected void encodeGeometry(Geometry geometry, IntConsumer encoding) {
if (geometry instanceof Point point) {
encodePoint(point, encoding);
} else if (geometry instanceof MultiPoint multiPoint) {
@@ -206,7 +207,7 @@ public class VectorTileEncoder {
* @param point The point to encode.
* @param encoding The consumer of commands and parameters.
*/
- protected void encodePoint(Point point, Consumer<Integer> encoding) {
+ protected void encodePoint(Point point, IntConsumer encoding) {
encoding.accept(command(MOVE_TO, 1));
Coordinate coordinate = point.getCoordinate();
int dx = (int) Math.round(coordinate.getX()) - cx;
@@ -223,7 +224,7 @@ public class VectorTileEncoder {
* @param multiPoint The multipoint to encode.
* @param encoding The consumer of commands and parameters.
*/
- protected void encodeMultiPoint(MultiPoint multiPoint, Consumer<Integer>
encoding) {
+ protected void encodeMultiPoint(MultiPoint multiPoint, IntConsumer encoding)
{
List<Coordinate> coordinates = List.of(multiPoint.getCoordinates());
encoding.accept(command(MOVE_TO, coordinates.size()));
encodeCoordinates(coordinates, encoding);
@@ -235,7 +236,7 @@ public class VectorTileEncoder {
* @param lineString The linestring to encode.
* @param encoding The consumer of commands and parameters.
*/
- protected void encodeLineString(LineString lineString, Consumer<Integer>
encoding) {
+ protected void encodeLineString(LineString lineString, IntConsumer encoding)
{
List<Coordinate> coordinates = List.of(lineString.getCoordinates());
encoding.accept(command(MOVE_TO, 1));
encodeCoordinates(coordinates.subList(0, 1), encoding);
@@ -249,8 +250,7 @@ public class VectorTileEncoder {
* @param multiLineString The multilinestring to encode.
* @param encoding The consumer of commands and parameters.
*/
- protected void encodeMultiLineString(MultiLineString multiLineString,
- Consumer<Integer> encoding) {
+ protected void encodeMultiLineString(MultiLineString multiLineString,
IntConsumer encoding) {
for (int i = 0; i < multiLineString.getNumGeometries(); i++) {
Geometry geometry = multiLineString.getGeometryN(i);
if (geometry instanceof LineString lineString) {
@@ -265,7 +265,7 @@ public class VectorTileEncoder {
* @param polygon The polygon to encode.
* @param encoding The consumer of commands and parameters.
*/
- protected void encodePolygon(Polygon polygon, Consumer<Integer> encoding) {
+ protected void encodePolygon(Polygon polygon, IntConsumer encoding) {
LinearRing exteriorRing = polygon.getExteriorRing();
List<Coordinate> exteriorRingCoordinates =
List.of(exteriorRing.getCoordinates());
@@ -295,7 +295,7 @@ public class VectorTileEncoder {
* @param coordinates The coordinates of the ring
* @param encoding The consumer of commands and parameters
*/
- protected void encodeRing(List<Coordinate> coordinates, Consumer<Integer>
encoding) {
+ protected void encodeRing(List<Coordinate> coordinates, IntConsumer
encoding) {
// Move to first point
List<Coordinate> head = coordinates.subList(0, 1);
encoding.accept(command(MOVE_TO, 1));
@@ -316,7 +316,7 @@ public class VectorTileEncoder {
* @param multiPolygon The multipolygon to encode
* @param encoding The consumer of commands and parameters
*/
- protected void encodeMultiPolygon(MultiPolygon multiPolygon,
Consumer<Integer> encoding) {
+ protected void encodeMultiPolygon(MultiPolygon multiPolygon, IntConsumer
encoding) {
for (int i = 0; i < multiPolygon.getNumGeometries(); i++) {
Geometry geometry = multiPolygon.getGeometryN(i);
if (geometry instanceof Polygon polygon) {
@@ -331,7 +331,7 @@ public class VectorTileEncoder {
* @param coordinates The coordinates to encode
* @param encoding The consumer of parameters
*/
- protected void encodeCoordinates(List<Coordinate> coordinates,
Consumer<Integer> encoding) {
+ protected void encodeCoordinates(List<Coordinate> coordinates, IntConsumer
encoding) {
for (Coordinate coordinate : coordinates) {
int dx = (int) Math.round(coordinate.getX()) - cx;
int dy = (int) Math.round(coordinate.getY()) - cy;
diff --git
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileFunctions.java
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileFunctions.java
index d0b06401..d0c4f9f2 100644
---
a/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileFunctions.java
+++
b/baremaps-maplibre/src/main/java/org/apache/baremaps/maplibre/vectortile/VectorTileFunctions.java
@@ -35,6 +35,10 @@ public class VectorTileFunctions {
public static final int CLOSE_PATH = 7;
+ private VectorTileFunctions() {
+ // Prevent instantiation
+ }
+
/**
* Transforms a geometry into a vector tile geometry.
*
diff --git
a/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileDecoderTest.java
b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileDecoderTest.java
index 5ecf6201..3246c69e 100644
---
a/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileDecoderTest.java
+++
b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileDecoderTest.java
@@ -33,7 +33,7 @@ class VectorTileDecoderTest {
* (25,17)
*/
@Test
- public void decodePoint() {
+ void decodePoint() {
var coordinate = new Coordinate(25, 17);
var point = geometryFactory.createPoint(coordinate);
var decoder = new VectorTileDecoder();
@@ -49,7 +49,7 @@ class VectorTileDecoderTest {
* (5,7) (3,2)
*/
@Test
- public void decodeMultiPoint() {
+ void decodeMultiPoint() {
var coordinates = new Coordinate[] {
new Coordinate(5, 7),
new Coordinate(3, 2)
@@ -68,7 +68,7 @@ class VectorTileDecoderTest {
* (2,2) (2,10) (10,10)
*/
@Test
- public void decodeLineString() {
+ void decodeLineString() {
var lineString = geometryFactory.createLineString(new Coordinate[] {
new Coordinate(2, 2),
new Coordinate(2, 10),
@@ -86,7 +86,7 @@ class VectorTileDecoderTest {
* Line 1: - (2,2) - (2,10) - (10,10) Line 2: - (1,1) - (3,5)
*/
@Test
- public void decodeMultiLineString() {
+ void decodeMultiLineString() {
var lineString1 = geometryFactory.createLineString(new Coordinate[] {
new Coordinate(2, 2),
new Coordinate(2, 10),
@@ -111,7 +111,7 @@ class VectorTileDecoderTest {
* (3,6) (8,12) (20,34) (3,6) Path Closing as Last Point
*/
@Test
- public void decodePolygon() {
+ void decodePolygon() {
var polygon = geometryFactory.createPolygon(new Coordinate[] {
new Coordinate(3, 6),
new Coordinate(8, 12),
@@ -134,7 +134,7 @@ class VectorTileDecoderTest {
* Ring: (13,13) (13,17) (17,17) (17,13) (13,13) Path Closing as Last Point
*/
@Test
- public void decodeMultiPolygon() {
+ void decodeMultiPolygon() {
var multiPolygon = geometryFactory.createMultiPolygon(
new Polygon[] {
geometryFactory.createPolygon(
@@ -169,7 +169,5 @@ class VectorTileDecoderTest {
var encoding = List.of(9, 0, 0, 26, 20, 0, 0, 20, 19, 0, 15, 9, 22, 2, 26,
18, 0, 0, 18, 17, 0,
15, 9, 4, 13, 26, 0, 8, 8, 0, 0, 7, 15);
assertEquals(multiPolygon, decoder.decodePolygon(encoding));
-
-
}
}
diff --git
a/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoderTest.java
b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoderTest.java
index 9fa655a3..f94fa23a 100644
---
a/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoderTest.java
+++
b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileEncoderTest.java
@@ -34,7 +34,7 @@ class VectorTileEncoderTest {
* (25,17)
*/
@Test
- public void encodePoint() {
+ void encodePoint() {
var coordinate = new Coordinate(25, 17);
var point = geometryFactory.createPoint(coordinate);
var encoder = new VectorTileEncoder();
@@ -51,7 +51,7 @@ class VectorTileEncoderTest {
* (5,7) (3,2)
*/
@Test
- public void encodeMultiPoint() {
+ void encodeMultiPoint() {
var coordinates = new Coordinate[] {
new Coordinate(5, 7),
new Coordinate(3, 2)
@@ -71,7 +71,7 @@ class VectorTileEncoderTest {
* (2,2) (2,10) (10,10)
*/
@Test
- public void encodeLineString() {
+ void encodeLineString() {
var lineString = geometryFactory.createLineString(new Coordinate[] {
new Coordinate(2, 2),
new Coordinate(2, 10),
@@ -91,7 +91,7 @@ class VectorTileEncoderTest {
* Line 1: - (2,2) - (2,10) - (10,10) Line 2: - (1,1) - (3,5)
*/
@Test
- public void encodeMultiLineString() {
+ void encodeMultiLineString() {
var lineString1 = geometryFactory.createLineString(new Coordinate[] {
new Coordinate(2, 2),
new Coordinate(2, 10),
@@ -117,7 +117,7 @@ class VectorTileEncoderTest {
* (3,6) (8,12) (20,34) (3,6) Path Closing as Last Point
*/
@Test
- public void encodePolygon() {
+ void encodePolygon() {
var polygon = geometryFactory.createPolygon(new Coordinate[] {
new Coordinate(3, 6),
new Coordinate(8, 12),
@@ -141,7 +141,7 @@ class VectorTileEncoderTest {
* Ring: (13,13) (13,17) (17,17) (17,13) (13,13) Path Closing as Last Point
*/
@Test
- public void encodeMultiPolygon() {
+ void encodeMultiPolygon() {
var multiPolygon = geometryFactory.createMultiPolygon(
new Polygon[] {
geometryFactory.createPolygon(
@@ -177,7 +177,5 @@ class VectorTileEncoderTest {
encoder.encodeMultiPolygon(multiPolygon, encoding::add);
assertEquals(List.of(9, 0, 0, 26, 20, 0, 0, 20, 19, 0, 15, 9, 22, 2, 26,
18, 0, 0, 18, 17, 0,
15, 9, 4, 13, 26, 0, 8, 8, 0, 0, 7, 15), encoding);
-
-
}
}
diff --git
a/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileTest.java
b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileTest.java
index 7ab76ab3..12e3b137 100644
---
a/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileTest.java
+++
b/baremaps-maplibre/src/test/java/org/apache/baremaps/maplibre/vectortile/VectorTileTest.java
@@ -25,12 +25,12 @@ import org.junit.jupiter.api.Test;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.GeometryFactory;
-public class VectorTileTest {
+class VectorTileTest {
- private static final GeometryFactory GEOMETRY_FACTORY = new
GeometryFactory();
+ static final GeometryFactory GEOMETRY_FACTORY = new GeometryFactory();
@Test
- public void endToEnd() {
+ void endToEnd() {
var tile = new Tile(List.of(
new Layer("layer", 256, List.of(
new Feature(1, Map.of("a", 1.0, "b", "2"),
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 783e9d3c..6d6b4453 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
@@ -37,9 +37,9 @@ public class EntityToGeometryMapper implements
Function<Entity, Optional<Geometr
return Optional.ofNullable(way.getGeometry());
} else if (entity instanceof Relation relation) {
return Optional.ofNullable(relation.getGeometry());
- } else if (entity instanceof Header header) {
+ } else if (entity instanceof Header) {
return Optional.empty();
- } else if (entity instanceof Bound bound) {
+ } else if (entity instanceof Bound) {
return Optional.empty();
} else {
throw new StreamException("Unknown entity type.");
diff --git
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Element.java
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Element.java
index e10cfa67..676b7666 100644
---
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Element.java
+++
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Element.java
@@ -28,9 +28,9 @@ import org.locationtech.jts.geom.Geometry;
* Represents an element in an OpenStreetMap dataset. Elements are a basis to
model the physical
* world.
*/
-public sealed
+public abstract sealed
-abstract class Element implements Entity
+class Element implements Entity
permits Node, Way, Relation
{
diff --git
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/BatchedSpliterator.java
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/BatchedSpliterator.java
index d519b54c..5736c6dd 100644
---
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/BatchedSpliterator.java
+++
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/BatchedSpliterator.java
@@ -62,8 +62,8 @@ public class BatchedSpliterator<T> implements Spliterator<T> {
public Spliterator<T> trySplit() {
List<T> batch = new ArrayList<>();
while (batch.size() < batchSize && tryAdvance(batch::add)) {
+ // Do nothing
}
-
if (!batch.isEmpty()) {
return Spliterators.spliterator(batch, characteristics());
} else {
diff --git
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ConsumerUtils.java
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ConsumerUtils.java
index 5fe5f804..f36733ce 100644
---
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ConsumerUtils.java
+++
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/ConsumerUtils.java
@@ -25,7 +25,9 @@ import java.util.function.UnaryOperator;
/** Utility methods for dealing with consumers. */
public class ConsumerUtils {
- private ConsumerUtils() {}
+ private ConsumerUtils() {
+ // Prevent instantiation
+ }
/**
* Returns a consumer that applies a function to its input, and then passes
the result to the
@@ -34,8 +36,10 @@ public class ConsumerUtils {
* @return
* @param <T>
*/
+ @SuppressWarnings("squid:S1172")
public static <T> Consumer<T> chain(Class<T> type) {
- return T -> {
+ return t -> {
+ // Do nothing
};
}
diff --git
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/StreamUtils.java
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/StreamUtils.java
index d7e6b36c..5b633f85 100644
---
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/StreamUtils.java
+++
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/StreamUtils.java
@@ -35,6 +35,10 @@ import
org.apache.baremaps.openstreetmap.stream.BufferedSpliterator.InSourceOrde
/** Utility methods for creating parallel, buffered and batched streams of
unknown size. */
public class StreamUtils {
+ private StreamUtils() {
+ // Prevent instantiation
+ }
+
/**
* Create an ordered sequential stream from an iterator of unknown size.
*
diff --git
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/SupplierUtils.java
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/SupplierUtils.java
index 14910293..eef97e8e 100644
---
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/SupplierUtils.java
+++
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/stream/SupplierUtils.java
@@ -25,7 +25,9 @@ import java.util.function.Supplier;
/** Utility methods for dealing with suppliers. */
public class SupplierUtils {
- private SupplierUtils() {}
+ private SupplierUtils() {
+ // Prevent instantiation
+ }
/**
* Returns a supplier that memoizes the result returned by another supplier.
@@ -49,12 +51,12 @@ public class SupplierUtils {
* @return the memoized supplier
*/
public static <T> Supplier<T> memoize(Supplier<T> supplier, int
timeToLiveMillis) {
- return new Supplier() {
+ return new Supplier<T>() {
long t1 = System.currentTimeMillis();
T value = supplier.get();
@Override
- public Object get() {
+ public T get() {
long t2 = System.currentTimeMillis();
if (t2 - t1 > timeToLiveMillis) {
t1 = t2;
diff --git
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/CRSUtils.java
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/CRSUtils.java
index 1645ebf4..cb20f8b0 100644
---
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/CRSUtils.java
+++
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/CRSUtils.java
@@ -36,7 +36,7 @@ import org.locationtech.proj4j.CoordinateReferenceSystem;
public class CRSUtils {
private CRSUtils() {
- // prevent instantiation
+ // Prevent instantiation
}
private static final CRSFactory CRS_FACTORY = new CRSFactory();
diff --git
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/GeometryUtils.java
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/GeometryUtils.java
index 75c8fafd..e0d6813e 100644
---
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/GeometryUtils.java
+++
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/utils/GeometryUtils.java
@@ -24,7 +24,6 @@ import org.locationtech.jts.geom.*;
import org.locationtech.jts.io.ParseException;
import org.locationtech.jts.io.WKBReader;
import org.locationtech.jts.io.WKBWriter;
-import org.locationtech.proj4j.CRSFactory;
import org.locationtech.proj4j.CoordinateReferenceSystem;
import org.locationtech.proj4j.CoordinateTransform;
import org.locationtech.proj4j.CoordinateTransformFactory;
@@ -77,7 +76,6 @@ public class GeometryUtils {
* @return the coordinate transform
*/
public static CoordinateTransform coordinateTransform(Integer sourceSrid,
Integer targetSrid) {
- CRSFactory crsFactory = new CRSFactory();
CoordinateReferenceSystem sourceCRS = CRSUtils.createFromSrid(sourceSrid);
CoordinateReferenceSystem targetCRS = CRSUtils.createFromSrid(targetSrid);
CoordinateTransformFactory coordinateTransformFactory = new
CoordinateTransformFactory();
diff --git
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java
index 1f26ae34..e52e9531 100644
---
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java
+++
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlChangeSpliterator.java
@@ -166,13 +166,10 @@ public class XmlChangeSpliterator implements
Spliterator<Change> {
Map<String, Object> tags = new HashMap<>();
reader.nextTag();
while (reader.getEventType() == XMLStreamConstants.START_ELEMENT) {
- switch (reader.getLocalName()) {
- case ELEMENT_NAME_TAG:
- readTag(tags);
- break;
- default:
- readUnknownElement();
- break;
+ if (ELEMENT_NAME_TAG.equals(reader.getLocalName())) {
+ readTag(tags);
+ } else {
+ readUnknownElement();
}
}
diff --git
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java
index 3787f4af..b94346ad 100644
---
a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java
+++
b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliterator.java
@@ -189,13 +189,10 @@ public class XmlEntitySpliterator implements
Spliterator<Entity> {
Map<String, Object> tags = new HashMap<>();
reader.nextTag();
while (reader.getEventType() == XMLStreamConstants.START_ELEMENT) {
- switch (reader.getLocalName()) {
- case ELEMENT_NAME_TAG:
- readTag(tags);
- break;
- default:
- readUnknownElement();
- break;
+ if (ELEMENT_NAME_TAG.equals(reader.getLocalName())) {
+ readTag(tags);
+ } else {
+ readUnknownElement();
}
}
diff --git
a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java
b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmDataTest.java
similarity index 96%
rename from
baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java
rename to
baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmDataTest.java
index c1d9ce9b..b6921e1a 100644
---
a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmTestData.java
+++
b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmDataTest.java
@@ -18,6 +18,7 @@
package org.apache.baremaps.openstreetmap;
import static org.apache.baremaps.testing.TestFiles.resolve;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.nio.file.Files;
@@ -45,11 +46,11 @@ import
org.testcontainers.shaded.com.fasterxml.jackson.databind.JsonNode;
import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper;
-class OsmTestData {
+class OsmDataTest {
@TestFactory
Stream<DynamicTest> runTests() throws IOException {
- var directory = resolve("osm-testdata");
+ var directory = resolve("baremaps-testing/data/osm-testdata");
try (var files = Files.walk(directory)) {
return files.filter(f -> f.endsWith("test.json"))
.map(OsmTest::new)
@@ -116,14 +117,13 @@ class OsmTestData {
}
// The test geometry and the file geometry should be equal
- var message = String.format("%s: %s\nExpected:\n%s\nActual:\n%s",
+ var message = String.format("%s: %s%nExpected:%n%s%nActual:%n%s",
osmTest.getId(), osmTest.getDescription(), testGeometry,
fileGeometry);
RoundingTransformer transformer = new RoundingTransformer(2);
fileGeometry = transformer.transform(fileGeometry);
- Assert.assertTrue(message, testGeometry.equalsTopo(fileGeometry));
-
+ assertTrue(testGeometry.equalsTopo(fileGeometry), message);
}
}
@@ -256,7 +256,7 @@ class OsmTestData {
}
@Override
- public int compareTo(@NotNull OsmTestData.OsmTest o) {
+ public int compareTo(@NotNull OsmDataTest.OsmTest o) {
return Long.compare(getId(), o.getId());
}
}
diff --git
a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/StreamUtilsTest.java
b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/StreamUtilsTest.java
index bd016414..ee0c3889 100644
---
a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/StreamUtilsTest.java
+++
b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/stream/StreamUtilsTest.java
@@ -31,15 +31,15 @@ class StreamUtilsTest {
void partition() {
List<Integer> list = IntStream.range(0, 100).boxed().toList();
List<List<Integer>> partitions = StreamUtils.partition(list.stream(),
10).toList();
- assertEquals(partitions.size(), 10);
+ assertEquals(10, partitions.size());
}
@Test
void bufferInSourceOrder() {
List<Integer> l1 = IntStream.range(0, 100).boxed().toList();
List<Integer> l2 = StreamUtils.bufferInSourceOrder(l1.stream(), i -> i,
10).toList();
- assertEquals(l2.size(), l1.size());
- assertEquals(l2, l1);
+ assertEquals(l1.size(), l2.size());
+ assertEquals(l1, l2);
}
@Test
@@ -58,8 +58,8 @@ class StreamUtilsTest {
List<Integer> l1 = IntStream.range(0, 100).boxed().toList();
List<Integer> l2 =
StreamUtils.bufferInCompletionOrder(l1.stream(), i -> i,
10).sorted().toList();
- assertEquals(l2.size(), l1.size());
- assertEquals(l2, l1);
+ assertEquals(l1.size(), l2.size());
+ assertEquals(l1, l2);
}
@Test
@@ -72,5 +72,4 @@ class StreamUtilsTest {
StreamUtils.bufferInCompletionOrder(l1.stream(), throwException,
10).sorted().toList();
});
}
-
}
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 4da9f767..c7b23d2d 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
@@ -19,7 +19,6 @@ package org.apache.baremaps.openstreetmap.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;
import java.io.IOException;
import java.io.InputStream;
@@ -30,6 +29,7 @@ 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.Assertions;
import org.junit.jupiter.api.Test;
class XmlChangeSpliteratorTest {
@@ -39,7 +39,7 @@ class XmlChangeSpliteratorTest {
try (
InputStream input = new
GZIPInputStream(Files.newInputStream(TestFiles.SAMPLE_OSC_XML_2))) {
Spliterator<Change> spliterator = new XmlChangeSpliterator(input);
- spliterator.forEachRemaining(fileBlock -> assertNotNull(fileBlock));
+ spliterator.forEachRemaining(Assertions::assertNotNull);
assertFalse(spliterator.tryAdvance(new HoldingConsumer<>()));
}
}
@@ -51,10 +51,10 @@ class XmlChangeSpliteratorTest {
Spliterator<Change> spliterator = new XmlChangeSpliterator(input);
AccumulatingConsumer<Change> accumulator = new AccumulatingConsumer<>();
spliterator.forEachRemaining(accumulator);
- assertEquals(accumulator.values().size(), 5);
- assertEquals(accumulator.values().stream()
+ assertEquals(5, accumulator.values().size());
+ assertEquals(36, accumulator.values().stream()
.flatMap(change -> change.entities().stream())
- .toList().size(), 36);
+ .toList().size());
}
}
}
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/XmlEntitySpliteratorTest.java
similarity index 91%
rename from
baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTestDataType.java
rename to
baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/xml/XmlEntitySpliteratorTest.java
index b9eb3d26..50fe0d16 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/XmlEntitySpliteratorTest.java
@@ -19,7 +19,6 @@ package org.apache.baremaps.openstreetmap.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;
import java.io.IOException;
import java.io.InputStream;
@@ -29,15 +28,16 @@ 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.Assertions;
import org.junit.jupiter.api.Test;
-class XmlEntitySpliteratorTestDataType {
+class XmlEntitySpliteratorTest {
@Test
void tryAdvance() throws IOException {
try (InputStream input = Files.newInputStream(TestFiles.SAMPLE_OSM_XML)) {
Spliterator<Entity> spliterator = new XmlEntitySpliterator(input);
- spliterator.forEachRemaining(fileBlock -> assertNotNull(fileBlock));
+ spliterator.forEachRemaining(Assertions::assertNotNull);
assertFalse(spliterator.tryAdvance(new HoldingConsumer<>()));
}
}
diff --git
a/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Compression.java
b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Compression.java
index 9976367c..a339e606 100644
---
a/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Compression.java
+++
b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Compression.java
@@ -34,7 +34,7 @@ public enum Compression {
case GZIP -> decompressGzip(inputStream);
case BROTLI -> decompressBrotli(inputStream);
case ZSTD -> decompressZstd(inputStream);
- default -> throw new RuntimeException("Unknown compression");
+ default -> throw new UnsupportedOperationException("Unknown compression
format");
};
}
@@ -43,11 +43,11 @@ public enum Compression {
}
static InputStream decompressBrotli(InputStream buffer) {
- throw new RuntimeException("Brotli compression not implemented");
+ throw new UnsupportedOperationException("Brotli compression not
implemented");
}
static InputStream decompressZstd(InputStream buffer) {
- throw new RuntimeException("Zstd compression not implemented");
+ throw new UnsupportedOperationException("Zstd compression not
implemented");
}
OutputStream compress(OutputStream outputStream) throws IOException {
@@ -56,7 +56,7 @@ public enum Compression {
case GZIP -> compressGzip(outputStream);
case BROTLI -> compressBrotli(outputStream);
case ZSTD -> compressZstd(outputStream);
- default -> throw new RuntimeException("Unknown compression");
+ default -> throw new UnsupportedOperationException("Unknown compression
format");
};
}
@@ -65,10 +65,10 @@ public enum Compression {
}
static OutputStream compressBrotli(OutputStream outputStream) {
- throw new RuntimeException("Brotli compression not implemented");
+ throw new UnsupportedOperationException("Brotli compression not
implemented");
}
static OutputStream compressZstd(OutputStream outputStream) {
- throw new RuntimeException("Zstd compression not implemented");
+ throw new UnsupportedOperationException("Zstd compression not
implemented");
}
}
diff --git
a/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Header.java
b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Header.java
index 2ad0b74d..e79b7c1a 100644
--- a/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Header.java
+++ b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/Header.java
@@ -86,6 +86,7 @@ public class Header {
this.specVersion = 3;
}
+ @SuppressWarnings("squid:S107")
public Header(
int specVersion,
long rootDirectoryOffset,
diff --git
a/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesReader.java
b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesReader.java
index 27d8f91b..6d9a259c 100644
---
a/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesReader.java
+++
b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesReader.java
@@ -38,18 +38,16 @@ public class PMTilesReader {
this.path = path;
}
- public Header getHeader() {
+ public Header getHeader() throws IOException {
if (header == null) {
try (var inputStream = new
LittleEndianDataInputStream(Files.newInputStream(path))) {
header = PMTilesUtils.deserializeHeader(inputStream);
- } catch (IOException e) {
- throw new RuntimeException(e);
}
}
return header;
}
- public List<Entry> getRootDirectory() {
+ public List<Entry> getRootDirectory() throws IOException {
if (rootEntries == null) {
var header = getHeader();
rootEntries = getDirectory(header.getRootDirectoryOffset());
@@ -57,7 +55,7 @@ public class PMTilesReader {
return rootEntries;
}
- public List<Entry> getDirectory(long offset) {
+ public List<Entry> getDirectory(long offset) throws IOException {
var header = getHeader();
try (var input = Files.newInputStream(path)) {
long skipped = 0;
@@ -68,14 +66,12 @@ public class PMTilesReader {
new
LittleEndianDataInputStream(header.getInternalCompression().decompress(input)))
{
return PMTilesUtils.deserializeEntries(decompressed);
}
- } catch (IOException e) {
- throw new RuntimeException(e);
}
}
- public ByteBuffer getTile(int z, long x, long y) {
+ public ByteBuffer getTile(int z, long x, long y) throws IOException {
var tileId = PMTilesUtils.zxyToTileId(z, x, y);
- var header = getHeader();
+ var fileHeader = getHeader();
var entries = getRootDirectory();
var entry = PMTilesUtils.findTile(entries, tileId);
@@ -85,14 +81,12 @@ public class PMTilesReader {
try (var channel = FileChannel.open(path)) {
var compressed = ByteBuffer.allocate((int) entry.getLength());
- channel.position(header.getTileDataOffset() + entry.getOffset());
+ channel.position(fileHeader.getTileDataOffset() + entry.getOffset());
channel.read(compressed);
compressed.flip();
try (var tile = new ByteArrayInputStream(compressed.array())) {
return ByteBuffer.wrap(tile.readAllBytes());
}
- } catch (IOException e) {
- throw new RuntimeException(e);
}
}
}
diff --git
a/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesUtils.java
b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesUtils.java
index 85c61574..1f8974dd 100644
---
a/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesUtils.java
+++
b/baremaps-pmtiles/src/main/java/org/apache/baremaps/pmtiles/PMTilesUtils.java
@@ -72,7 +72,7 @@ class PMTilesUtils {
if (b < 0x80) {
return toNum(l, h);
}
- throw new RuntimeException("Expected varint not more than 10 bytes");
+ throw new IllegalArgumentException("Expected varint not more than 10
bytes");
}
static int writeVarInt(OutputStream output, long value)
@@ -151,10 +151,10 @@ class PMTilesUtils {
static long zxyToTileId(int z, long x, long y) {
if (z > 26) {
- throw new RuntimeException("Tile zoom level exceeds max safe number
limit (26)");
+ throw new IllegalArgumentException("Tile zoom level exceeds max safe
number limit (26)");
}
if (x > Math.pow(2, z) - 1 || y > Math.pow(2, z) - 1) {
- throw new RuntimeException("tile x/y outside zoom level bounds");
+ throw new IllegalArgumentException("tile x/y outside zoom level bounds");
}
long acc = tzValues[z];
long n = LongMath.pow(2, z);
@@ -182,7 +182,7 @@ class PMTilesUtils {
}
acc += numTiles;
}
- throw new RuntimeException("Tile zoom level exceeds max safe number limit
(26)");
+ throw new IllegalArgumentException("Tile zoom level exceeds max safe
number limit (26)");
}
static Header deserializeHeader(InputStream input) throws IOException {
@@ -311,7 +311,7 @@ class PMTilesUtils {
long value = readVarInt(buffer);
if (value == 0 && i > 0) {
Entry prevEntry = entries.get(i - 1);
- entries.get(i).setOffset(prevEntry.getOffset() +
prevEntry.getLength());;
+ entries.get(i).setOffset(prevEntry.getOffset() +
prevEntry.getLength());
} else {
entries.get(i).setOffset(value - 1);
}
diff --git
a/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesUtilsTest.java
b/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesUtilsTest.java
index dca694f8..affc6f50 100644
---
a/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesUtilsTest.java
+++
b/baremaps-pmtiles/src/test/java/org/apache/baremaps/pmtiles/PMTilesUtilsTest.java
@@ -158,7 +158,6 @@ class PMTilesUtilsTest {
@Test
void encodeHeader() throws IOException {
- var etag = "1";
var header = new Header(
127,
25,
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 ad9ec355..5a6d595d 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
@@ -34,6 +34,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.baremaps.geocoder.GeonamesQueryBuilder;
+import org.apache.baremaps.openstreetmap.stream.StreamException;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.SearcherManager;
@@ -119,7 +120,7 @@ public class GeocoderResource {
}
return new GeocoderResult(scoreDoc.score, data);
} catch (IOException e) {
- throw new RuntimeException(e);
+ throw new StreamException(e);
}
}
}
diff --git
a/baremaps-server/src/main/java/org/apache/baremaps/server/IpLocResource.java
b/baremaps-server/src/main/java/org/apache/baremaps/server/IpLocResource.java
index 4d22dd6a..378f9f7d 100644
---
a/baremaps-server/src/main/java/org/apache/baremaps/server/IpLocResource.java
+++
b/baremaps-server/src/main/java/org/apache/baremaps/server/IpLocResource.java
@@ -26,7 +26,6 @@ import com.linecorp.armeria.server.ServiceRequestContext;
import com.linecorp.armeria.server.annotation.Get;
import com.linecorp.armeria.server.annotation.Param;
import com.linecorp.armeria.server.annotation.ProducesJson;
-import java.net.InetSocketAddress;
import java.util.List;
import java.util.Optional;
import org.apache.baremaps.iploc.IpLocObject;
@@ -87,7 +86,7 @@ public class IpLocResource {
Optional.ofNullable((CharSequence) ip)
.or(() ->
Optional.ofNullable(requestHeaders.get("X-Forwarded-For")))
.or(() -> Optional.ofNullable(requestHeaders.get("X-Real-IP")))
- .orElse(((InetSocketAddress)
context.remoteAddress()).getAddress().getHostAddress())
+ .orElse(context.remoteAddress().getAddress().getHostAddress())
.toString().split(",")[0].trim());
List<IpLocObject> inetnumLocations =
ipLocRepository.findByInetAddress(address);
List<InetnumLocationDto> inetnumLocationDtos =
diff --git
a/baremaps-server/src/main/java/org/apache/baremaps/server/SearchResource.java
b/baremaps-server/src/main/java/org/apache/baremaps/server/SearchResource.java
index d7dc7002..8ea84332 100644
---
a/baremaps-server/src/main/java/org/apache/baremaps/server/SearchResource.java
+++
b/baremaps-server/src/main/java/org/apache/baremaps/server/SearchResource.java
@@ -40,7 +40,7 @@ public class SearchResource {
private static final Logger logger =
LoggerFactory.getLogger(SearchResource.class);
- private final String SEARCH_QUERY =
+ private static final String SEARCH_QUERY =
"""
SELECT id, tags, st_asewkt(st_transform(geom, 'EPSG:4326')),
ts_rank_cd(to_tsvector('english', tags), query) as rank
FROM osm_entities, phraseto_tsquery('english', ?) as query
diff --git
a/baremaps-testing/src/main/java/org/apache/baremaps/testing/GeometryAssertions.java
b/baremaps-testing/src/main/java/org/apache/baremaps/testing/GeometryAssertions.java
index e42b3bda..d8e8e837 100644
---
a/baremaps-testing/src/main/java/org/apache/baremaps/testing/GeometryAssertions.java
+++
b/baremaps-testing/src/main/java/org/apache/baremaps/testing/GeometryAssertions.java
@@ -23,6 +23,10 @@ import
org.locationtech.jts.precision.GeometryPrecisionReducer;
public class GeometryAssertions {
+ private GeometryAssertions() {
+ // Prevent instantiation
+ }
+
private static void throwAssertionError(Object expected, Object actual) {
throw new AssertionError("Expected " + expected + " but was " + actual);
}
diff --git
a/baremaps-testing/src/main/java/org/apache/baremaps/testing/TestFiles.java
b/baremaps-testing/src/main/java/org/apache/baremaps/testing/TestFiles.java
index 3fbce1ed..2f47d2d6 100644
--- a/baremaps-testing/src/main/java/org/apache/baremaps/testing/TestFiles.java
+++ b/baremaps-testing/src/main/java/org/apache/baremaps/testing/TestFiles.java
@@ -22,6 +22,10 @@ import org.locationtech.jts.geom.*;
public class TestFiles {
+ private TestFiles() {
+ // Prevent instantiation
+ }
+
/* The paths of the sample directory and files */
public static final Path SAMPLE_DIR =