From 644ea4b4cf41e5cb69063f17d9334a30707740d1 Mon Sep 17 00:00:00 2001 From: Michael Barry Date: Sat, 23 Apr 2022 05:58:49 -0400 Subject: [PATCH] Fix sonar warnings (#181) --- .../com/onthegomap/planetiler/basemap/Generate.java | 6 +++--- .../planetiler/basemap/layers/MountainPeak.java | 2 +- .../onthegomap/planetiler/basemap/layers/Place.java | 2 +- .../planetiler/basemap/layers/WaterName.java | 4 ++-- .../planetiler/basemap/util/LanguageUtils.java | 10 ++++------ 5 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/onthegomap/planetiler/basemap/Generate.java b/src/main/java/com/onthegomap/planetiler/basemap/Generate.java index 554ee32..0235005 100644 --- a/src/main/java/com/onthegomap/planetiler/basemap/Generate.java +++ b/src/main/java/com/onthegomap/planetiler/basemap/Generate.java @@ -105,7 +105,7 @@ public class Generate { } private static T loadAndParseYaml(String url, PlanetilerConfig config, Class clazz) throws IOException { - LOGGER.info("reading " + url); + LOGGER.info("reading {}", url); try (var stream = Downloader.openStream(url, config)) { // Jackson yaml parsing does not handle anchors and references, so first parse the input // using SnakeYAML, then parse SnakeYAML's output using Jackson to get it into our records. @@ -150,7 +150,7 @@ public class Generate { String mappingPath = Path.of(layerFile).resolveSibling(datasource.mapping_file).normalize().toString(); imposm3MappingFiles.add(base + mappingPath); } else { - LOGGER.warn("Unknown datasource type: " + datasource.type); + LOGGER.warn("Unknown datasource type: {}", datasource.type); } } } @@ -675,7 +675,7 @@ public class Generate { return Stream.of(markdown.strip().split("[\r\n][\r\n]+")) .map(p -> parser.parse(p.strip())) .map(node -> escapeJavadoc(renderer.render(node))) - .map(p -> p.replaceAll("(^

|

$)", "").strip()) + .map(p -> p.replaceAll("((^

)|(

$))", "").strip()) .collect(joining(LINE_SEPARATOR + "

" + LINE_SEPARATOR)); } diff --git a/src/main/java/com/onthegomap/planetiler/basemap/layers/MountainPeak.java b/src/main/java/com/onthegomap/planetiler/basemap/layers/MountainPeak.java index dc19f4e..46f9340 100644 --- a/src/main/java/com/onthegomap/planetiler/basemap/layers/MountainPeak.java +++ b/src/main/java/com/onthegomap/planetiler/basemap/layers/MountainPeak.java @@ -82,7 +82,7 @@ public class MountainPeak implements * label density by only taking the top 5 most important mountain peaks within each 100x100px * square. */ - private static final Logger LOGGER = LoggerFactory.getLogger(TransportationName.class); + private static final Logger LOGGER = LoggerFactory.getLogger(MountainPeak.class); private final Translations translations; private final Stats stats; diff --git a/src/main/java/com/onthegomap/planetiler/basemap/layers/Place.java b/src/main/java/com/onthegomap/planetiler/basemap/layers/Place.java index 50dfc2a..f355727 100644 --- a/src/main/java/com/onthegomap/planetiler/basemap/layers/Place.java +++ b/src/main/java/com/onthegomap/planetiler/basemap/layers/Place.java @@ -235,7 +235,7 @@ public class Place implements rank = country.rank; } - rank = Math.min(6, Math.max(1, rank)); + rank = Math.max(1, Math.min(6, rank)); features.point(LAYER_NAME).setBufferPixels(BUFFER_SIZE) .putAttrs(names) diff --git a/src/main/java/com/onthegomap/planetiler/basemap/layers/WaterName.java b/src/main/java/com/onthegomap/planetiler/basemap/layers/WaterName.java index 1cfff6a..ed0e673 100644 --- a/src/main/java/com/onthegomap/planetiler/basemap/layers/WaterName.java +++ b/src/main/java/com/onthegomap/planetiler/basemap/layers/WaterName.java @@ -106,7 +106,7 @@ public class WaterName implements // TODO pull lake centerline computation into planetiler? long osmId = Math.abs(feature.getLong("OSM_ID")); if (osmId == 0L) { - LOGGER.warn("Bad lake centerline. Tags: " + feature.tags()); + LOGGER.warn("Bad lake centerline. Tags: {}", feature.tags()); } else { try { // multiple threads call this concurrently @@ -179,7 +179,7 @@ public class WaterName implements if (centerlineGeometry != null) { // prefer lake centerline if it exists feature = features.geometry(LAYER_NAME, centerlineGeometry) - .setMinPixelSizeBelowZoom(13, 6 * element.name().length()); + .setMinPixelSizeBelowZoom(13, 6d * element.name().length()); } else { // otherwise just use a label point inside the lake feature = features.pointOnSurface(LAYER_NAME); diff --git a/src/main/java/com/onthegomap/planetiler/basemap/util/LanguageUtils.java b/src/main/java/com/onthegomap/planetiler/basemap/util/LanguageUtils.java index b5f44f0..d65b26e 100644 --- a/src/main/java/com/onthegomap/planetiler/basemap/util/LanguageUtils.java +++ b/src/main/java/com/onthegomap/planetiler/basemap/util/LanguageUtils.java @@ -54,28 +54,26 @@ import java.util.stream.Stream; * openmaptiles-tools. */ public class LanguageUtils { - // See https://github.com/onthegomap/planetiler/issues/86 - // Name tags that should be eligible for finding a latin name. // See https://wiki.openstreetmap.org/wiki/Multilingual_names private static final Predicate VALID_NAME_TAGS = Pattern .compile("^name:[a-z]{2,3}(-[a-z]{4})?([-_](x-)?[a-z]{2,})?(-([a-z]{2}|[0-9]{3}))?$", Pattern.CASE_INSENSITIVE) .asMatchPredicate(); - + // See https://github.com/onthegomap/planetiler/issues/86 // Match strings that only contain latin characters. private static final Predicate ONLY_LATIN = Pattern .compile("^[\\P{IsLetter}[\\p{IsLetter}&&\\p{IsLatin}]]+$") .asMatchPredicate(); - // Match only latin letters private static final Pattern LATIN_LETTER = Pattern.compile("[\\p{IsLetter}&&\\p{IsLatin}]+"); - private static final Pattern EMPTY_PARENS = Pattern.compile("(\\([ -.]*\\)|\\[[ -.]*])"); - private static final Pattern LEADING_TRAILING_JUNK = Pattern.compile("(^\\s*([./-]\\s*)*|(\\s+[./-])*\\s*$)"); + private static final Pattern LEADING_TRAILING_JUNK = Pattern.compile("((^[\\s./-]*)|([\\s./-]*$))"); private static final Pattern WHITESPACE = Pattern.compile("\\s+"); private static final Set EN_DE_NAME_KEYS = Set.of("name:en", "name:de"); + private LanguageUtils() {} + private static void putIfNotEmpty(Map dest, String key, Object value) { if (value != null && !value.equals("")) { dest.put(key, value);