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 1ee41570 Fix some issues detected by sonar (#867)
1ee41570 is described below
commit 1ee41570015560baf1b6411b2eb73dfd7f7cfe9a
Author: Bertil Chapuis <[email protected]>
AuthorDate: Tue Jun 11 13:46:38 2024 +0200
Fix some issues detected by sonar (#867)
* Suppress warning related to decompression
* Suppress warning related to spli
Suppress warning related to split with regex
* Add integrity tag to html sub resources
* Use static method of parent class
* Use try with resources
* Remove empty constructor
* Introduce constants
* Throw exception upon clear
* Use correct static method
* Add comment to constructor
* Format with spotless
* Add comment in constructor
* Implement truncate method
* Suppress warnings
* Throw exceptions
* Capitalize enum
* Suppress warnings
* Throw dedicated exception instead of generic one
* Format code with spotless
---
.../org/apache/baremaps/cli/geocoder/Search.java | 4 +-
.../org/apache/baremaps/cli/geocoder/Serve.java | 4 +-
.../java/org/apache/baremaps/cli/map/MBTiles.java | 66 ++++++-------
.../org/apache/baremaps/config/ConfigReader.java | 2 -
.../database/metadata/DatabaseMetadata.java | 104 ++++++++++++++-------
.../baremaps/database/postgres/CoordinateMap.java | 2 +-
.../baremaps/geocoder/GeonamesQueryBuilder.java | 6 +-
.../apache/baremaps/geocoder/GeonamesRecord.java | 4 +-
.../baremaps/geocoderosm/GeocoderOsmQuery.java | 4 +-
.../org/apache/baremaps/iploc/IpLocMapper.java | 1 +
.../java/org/apache/baremaps/iploc/NicReader.java | 4 +-
.../storage/flatgeobuf/FlatGeoBufDataTable.java | 7 +-
.../storage/postgres/PostgresDataStore.java | 4 +-
.../storage/postgres/PostgresDataTable.java | 28 +++---
.../storage/postgres/PostgresTypeConversion.java | 1 +
.../storage/shapefile/ShapefileDataTable.java | 4 +-
.../storage/shapefile/internal/DBaseDataType.java | 30 +++---
.../shapefile/internal/DbaseByteReader.java | 31 +++---
.../shapefile/internal/ShapefileByteReader.java | 30 +++---
.../workflow/tasks/CreateGeonamesIndex.java | 4 +-
.../baremaps/workflow/tasks/CreateIplocIndex.java | 4 +-
.../baremaps/workflow/tasks/DecompressFile.java | 1 +
.../apache/baremaps/workflow/tasks/ExecuteSql.java | 1 +
.../baremaps/geocoder/GeonamesIndexTest.java | 4 +-
.../apache/baremaps/geocoderosm/OSMIndexTest.java | 4 +-
.../org/apache/baremaps/iploc/IpLocObjectTest.java | 4 +-
.../src/main/resources/static/server.html | 12 +--
.../src/main/resources/static/viewer.html | 18 ++--
28 files changed, 221 insertions(+), 167 deletions(-)
diff --git
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Search.java
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/geocoder/Search.java
index 5292996f..379b0c27 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
@@ -23,7 +23,7 @@ import java.nio.file.Path;
import java.util.concurrent.Callable;
import org.apache.baremaps.geocoder.GeonamesQueryBuilder;
import org.apache.lucene.search.*;
-import org.apache.lucene.store.MMapDirectory;
+import org.apache.lucene.store.FSDirectory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import picocli.CommandLine.Command;
@@ -57,7 +57,7 @@ public class Search implements Callable<Integer> {
@Override
public Integer call() throws Exception {
try (
- var directory = MMapDirectory.open(indexDirectory);
+ var directory = FSDirectory.open(indexDirectory);
var searcherManager = new SearcherManager(directory, new
SearcherFactory())) {
var query = new
GeonamesQueryBuilder().queryText(terms).countryCode(countryCode).build();
var searcher = searcherManager.acquire();
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 271f9812..3af14e17 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
@@ -33,7 +33,7 @@ import java.util.concurrent.Callable;
import org.apache.baremaps.server.GeocoderResource;
import org.apache.lucene.search.SearcherFactory;
import org.apache.lucene.search.SearcherManager;
-import org.apache.lucene.store.MMapDirectory;
+import org.apache.lucene.store.FSDirectory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import picocli.CommandLine.Command;
@@ -59,7 +59,7 @@ public class Serve implements Callable<Integer> {
public Integer call() throws Exception {
try (
- var directory = MMapDirectory.open(indexDirectory);
+ var directory = FSDirectory.open(indexDirectory);
var searcherManager = new SearcherManager(directory, new
SearcherFactory())) {
var serverBuilder = Server.builder();
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 3358c50d..1644e719 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
@@ -79,50 +79,52 @@ public class MBTiles implements Callable<Integer> {
var caffeineSpec = CaffeineSpec.parse(cache);
var datasource = SqliteUtils.createDataSource(mbtilesPath, true);
- var tileStore = new MBTilesStore(datasource);
- var tileCache = new TileCache(tileStore, caffeineSpec);
- var tileStoreSupplier = (Supplier<TileStore>) () -> tileCache;
+ try (var tileStore = new MBTilesStore(datasource);
+ var tileCache = new TileCache(tileStore, caffeineSpec)) {
+ var tileStoreSupplier = (Supplier<TileStore>) () -> tileCache;
- var style = objectMapper.readValue(configReader.read(stylePath),
Style.class);
- var styleSupplier = (Supplier<Style>) () -> style;
+ var style = objectMapper.readValue(configReader.read(stylePath),
Style.class);
+ var styleSupplier = (Supplier<Style>) () -> style;
- var tileJSON = objectMapper.readValue(configReader.read(tileJSONPath),
TileJSON.class);
- var tileJSONSupplier = (Supplier<TileJSON>) () -> tileJSON;
+ var tileJSON = objectMapper.readValue(configReader.read(tileJSONPath),
TileJSON.class);
+ var tileJSONSupplier = (Supplier<TileJSON>) () -> tileJSON;
- var serverBuilder = Server.builder();
- serverBuilder.http(port);
+ var serverBuilder = Server.builder();
+ serverBuilder.http(port);
- var jsonResponseConverter = new
JacksonResponseConverterFunction(objectMapper);
- serverBuilder.annotatedService(new TileResource(tileStoreSupplier),
jsonResponseConverter);
- serverBuilder.annotatedService(new StyleResource(styleSupplier),
jsonResponseConverter);
- serverBuilder.annotatedService(new TileJSONResource(tileJSONSupplier),
jsonResponseConverter);
+ var jsonResponseConverter = new
JacksonResponseConverterFunction(objectMapper);
+ serverBuilder.annotatedService(new TileResource(tileStoreSupplier),
jsonResponseConverter);
+ serverBuilder.annotatedService(new StyleResource(styleSupplier),
jsonResponseConverter);
+ serverBuilder.annotatedService(new TileJSONResource(tileJSONSupplier),
jsonResponseConverter);
- var index = HttpFile.of(ClassLoader.getSystemClassLoader(),
"/static/server.html");
- serverBuilder.service("/", index.asService());
- serverBuilder.serviceUnder("/",
FileService.of(ClassLoader.getSystemClassLoader(), "/static"));
+ var index = HttpFile.of(ClassLoader.getSystemClassLoader(),
"/static/server.html");
+ serverBuilder.service("/", index.asService());
+ serverBuilder.serviceUnder("/",
+ FileService.of(ClassLoader.getSystemClassLoader(), "/static"));
- serverBuilder.decorator(CorsService.builderForAnyOrigin()
- .allowRequestMethods(HttpMethod.GET, HttpMethod.POST, HttpMethod.PUT,
HttpMethod.DELETE,
- HttpMethod.OPTIONS, HttpMethod.HEAD)
- .allowRequestHeaders(HttpHeaderNames.ORIGIN,
HttpHeaderNames.CONTENT_TYPE,
- HttpHeaderNames.ACCEPT, HttpHeaderNames.AUTHORIZATION)
- .allowCredentials()
- .exposeHeaders(HttpHeaderNames.LOCATION)
- .newDecorator());
+ serverBuilder.decorator(CorsService.builderForAnyOrigin()
+ .allowRequestMethods(HttpMethod.GET, HttpMethod.POST,
HttpMethod.PUT, HttpMethod.DELETE,
+ HttpMethod.OPTIONS, HttpMethod.HEAD)
+ .allowRequestHeaders(HttpHeaderNames.ORIGIN,
HttpHeaderNames.CONTENT_TYPE,
+ HttpHeaderNames.ACCEPT, HttpHeaderNames.AUTHORIZATION)
+ .allowCredentials()
+ .exposeHeaders(HttpHeaderNames.LOCATION)
+ .newDecorator());
- serverBuilder.serviceUnder("/docs", new DocService());
+ serverBuilder.serviceUnder("/docs", new DocService());
- serverBuilder.disableServerHeader();
- serverBuilder.disableDateHeader();
+ serverBuilder.disableServerHeader();
+ serverBuilder.disableDateHeader();
- var server = serverBuilder.build();
+ var server = serverBuilder.build();
- var startFuture = server.start();
- startFuture.join();
+ var startFuture = server.start();
+ startFuture.join();
- var shutdownFuture = server.closeOnJvmShutdown();
- shutdownFuture.join();
+ var shutdownFuture = server.closeOnJvmShutdown();
+ shutdownFuture.join();
+ }
return 0;
}
}
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 2900df20..244a2800 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
@@ -34,8 +34,6 @@ public class ConfigReader {
System.setProperty("polyglot.engine.WarnInterpreterOnly", "false");
}
- public ConfigReader() {}
-
public String read(Path path) throws IOException {
var extension =
com.google.common.io.Files.getFileExtension(path.toString());
var config = switch (extension) {
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 c3b67575..dcddb4a5 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
@@ -29,6 +29,36 @@ import javax.sql.DataSource;
public class DatabaseMetadata {
+ public static final String TABLE_CAT = "TABLE_CAT";
+ public static final String TABLE_SCHEM = "TABLE_SCHEM";
+ public static final String TABLE_NAME = "TABLE_NAME";
+ public static final String TABLE_TYPE = "TABLE_TYPE";
+ public static final String REMARKS = "REMARKS";
+ public static final String TYPE_CAT = "TYPE_CAT";
+ public static final String TYPE_SCHEM = "TYPE_SCHEM";
+ public static final String TYPE_NAME = "TYPE_NAME";
+ public static final String SELF_REFERENCING_COL_NAME =
"SELF_REFERENCING_COL_NAME";
+ public static final String REF_GENERATION = "REF_GENERATION";
+ public static final String COLUMN_NAME = "COLUMN_NAME";
+ public static final String DATA_TYPE = "DATA_TYPE";
+ public static final String COLUMN_SIZE = "COLUMN_SIZE";
+ public static final String DECIMAL_DIGITS = "DECIMAL_DIGITS";
+ public static final String NUM_PREC_RADIX = "NUM_PREC_RADIX";
+ public static final String NULLABLE = "NULLABLE";
+ public static final String COLUMN_DEF = "COLUMN_DEF";
+ public static final String KEY_SEQ = "KEY_SEQ";
+ public static final String PK_NAME = "PK_NAME";
+ public static final String SQL_DATA_TYPE = "SQL_DATA_TYPE";
+ public static final String SQL_DATETIME_SUB = "SQL_DATETIME_SUB";
+ public static final String CHAR_OCTET_LENGTH = "CHAR_OCTET_LENGTH";
+ public static final String ORDINAL_POSITION = "ORDINAL_POSITION";
+ public static final String IS_NULLABLE = "IS_NULLABLE";
+ public static final String SCOPE_CATALOG = "SCOPE_CATALOG";
+ public static final String SCOPE_SCHEMA = "SCOPE_SCHEMA";
+ public static final String SCOPE_TABLE = "SCOPE_TABLE";
+ public static final String SOURCE_DATA_TYPE = "SOURCE_DATA_TYPE";
+ public static final String IS_AUTOINCREMENT = "IS_AUTOINCREMENT";
+ public static final String IS_GENERATEDCOLUMN = "IS_GENERATEDCOLUMN";
private final DataSource dataSource;
public DatabaseMetadata(DataSource dataSource) {
@@ -62,12 +92,17 @@ public class DatabaseMetadata {
var resultSet =
connection.getMetaData().getTables(catalog, schemaPattern,
tableNamePattern, types)) {
while (resultSet.next()) {
- tableDescriptions.add(new TableResult(resultSet.getString("TABLE_CAT"),
- resultSet.getString("TABLE_SCHEM"),
resultSet.getString("TABLE_NAME"),
- resultSet.getString("TABLE_TYPE"), resultSet.getString("REMARKS"),
- resultSet.getString("TYPE_CAT"), resultSet.getString("TYPE_SCHEM"),
- resultSet.getString("TYPE_NAME"),
resultSet.getString("SELF_REFERENCING_COL_NAME"),
- resultSet.getString("REF_GENERATION")));
+ tableDescriptions.add(new TableResult(
+ resultSet.getString(TABLE_CAT),
+ resultSet.getString(TABLE_SCHEM),
+ resultSet.getString(TABLE_NAME),
+ resultSet.getString(TABLE_TYPE),
+ resultSet.getString(REMARKS),
+ resultSet.getString(TYPE_CAT),
+ resultSet.getString(TYPE_SCHEM),
+ resultSet.getString(TYPE_NAME),
+ resultSet.getString(SELF_REFERENCING_COL_NAME),
+ resultSet.getString(REF_GENERATION)));
}
} catch (SQLException e) {
throw new RuntimeException(e);
@@ -83,29 +118,29 @@ public class DatabaseMetadata {
tableNamePattern, columnNamePattern)) {
while (resultSet.next()) {
tableColumns.add(new ColumnResult(
- resultSet.getString("TABLE_CAT"),
- resultSet.getString("TABLE_SCHEM"),
- resultSet.getString("TABLE_NAME"),
- resultSet.getString("COLUMN_NAME"),
- resultSet.getInt("DATA_TYPE"),
- resultSet.getString("TYPE_NAME"),
- resultSet.getInt("COLUMN_SIZE"),
- resultSet.getInt("DECIMAL_DIGITS"),
- resultSet.getInt("NUM_PREC_RADIX"),
- resultSet.getInt("NULLABLE"),
- resultSet.getString("REMARKS"),
- resultSet.getString("COLUMN_DEF"),
- resultSet.getInt("SQL_DATA_TYPE"),
- resultSet.getInt("SQL_DATETIME_SUB"),
- resultSet.getInt("CHAR_OCTET_LENGTH"),
- resultSet.getInt("ORDINAL_POSITION"),
- resultSet.getString("IS_NULLABLE"),
- resultSet.getString("SCOPE_CATALOG"),
- resultSet.getString("SCOPE_SCHEMA"),
- resultSet.getString("SCOPE_TABLE"),
- resultSet.getShort("SOURCE_DATA_TYPE"),
- resultSet.getString("IS_AUTOINCREMENT"),
- resultSet.getString("IS_GENERATEDCOLUMN")));
+ resultSet.getString(TABLE_CAT),
+ resultSet.getString(TABLE_SCHEM),
+ resultSet.getString(TABLE_NAME),
+ resultSet.getString(COLUMN_NAME),
+ resultSet.getInt(DATA_TYPE),
+ resultSet.getString(TYPE_NAME),
+ resultSet.getInt(COLUMN_SIZE),
+ resultSet.getInt(DECIMAL_DIGITS),
+ resultSet.getInt(NUM_PREC_RADIX),
+ resultSet.getInt(NULLABLE),
+ resultSet.getString(REMARKS),
+ resultSet.getString(COLUMN_DEF),
+ resultSet.getInt(SQL_DATA_TYPE),
+ resultSet.getInt(SQL_DATETIME_SUB),
+ resultSet.getInt(CHAR_OCTET_LENGTH),
+ resultSet.getInt(ORDINAL_POSITION),
+ resultSet.getString(IS_NULLABLE),
+ resultSet.getString(SCOPE_CATALOG),
+ resultSet.getString(SCOPE_SCHEMA),
+ resultSet.getString(SCOPE_TABLE),
+ resultSet.getShort(SOURCE_DATA_TYPE),
+ resultSet.getString(IS_AUTOINCREMENT),
+ resultSet.getString(IS_GENERATEDCOLUMN)));
}
} catch (SQLException e) {
throw new RuntimeException(e);
@@ -119,10 +154,13 @@ public class DatabaseMetadata {
try (var connection = dataSource.getConnection();
var resultSet = connection.getMetaData().getPrimaryKeys(catalog,
schemaPattern, table)) {
while (resultSet.next()) {
- tablePrimaryKeyColumns.add(new
PrimaryKeyResult(resultSet.getString("TABLE_CAT"),
- resultSet.getString("TABLE_SCHEM"),
resultSet.getString("TABLE_NAME"),
- resultSet.getString("COLUMN_NAME"), resultSet.getShort("KEY_SEQ"),
- resultSet.getString("PK_NAME")));
+ tablePrimaryKeyColumns.add(new PrimaryKeyResult(
+ resultSet.getString(TABLE_CAT),
+ resultSet.getString(TABLE_SCHEM),
+ resultSet.getString(TABLE_NAME),
+ resultSet.getString(COLUMN_NAME),
+ resultSet.getShort(KEY_SEQ),
+ resultSet.getString(PK_NAME)));
}
} catch (SQLException e) {
throw new RuntimeException(e);
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/CoordinateMap.java
b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/CoordinateMap.java
index ed3cad6c..fa390859 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/CoordinateMap.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/CoordinateMap.java
@@ -258,6 +258,6 @@ public class CoordinateMap extends PostgresMap<Long,
Coordinate> {
@Override
public void clear() {
-
+ throw new UnsupportedOperationException();
}
}
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesQueryBuilder.java
b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesQueryBuilder.java
index 7cef357f..8b4958ac 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesQueryBuilder.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesQueryBuilder.java
@@ -28,7 +28,7 @@ import org.apache.lucene.expressions.SimpleBindings;
import org.apache.lucene.expressions.js.JavascriptCompiler;
import org.apache.lucene.index.Term;
import org.apache.lucene.queries.function.FunctionScoreQuery;
-import org.apache.lucene.queryparser.classic.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParserBase;
import org.apache.lucene.queryparser.simple.SimpleQueryParser;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
@@ -96,7 +96,7 @@ public class GeonamesQueryBuilder {
var builder = new BooleanQuery.Builder();
if (queryText != null) {
- var queryTextEsc = QueryParser.escape(queryText);
+ var queryTextEsc = QueryParserBase.escape(queryText);
if (!queryTextEsc.isBlank()) {
// Changing the fields here might affect queries using queryText.
var fieldWeights = Map.of("name", 1f, "asciiname", 1f, "country", 1f,
"countryCode", 1f);
@@ -112,7 +112,7 @@ public class GeonamesQueryBuilder {
}
if (countryCode != null) {
- var countryCodeEsc = QueryParser.escape(countryCode);
+ var countryCodeEsc = QueryParserBase.escape(countryCode);
if (!countryCodeEsc.isBlank()) {
var countryCodeQuery = new TermQuery(new Term("countryCode",
countryCodeEsc));
builder.add(countryCodeQuery, BooleanClause.Occur.MUST);
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesRecord.java
b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesRecord.java
index 493534af..56138ee8 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesRecord.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/geocoder/GeonamesRecord.java
@@ -84,7 +84,9 @@ public class GeonamesRecord {
// date of last modification in yyyy-MM-dd format
private String modificationDate;
- public GeonamesRecord() {}
+ public GeonamesRecord() {
+ // Default constructor
+ }
public Integer getGeonameid() {
return geonameid;
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmQuery.java
b/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmQuery.java
index 09e98111..bd326369 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmQuery.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/geocoderosm/GeocoderOsmQuery.java
@@ -18,7 +18,7 @@
package org.apache.baremaps.geocoderosm;
import org.apache.baremaps.geocoder.GeocoderConstants;
-import org.apache.lucene.queryparser.classic.QueryParser;
+import org.apache.lucene.queryparser.classic.QueryParserBase;
import org.apache.lucene.queryparser.simple.SimpleQueryParser;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
@@ -34,7 +34,7 @@ public class GeocoderOsmQuery {
public Query build() {
var builder = new BooleanQuery.Builder();
- var queryTextEsc = QueryParser.escape(query);
+ var queryTextEsc = QueryParserBase.escape(query);
var parser = new SimpleQueryParser(GeocoderConstants.ANALYZER,
OsmTags.NAME.key());
var termsQuery = parser.parse(queryTextEsc);
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 5448c2b6..f2a605b7 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
@@ -63,6 +63,7 @@ public class IpLocMapper implements Function<NicObject,
Optional<IpLocObject>> {
* {@code NicObject}
*/
@Override
+ @SuppressWarnings({"squid:S3776", "squid:S1192"})
public Optional<IpLocObject> apply(NicObject nicObject) {
try {
if (nicObject.attributes().isEmpty()) {
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/iploc/NicReader.java
b/baremaps-core/src/main/java/org/apache/baremaps/iploc/NicReader.java
index e2c5cfd1..8eb9a70a 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/iploc/NicReader.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/iploc/NicReader.java
@@ -27,7 +27,9 @@ import java.util.stream.StreamSupport;
/** A parser for Network Coordination Center (NIC) data. */
public class NicReader {
- public NicReader() {}
+ public NicReader() {
+ // Default constructor
+ }
/**
* Creates an ordered stream of NIC objects.
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java
b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java
index f3598d28..e3dd4815 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/storage/flatgeobuf/FlatGeoBufDataTable.java
@@ -29,6 +29,7 @@ import java.util.NoSuchElementException;
import org.apache.baremaps.data.collection.DataCollection;
import org.apache.baremaps.data.storage.DataRow;
import org.apache.baremaps.data.storage.DataSchema;
+import org.apache.baremaps.data.storage.DataStoreException;
import org.apache.baremaps.data.storage.DataTable;
import org.locationtech.jts.geom.*;
import org.wololo.flatgeobuf.Constants;
@@ -116,7 +117,7 @@ public class FlatGeoBufDataTable implements DataTable {
// create the feature stream
return new RowIterator(channel, headerMeta, schema, buffer);
} catch (IOException e) {
- throw new RuntimeException(e);
+ throw new DataStoreException(e);
}
}
@@ -125,7 +126,7 @@ public class FlatGeoBufDataTable implements DataTable {
*/
@Override
public void clear() {
-
+ throw new UnsupportedOperationException();
}
/**
@@ -138,7 +139,7 @@ public class FlatGeoBufDataTable implements DataTable {
HeaderMeta headerMeta = readHeaderMeta(channel, buffer);
return headerMeta.featuresCount;
} catch (IOException e) {
- throw new RuntimeException(e);
+ throw new DataStoreException(e);
}
}
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 de05ebe6..3168d21f 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
@@ -152,7 +152,7 @@ public class PostgresDataStore implements DataStore {
}
}
} catch (Exception e) {
- throw new RuntimeException(e);
+ throw new DataStoreException(e);
}
}
@@ -166,7 +166,7 @@ public class PostgresDataStore implements DataStore {
var statement = connection.prepareStatement(dropTable(schema))) {
statement.execute();
} catch (SQLException e) {
- throw new RuntimeException(e);
+ throw new DataStoreException(e);
}
}
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java
b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java
index 6e6315a2..d3d707e3 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresDataTable.java
@@ -23,10 +23,7 @@ import java.util.*;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
import javax.sql.DataSource;
-import org.apache.baremaps.data.storage.DataRow;
-import org.apache.baremaps.data.storage.DataRowImpl;
-import org.apache.baremaps.data.storage.DataSchema;
-import org.apache.baremaps.data.storage.DataTable;
+import org.apache.baremaps.data.storage.*;
import org.apache.baremaps.openstreetmap.utils.GeometryUtils;
import org.locationtech.jts.geom.*;
@@ -81,7 +78,7 @@ public class PostgresDataTable implements DataTable {
resultSet.next();
return resultSet.getLong(1);
} catch (SQLException e) {
- throw new RuntimeException(e);
+ throw new DataStoreException(e);
}
}
@@ -104,7 +101,7 @@ public class PostgresDataTable implements DataTable {
setParameters(statement, row);
return statement.executeUpdate() > 0;
} catch (SQLException e) {
- throw new RuntimeException(e);
+ throw new DataStoreException(e);
}
}
@@ -122,7 +119,7 @@ public class PostgresDataTable implements DataTable {
statement.executeBatch();
return true;
} catch (SQLException e) {
- throw new RuntimeException(e);
+ throw new DataStoreException(e);
}
}
@@ -131,7 +128,12 @@ public class PostgresDataTable implements DataTable {
*/
@Override
public void clear() {
-
+ try (var connection = dataSource.getConnection();
+ var statement = connection.createStatement()) {
+ statement.execute(truncate(schema));
+ } catch (SQLException e) {
+ throw new DataStoreException(e);
+ }
}
/**
@@ -199,6 +201,10 @@ public class PostgresDataTable implements DataTable {
return String.format("SELECT COUNT(*) FROM \"%s\"", schema.name());
}
+ private String truncate(DataSchema schema) {
+ return String.format("TRUNCATE TABLE \"%s\"", schema.name());
+ }
+
/**
* An iterator that iterates over the rows of a table.
*/
@@ -220,7 +226,7 @@ public class PostgresDataTable implements DataTable {
hasNext = resultSet.next();
} catch (SQLException e) {
close();
- throw new RuntimeException("Error while initializing SQL query
iterator", e);
+ throw new DataStoreException("Error while initializing SQL query
iterator", e);
}
}
@@ -257,7 +263,7 @@ public class PostgresDataTable implements DataTable {
return new DataRowImpl(schema, values);
} catch (SQLException e) {
close();
- throw new RuntimeException("Error while fetching the next result", e);
+ throw new DataStoreException("Error while fetching the next result",
e);
}
}
@@ -277,7 +283,7 @@ public class PostgresDataTable implements DataTable {
connection.close();
}
} catch (SQLException e) {
- throw new RuntimeException("Error while closing resources", e);
+ throw new DataStoreException("Error while closing resources", e);
}
}
}
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresTypeConversion.java
b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresTypeConversion.java
index 9c14fd22..fb428e73 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresTypeConversion.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/storage/postgres/PostgresTypeConversion.java
@@ -21,6 +21,7 @@ import java.util.EnumMap;
import java.util.Map;
import org.apache.baremaps.data.storage.DataColumn.Type;
+@SuppressWarnings("squid:S1192")
public class PostgresTypeConversion {
public static final EnumMap<Type, String> typeToName = new
EnumMap<>(Type.class);
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java
b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java
index dae52548..1ee7f693 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/ShapefileDataTable.java
@@ -77,7 +77,7 @@ public class ShapefileDataTable implements DataTable {
try {
return new ShapefileIterator(shapeFile.read());
} catch (IOException e) {
- throw new RuntimeException(e);
+ throw new DataStoreException(e);
}
}
@@ -86,7 +86,7 @@ public class ShapefileDataTable implements DataTable {
*/
@Override
public void clear() {
-
+ throw new UnsupportedOperationException();
}
/**
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DBaseDataType.java
b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DBaseDataType.java
index bb5644e4..c86c878b 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DBaseDataType.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/DBaseDataType.java
@@ -26,54 +26,54 @@ package org.apache.baremaps.storage.shapefile.internal;
*/
public enum DBaseDataType {
/** Character (less than 254 characters). */
- Character('C'),
+ CHARACTER('C'),
/** Number (less than 18 characters, can include sign and decimal). */
- Number('N'),
+ NUMBER('N'),
/** Logical (3 way, ? Y,y,T,t N,n,F,f). */
- Logical('L'),
+ LOGICAL('L'),
/** Date (YYYYMMDD format). */
- Date('D'),
+ DATE('D'),
/** Memo (Pointer to ASCII text field). */
- Memo('M'),
+ MEMO('M'),
/** Floating point (20 digits). */
- FloatingPoint('F'),
+ FLOATING_POINT('F'),
// CharacterNameVariable("?"), //1-254 Characters
/** Picture (memo). */
- Picture('P'),
+ PICTURE('P'),
/** Currency (Foxpro). */
- Currency('Y'),
+ CURRENCY('Y'),
/**
* Date time (32 bit little-endian Julian date, 32 byte little endian
milliseconds since
* midnight).
*/
- DateTime('T'),
+ DATE_TIME('T'),
/** Integer (4 byte little endian). */
- Integer('I'),
+ INTEGER('I'),
/** Varifield (???). */
- VariField('V'),
+ VARI_FIELD('V'),
/** Variant (???). */
- Variant('X'),
+ VARIANT('X'),
/** Time stamp (see url). */
- TimeStamp('@'),
+ TIMESTAMP('@'),
/** Double. */
- Double('O'),
+ DOUBLE('O'),
/** Auto increment. */
- AutoIncrement('+');
+ AUTO_INCREMENT('+');
/** Data type. */
public final char datatype;
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 60975998..a29ffead 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
@@ -126,21 +126,21 @@ public class DbaseByteReader extends CommonByteReader
implements AutoCloseable {
// TODO: move somewhere else
Object object = switch (fieldDescriptor.getType()) {
- case Character -> value;
- case Number -> getNumber(fieldDescriptor, value);
- case Currency -> Double.parseDouble(value.trim());
- case Integer -> Integer.parseInt(value.trim());
- case Double -> Double.parseDouble(value.trim());
- case AutoIncrement -> Integer.parseInt(value.trim());
- case Logical -> value;
- case Date -> value;
- case Memo -> value;
- case FloatingPoint -> value;
- case Picture -> value;
- case VariField -> value;
- case Variant -> value;
- case TimeStamp -> value;
- case DateTime -> value;
+ case CHARACTER -> value;
+ case NUMBER -> getNumber(fieldDescriptor, value);
+ case CURRENCY -> Double.parseDouble(value.trim());
+ case INTEGER -> Integer.parseInt(value.trim());
+ case DOUBLE -> Double.parseDouble(value.trim());
+ case AUTO_INCREMENT -> Integer.parseInt(value.trim());
+ case LOGICAL -> value;
+ case DATE -> value;
+ case MEMO -> value;
+ case FLOATING_POINT -> value;
+ case PICTURE -> value;
+ case VARI_FIELD -> value;
+ case VARIANT -> value;
+ case TIMESTAMP -> value;
+ case DATE_TIME -> value;
};
row.set(fieldDescriptor.getName(), object);
@@ -376,6 +376,7 @@ public class DbaseByteReader extends CommonByteReader
implements AutoCloseable {
* @param pageCodeBinaryValue binary code page value.
* @return Page code.
*/
+ @SuppressWarnings("squid:S1192")
private String toCodePage(byte pageCodeBinaryValue) {
// From http://trac.osgeo.org/gdal/ticket/2864
HashMap<Integer, String> knownConversions = new HashMap<>();
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java
b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java
index 841c2d3e..61b1e39f 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/storage/shapefile/internal/ShapefileByteReader.java
@@ -131,23 +131,23 @@ public class ShapefileByteReader extends CommonByteReader
{
var fieldDescriptor = this.databaseFieldsDescriptors.get(i);
var columnName = fieldDescriptor.getName();
var columnType = switch (fieldDescriptor.getType()) {
- case Character -> Type.STRING;
- case Number -> fieldDescriptor.getDecimalCount() == 0 ? Type.LONG :
Type.DOUBLE;
- case Currency -> Type.DOUBLE;
- case Double -> Type.DOUBLE;
- case Integer -> Type.INTEGER;
- case AutoIncrement -> Type.INTEGER;
+ case CHARACTER -> Type.STRING;
+ case NUMBER -> fieldDescriptor.getDecimalCount() == 0 ? Type.LONG :
Type.DOUBLE;
+ case CURRENCY -> Type.DOUBLE;
+ case DOUBLE -> Type.DOUBLE;
+ case INTEGER -> Type.INTEGER;
+ case AUTO_INCREMENT -> Type.INTEGER;
// TODO: Implement the following types
- case Logical -> Type.STRING;
- case Date -> Type.STRING;
- case Memo -> Type.STRING;
- case FloatingPoint -> Type.STRING;
- case Picture -> Type.STRING;
- case VariField -> Type.STRING;
- case Variant -> Type.STRING;
- case TimeStamp -> Type.STRING;
- case DateTime -> Type.STRING;
+ case LOGICAL -> Type.STRING;
+ case DATE -> Type.STRING;
+ case MEMO -> Type.STRING;
+ case FLOATING_POINT -> Type.STRING;
+ case PICTURE -> Type.STRING;
+ case VARI_FIELD -> Type.STRING;
+ case VARIANT -> Type.STRING;
+ case TIMESTAMP -> Type.STRING;
+ case DATE_TIME -> Type.STRING;
};
columns.add(new DataColumnFixed(columnName, Cardinality.OPTIONAL,
columnType));
}
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 f7ee96cc..a370ef1c 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
@@ -29,7 +29,7 @@ import org.apache.baremaps.workflow.WorkflowContext;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
-import org.apache.lucene.store.MMapDirectory;
+import org.apache.lucene.store.FSDirectory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -66,7 +66,7 @@ public class CreateGeonamesIndex implements Task {
*/
@Override
public void execute(WorkflowContext context) throws Exception {
- var directory = MMapDirectory.open(indexDirectory);
+ var directory = FSDirectory.open(indexDirectory);
var config = new IndexWriterConfig(GeocoderConstants.ANALYZER);
try (var indexWriter = new IndexWriter(directory, config);
var inputStream = Files.newInputStream(dataFile)) {
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateIplocIndex.java
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateIplocIndex.java
index 2fc16a8b..7d1d1b6a 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateIplocIndex.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/CreateIplocIndex.java
@@ -31,7 +31,7 @@ import org.apache.baremaps.workflow.Task;
import org.apache.baremaps.workflow.WorkflowContext;
import org.apache.lucene.search.SearcherFactory;
import org.apache.lucene.search.SearcherManager;
-import org.apache.lucene.store.MMapDirectory;
+import org.apache.lucene.store.FSDirectory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sqlite.SQLiteConfig;
@@ -70,7 +70,7 @@ public class CreateIplocIndex implements Task {
*/
@Override
public void execute(WorkflowContext context) throws Exception {
- try (var directory = MMapDirectory.open(geonamesIndexPath);
+ try (var directory = FSDirectory.open(geonamesIndexPath);
var searcherManager = new SearcherManager(directory, new
SearcherFactory())) {
logger.info("Creating the Iploc database");
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/DecompressFile.java
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/DecompressFile.java
index 056cf85a..ac364246 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/DecompressFile.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/DecompressFile.java
@@ -191,6 +191,7 @@ public class DecompressFile implements Task {
* @param target the target directory
* @throws IOException if an I/O error occurs
*/
+ @SuppressWarnings("squid:S5042")
protected static void decompressZip(Path source, Path target) throws
IOException {
Files.createDirectories(target);
try (var zipFile = new ZipFile(source.toFile())) {
diff --git
a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExecuteSql.java
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExecuteSql.java
index f167f085..1b2ae187 100644
---
a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExecuteSql.java
+++
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ExecuteSql.java
@@ -92,6 +92,7 @@ public class ExecuteSql implements Task {
* @param sql The SQL string.
* @return The SQL statements.
*/
+ @SuppressWarnings("squid:S5852")
public static Stream<String> split(String sql) {
return Arrays.stream(sql.split("\\s*;\\s*(?=(?:[^']*'[^']*')*[^']*$)"));
}
diff --git
a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java
b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java
index db3f9233..b9d392ff 100644
---
a/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java
+++
b/baremaps-core/src/test/java/org/apache/baremaps/geocoder/GeonamesIndexTest.java
@@ -31,7 +31,7 @@ import org.apache.baremaps.workflow.tasks.CreateGeonamesIndex;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.SearcherFactory;
import org.apache.lucene.search.SearcherManager;
-import org.apache.lucene.store.MMapDirectory;
+import org.apache.lucene.store.FSDirectory;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -51,7 +51,7 @@ public class GeonamesIndexTest {
var data = TestFiles.resolve("baremaps-testing/data/geonames/sample.txt");
var task = new CreateGeonamesIndex(data, directory);
task.execute(new WorkflowContext());
- var dir = MMapDirectory.open(directory);
+ var dir = FSDirectory.open(directory);
var searcherManager = new SearcherManager(dir, new SearcherFactory());
searcher = searcherManager.acquire();
}
diff --git
a/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java
b/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java
index ae2b5b90..7b4d8a7d 100644
---
a/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java
+++
b/baremaps-core/src/test/java/org/apache/baremaps/geocoderosm/OSMIndexTest.java
@@ -42,7 +42,7 @@ import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.SearcherFactory;
import org.apache.lucene.search.SearcherManager;
-import org.apache.lucene.store.MMapDirectory;
+import org.apache.lucene.store.FSDirectory;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
@@ -64,7 +64,7 @@ public class OSMIndexTest {
var task = new CreateGeocoderOpenStreetMap(SAMPLE_OSM_PBF, directory);
task.execute(new WorkflowContext());
- var dir = MMapDirectory.open(directory);
+ var dir = FSDirectory.open(directory);
var searcherManager = new SearcherManager(dir, new SearcherFactory());
searcher = searcherManager.acquire();
}
diff --git
a/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java
b/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java
index 665fb5e1..b1ba7ab4 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/iploc/IpLocObjectTest.java
@@ -34,7 +34,7 @@ import org.apache.baremaps.workflow.WorkflowContext;
import org.apache.baremaps.workflow.tasks.CreateGeonamesIndex;
import org.apache.lucene.search.SearcherFactory;
import org.apache.lucene.search.SearcherManager;
-import org.apache.lucene.store.MMapDirectory;
+import org.apache.lucene.store.FSDirectory;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
@@ -70,7 +70,7 @@ class IpLocObjectTest {
task.execute(new WorkflowContext());
// Create the IPLoc mapper
- var dir = MMapDirectory.open(directory);
+ var dir = FSDirectory.open(directory);
var searcherManager = new SearcherManager(dir, new SearcherFactory());
ipLocMapper = new IpLocMapper(searcherManager);
ipLocObjects = nicObjects.stream()
diff --git a/baremaps-server/src/main/resources/static/server.html
b/baremaps-server/src/main/resources/static/server.html
index f903e4c5..b1fc66e0 100644
--- a/baremaps-server/src/main/resources/static/server.html
+++ b/baremaps-server/src/main/resources/static/server.html
@@ -17,12 +17,12 @@ limitations under the License.
-->
<html>
<head>
- <script
src='https://unpkg.com/[email protected]/dist/maplibre-gl.js'></script>
- <script
src='https://baremaps.apache.org/assets/maplibre/maplibre-gl-inspect.js'></script>
- <script
src='https://baremaps.apache.org/assets/maplibre/maplibre-gl-tile-boundaries.js'></script>
- <link href='https://unpkg.com/[email protected]/dist/maplibre-gl.css'
rel='stylesheet' />
- <link
href='https://baremaps.apache.org/assets/maplibre/maplibre-gl-inspect.css'
rel='stylesheet' />
- <link
href='https://baremaps.apache.org/assets/maplibre/maplibre-gl-tile-boundaries.css'
rel='stylesheet' />
+ <script src="https://unpkg.com/[email protected]/dist/maplibre-gl.js"
integrity="sha256-qmQe97oAYERiVjChfXOO7hB6XvtPv+LURdheDkwjygk="
crossorigin="anonymous"></script>
+ <script
src="https://baremaps.apache.org/assets/maplibre/maplibre-gl-inspect.js"
integrity="sha256-NYdRoIbqeAWkTHjpa/BukMLXcsiqFoDuJCYzzaRei30="
crossorigin="anonymous"></script>
+ <script
src="https://baremaps.apache.org/assets/maplibre/maplibre-gl-tile-boundaries.js"
integrity="sha256-Jo8NvxMzooqayU8+eIsjO49b4EoakoE0o0tSSrBWPCU="
crossorigin="anonymous"></script>
+ <link rel="stylesheet"
href="https://unpkg.com/[email protected]/dist/maplibre-gl.css"
integrity="sha256-xOYnscyMgBG9kd6rZmIRZiBVqaN+CGquVtFHJS9018U="
crossorigin="anonymous">
+ <link rel="stylesheet"
href="https://baremaps.apache.org/assets/maplibre/maplibre-gl-inspect.css"
integrity="sha256-ePhsoaklgbCBxK7kfSUcP+V+bVqnfFwpILz7hkSR0Lo="
crossorigin="anonymous">
+ <link rel="stylesheet"
href="https://baremaps.apache.org/assets/maplibre/maplibre-gl-tile-boundaries.css"
integrity="sha256-FxIRliWXnU67sT1i97MgNQ0qL8LjsgYiBH9v/uNxzdM="
crossorigin="anonymous">
<link rel="icon" type="image/x-icon"
href="https://baremaps.apache.org/assets/favicon/favicon.ico">
<style>
diff --git a/baremaps-server/src/main/resources/static/viewer.html
b/baremaps-server/src/main/resources/static/viewer.html
index 8763d73b..c5a920de 100644
--- a/baremaps-server/src/main/resources/static/viewer.html
+++ b/baremaps-server/src/main/resources/static/viewer.html
@@ -17,15 +17,15 @@ limitations under the License.
-->
<html>
<head>
- <script
src='https://unpkg.com/[email protected]/dist/maplibre-gl.js'></script>
- <script
src='https://baremaps.apache.org/assets/maplibre/maplibre-gl-inspect.js'></script>
- <script
src='https://baremaps.apache.org/assets/maplibre/maplibre-gl-tile-boundaries.js'></script>
- <script
src='https://baremaps.apache.org/assets/maplibre/maplibre-custom-controls.js'></script>
- <script
src='https://baremaps.apache.org/assets/maplibre/maplibre-gl-framerate.js'></script>
- <link href='https://unpkg.com/[email protected]/dist/maplibre-gl.css'
rel='stylesheet' />
- <link
href='https://baremaps.apache.org/assets/maplibre/maplibre-gl-inspect.css'
rel='stylesheet' />
- <link
href='https://baremaps.apache.org/assets/maplibre/maplibre-gl-tile-boundaries.css'
rel='stylesheet' />
- <link
href='https://baremaps.apache.org/assets/maplibre/maplibre-custom-controls.css'
rel='stylesheet' />
+ <script src="https://unpkg.com/[email protected]/dist/maplibre-gl.js"
integrity="sha256-qmQe97oAYERiVjChfXOO7hB6XvtPv+LURdheDkwjygk="
crossorigin="anonymous"></script>
+ <script
src="https://baremaps.apache.org/assets/maplibre/maplibre-gl-inspect.js"
integrity="sha256-NYdRoIbqeAWkTHjpa/BukMLXcsiqFoDuJCYzzaRei30="
crossorigin="anonymous"></script>
+ <script
src="https://baremaps.apache.org/assets/maplibre/maplibre-gl-tile-boundaries.js"
integrity="sha256-Jo8NvxMzooqayU8+eIsjO49b4EoakoE0o0tSSrBWPCU="
crossorigin="anonymous"></script>
+ <script
src="https://baremaps.apache.org/assets/maplibre/maplibre-custom-controls.js"
integrity="sha256-80a3VIbp5OJ8HSIWJ7+6NjTvdBmVirLCR6otKucXnlw="
crossorigin="anonymous"></script>
+ <script
src="https://baremaps.apache.org/assets/maplibre/maplibre-gl-framerate.js"
integrity="sha256-6IVzv2heNDAl7KkSqjRkmjr56asfkdCxO2q8ouTo8t8="
crossorigin="anonymous"></script>
+ <link rel="stylesheet"
href="https://unpkg.com/[email protected]/dist/maplibre-gl.css"
integrity="sha256-xOYnscyMgBG9kd6rZmIRZiBVqaN+CGquVtFHJS9018U="
crossorigin="anonymous">
+ <link rel="stylesheet"
href="https://baremaps.apache.org/assets/maplibre/maplibre-gl-inspect.css"
integrity="sha256-ePhsoaklgbCBxK7kfSUcP+V+bVqnfFwpILz7hkSR0Lo="
crossorigin="anonymous">
+ <link rel="stylesheet"
href="https://baremaps.apache.org/assets/maplibre/maplibre-gl-tile-boundaries.css"
integrity="sha256-FxIRliWXnU67sT1i97MgNQ0qL8LjsgYiBH9v/uNxzdM="
crossorigin="anonymous">
+ <link rel="stylesheet"
href="https://baremaps.apache.org/assets/maplibre/maplibre-custom-controls.css"
integrity="sha256-rFc19qrZTPgcrNeYjtsLCcDOqM5NrLiPy2U+0FxW9vA="
crossorigin="anonymous">
<link rel="icon" type="image/x-icon"
href="https://baremaps.apache.org/assets/favicon/favicon.ico">
<style>