From 40a1980d13cc3143279b9efaa3024adc7bdf76dc Mon Sep 17 00:00:00 2001 From: Michael Tsang Date: Thu, 28 Nov 2024 16:02:40 +0000 Subject: [PATCH] fix exception loading pickup / drop off for a leg if the stop is skipped --- .../apis/gtfs/datafetchers/LegImpl.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/LegImpl.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/LegImpl.java index 5e892c06368..517cf0329bc 100644 --- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/LegImpl.java +++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/LegImpl.java @@ -69,10 +69,14 @@ public DataFetcher dropOffBookingInfo() { @Override public DataFetcher dropoffType() { return environment -> { - if (getSource(environment).getAlightRule() == null) { + var alightRule = getSource(environment).getAlightRule(); + if (alightRule == null) { return PickDrop.SCHEDULED.name(); } - return getSource(environment).getAlightRule().name(); + if (alightRule == PickDrop.CANCELLED) { + return null; + } + return alightRule.name(); }; } @@ -180,10 +184,14 @@ public DataFetcher pickupBookingInfo() { @Override public DataFetcher pickupType() { return environment -> { - if (getSource(environment).getBoardRule() == null) { + var boardRule = getSource(environment).getBoardRule(); + if (boardRule == null) { return PickDrop.SCHEDULED.name(); } - return getSource(environment).getBoardRule().name(); + if (boardRule == PickDrop.CANCELLED) { + return null; + } + return boardRule.name(); }; }