From ca7e2a194b7bf47f8fef74df8c42e9ba96c763c6 Mon Sep 17 00:00:00 2001 From: sharhio Date: Wed, 22 May 2024 15:51:36 +0300 Subject: [PATCH 1/4] Realtime stop layer checks for existing stoptimes --- .../layers/stops/RealtimeStopsLayerTest.java | 3 +++ .../DigitransitRealtimeStopPropertyMapper.java | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java b/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java index 8f2e1f94fa6..5c991a53f52 100644 --- a/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java +++ b/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java @@ -46,6 +46,7 @@ public void setUp() { .withName(name) .withDescription(desc) .withCoordinate(50, 10) + .withTimeZone(ZoneIds.HELSINKI) .build(); stop2 = StopModel @@ -54,6 +55,7 @@ public void setUp() { .withName(name) .withDescription(desc) .withCoordinate(51, 10) + .withTimeZone(ZoneIds.HELSINKI) .build(); } @@ -100,5 +102,6 @@ public TransitAlertService getTransitAlertService() { assertEquals("name", map.get("name")); assertEquals("desc", map.get("desc")); assertEquals(true, map.get("closedByServiceAlert")); + assertEquals(true, map.get("noServiceOnServiceDay")); } } diff --git a/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java b/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java index 55d67d28d71..9bcdf646394 100644 --- a/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java +++ b/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java @@ -3,6 +3,7 @@ import static org.opentripplanner.ext.vectortiles.layers.stops.DigitransitStopPropertyMapper.getBaseKeyValues; import java.time.Instant; +import java.time.LocalDate; import java.util.Collection; import java.util.List; import java.util.Locale; @@ -10,6 +11,7 @@ import org.opentripplanner.framework.collection.ListUtils; import org.opentripplanner.framework.i18n.I18NStringMapper; import org.opentripplanner.inspector.vector.KeyValue; +import org.opentripplanner.routing.stoptimes.ArrivalDeparture; import org.opentripplanner.transit.model.site.RegularStop; import org.opentripplanner.transit.service.TransitService; @@ -32,10 +34,19 @@ protected Collection map(RegularStop stop) { .stream() .anyMatch(alert -> alert.noServiceAt(currentTime)); + var serviceDate = LocalDate.ofInstant(currentTime, transitService.getTimeZone()); + boolean stopTimesExist = transitService + .getStopTimesForStop(stop, serviceDate, ArrivalDeparture.BOTH, true) + .stream() + .anyMatch(stopTime -> stopTime.times.size() > 0); + Collection sharedKeyValues = getBaseKeyValues(stop, i18NStringMapper, transitService); return ListUtils.combine( sharedKeyValues, - List.of(new KeyValue("closedByServiceAlert", noServiceAlert)) + List.of( + new KeyValue("closedByServiceAlert", noServiceAlert), + new KeyValue("noServiceOnServiceDay", !stopTimesExist) + ) ); } } From 18ccc909573daa99a0ce259e7db0e1fd27be293a Mon Sep 17 00:00:00 2001 From: sharhio Date: Thu, 23 May 2024 14:44:51 +0300 Subject: [PATCH 2/4] boolean reversed --- .../ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java | 2 +- .../layers/stops/DigitransitRealtimeStopPropertyMapper.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java b/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java index 5c991a53f52..dbee4597a7a 100644 --- a/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java +++ b/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java @@ -102,6 +102,6 @@ public TransitAlertService getTransitAlertService() { assertEquals("name", map.get("name")); assertEquals("desc", map.get("desc")); assertEquals(true, map.get("closedByServiceAlert")); - assertEquals(true, map.get("noServiceOnServiceDay")); + assertEquals(false, map.get("servicesRunningOnServiceDay")); } } diff --git a/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java b/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java index 9bcdf646394..30393feaccf 100644 --- a/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java +++ b/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java @@ -45,7 +45,7 @@ protected Collection map(RegularStop stop) { sharedKeyValues, List.of( new KeyValue("closedByServiceAlert", noServiceAlert), - new KeyValue("noServiceOnServiceDay", !stopTimesExist) + new KeyValue("servicesRunningOnServiceDay", stopTimesExist) ) ); } From 4fb7615d20443d0371bd8acccf6b297390258a42 Mon Sep 17 00:00:00 2001 From: sharhio <113033056+sharhio@users.noreply.github.com> Date: Thu, 23 May 2024 14:54:47 +0300 Subject: [PATCH 3/4] Update src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java Co-authored-by: Leonard Ehrenfried --- .../layers/stops/DigitransitRealtimeStopPropertyMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java b/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java index 30393feaccf..711572eed86 100644 --- a/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java +++ b/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java @@ -34,7 +34,7 @@ protected Collection map(RegularStop stop) { .stream() .anyMatch(alert -> alert.noServiceAt(currentTime)); - var serviceDate = LocalDate.ofInstant(currentTime, transitService.getTimeZone()); + var serviceDate = LocalDate.now(transitService.getTimeZone()); boolean stopTimesExist = transitService .getStopTimesForStop(stop, serviceDate, ArrivalDeparture.BOTH, true) .stream() From ae3a95ab4829092d9a4c9455520d0691d9e493fb Mon Sep 17 00:00:00 2001 From: sharhio Date: Mon, 27 May 2024 09:43:27 +0300 Subject: [PATCH 4/4] Date instead of day --- .../ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java | 2 +- .../layers/stops/DigitransitRealtimeStopPropertyMapper.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java b/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java index dbee4597a7a..bb258beb76f 100644 --- a/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java +++ b/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/stops/RealtimeStopsLayerTest.java @@ -102,6 +102,6 @@ public TransitAlertService getTransitAlertService() { assertEquals("name", map.get("name")); assertEquals("desc", map.get("desc")); assertEquals(true, map.get("closedByServiceAlert")); - assertEquals(false, map.get("servicesRunningOnServiceDay")); + assertEquals(false, map.get("servicesRunningOnServiceDate")); } } diff --git a/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java b/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java index 711572eed86..cf555d6412f 100644 --- a/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java +++ b/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java @@ -45,7 +45,7 @@ protected Collection map(RegularStop stop) { sharedKeyValues, List.of( new KeyValue("closedByServiceAlert", noServiceAlert), - new KeyValue("servicesRunningOnServiceDay", stopTimesExist) + new KeyValue("servicesRunningOnServiceDate", stopTimesExist) ) ); }