diff --git a/.gitignore b/.gitignore
index 9a8daab2..4857a652 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@ target/
.idea/*
*.iml
!.idea/codeStyles
+!.idea/vcs.xml
TODO
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
index 093341fe..6e4411bf 100644
--- a/.idea/codeStyles/Project.xml
+++ b/.idea/codeStyles/Project.xml
@@ -584,4 +584,4 @@
-
\ No newline at end of file
+
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..94a25f7f
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/src/main/java/com/onthegomap/flatmap/monitoring/Stats.java b/core/src/main/java/com/onthegomap/flatmap/monitoring/Stats.java
index 733eb795..812816e2 100644
--- a/core/src/main/java/com/onthegomap/flatmap/monitoring/Stats.java
+++ b/core/src/main/java/com/onthegomap/flatmap/monitoring/Stats.java
@@ -90,7 +90,7 @@ public interface Stats extends AutoCloseable {
@Override
public Counter.Readable longCounter(String name) {
- return Counter.noop();
+ return Counter.newSingleThreadCounter();
}
@Override
diff --git a/core/src/test/java/com/onthegomap/flatmap/monitoring/PrometheusStatsTest.java b/core/src/test/java/com/onthegomap/flatmap/monitoring/PrometheusStatsTest.java
index 2ccdb599..ccbc38bc 100644
--- a/core/src/test/java/com/onthegomap/flatmap/monitoring/PrometheusStatsTest.java
+++ b/core/src/test/java/com/onthegomap/flatmap/monitoring/PrometheusStatsTest.java
@@ -1,6 +1,7 @@
package com.onthegomap.flatmap.monitoring;
import static io.prometheus.client.Collector.NANOSECONDS_PER_SECOND;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;
@@ -124,7 +125,9 @@ public class PrometheusStatsTest {
"value1", counterAt(1),
"value2", counterAt(2)
));
- stats.longCounter("long").incBy(100);
+ var longCounter = stats.longCounter("long");
+ longCounter.incBy(100);
+ assertEquals(100, longCounter.get());
stats.nanoCounter("nanos").incBy((long) (NANOSECONDS_PER_SECOND / 2));
assertContainsStat("^flatmap_counter1_total 1", stats);
assertContainsStat("^flatmap_counter2_total\\{.*label=\"value1\".* 1", stats);
diff --git a/examples/src/main/java/com/onthegomap/flatmap/examples/BikeRouteOverlay.java b/examples/src/main/java/com/onthegomap/flatmap/examples/BikeRouteOverlay.java
index 28893a44..9013dc75 100644
--- a/examples/src/main/java/com/onthegomap/flatmap/examples/BikeRouteOverlay.java
+++ b/examples/src/main/java/com/onthegomap/flatmap/examples/BikeRouteOverlay.java
@@ -39,7 +39,13 @@ public class BikeRouteOverlay implements Profile {
relation.getTag("name"),
relation.getTag("ref"),
type,
- relation.getTag("network", "")
+ switch (relation.getTag("network", "")) {
+ case "icn" -> "international";
+ case "ncn" -> "national";
+ case "rcn" -> "regional";
+ case "lcn" -> "local";
+ default -> "other";
+ }
));
}
}
@@ -50,15 +56,10 @@ public class BikeRouteOverlay implements Profile {
public void processFeature(SourceFeature sourceFeature, FeatureCollector features) {
if (sourceFeature.canBeLine()) {
for (RouteRelationInfo routeInfo : sourceFeature.relationInfo(RouteRelationInfo.class)) {
- int minzoom = switch (routeInfo.network) {
- case "icn", "ncn" -> 0;
- case "rcn" -> 10;
- default -> 12;
- };
- features.line("bikeroutes-" + routeInfo.route + "-" + routeInfo.network)
+ features.line(routeInfo.route + "-route-" + routeInfo.network)
.setAttr("name", routeInfo.name)
.setAttr("ref", routeInfo.ref)
- .setZoomRange(minzoom, 14)
+ .setZoomRange(0, 14)
.setMinPixelSize(0);
}
}
@@ -67,7 +68,7 @@ public class BikeRouteOverlay implements Profile {
@Override
public List postProcessLayerFeatures(String layer, int zoom,
List items) throws GeometryException {
- return FeatureMerge.mergeLineStrings(items, 0.1, 0.1, 4);
+ return FeatureMerge.mergeLineStrings(items, 0.5, 0.1, 4);
}
@Override