From 154085da1d4c0dfcc8e05a13f1776aa6063b7274 Mon Sep 17 00:00:00 2001 From: Michael Dyrna Date: Sat, 28 Mar 2015 18:25:14 +0100 Subject: [PATCH] VRS: New platform parsing rule for Aachen. Parse position also in 'via stops'. --- enabler/src/de/schildbach/pte/VrsProvider.java | 10 +++++++--- .../de/schildbach/pte/live/VrsProviderLiveTest.java | 10 ++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/enabler/src/de/schildbach/pte/VrsProvider.java b/enabler/src/de/schildbach/pte/VrsProvider.java index 9d2167ef..00ab46a9 100644 --- a/enabler/src/de/schildbach/pte/VrsProvider.java +++ b/enabler/src/de/schildbach/pte/VrsProvider.java @@ -158,6 +158,8 @@ public class VrsProvider extends AbstractNetworkProvider add(Pattern.compile("(.*) \\(Bussteig (.*)\\)")); // Venloer Str./Gürtel (Gleis 1) add(Pattern.compile("(.*) \\(Gleis (.*)\\)")); + // Aachen alle Buslinien + add(Pattern.compile("(.*) \\(H\\.(\\d+).*\\)")); } }; protected static final Pattern nrwTarifPattern = Pattern.compile("([\\d]+,\\d\\d)"); @@ -818,7 +820,9 @@ public class VrsProvider extends AbstractNetworkProvider for (int k = 0; k < vias.length(); k++) { final JSONObject viaJsonObject = vias.getJSONObject(k); - Location viaLocation = parseLocationAndPosition(viaJsonObject).location; + LocationWithPosition viaLocationWithPosition = parseLocationAndPosition(viaJsonObject); + Location viaLocation = viaLocationWithPosition.location; + Position viaPosition = viaLocationWithPosition.position; Date arrivalPlanned = null; Date arrivalPredicted = null; if (viaJsonObject.has("arrivalScheduled")) @@ -830,8 +834,8 @@ public class VrsProvider extends AbstractNetworkProvider { arrivalPlanned = parseDateTime(viaJsonObject.getString("arrival")); } - final Stop intermediateStop = new Stop(viaLocation, false /* arrival */, arrivalPlanned, arrivalPredicted, - null /* plannedPosition */, null /* predictedPosition */); + final Stop intermediateStop = new Stop(viaLocation, false /* arrival */, arrivalPlanned, arrivalPredicted, viaPosition, + viaPosition); intermediateStops.add(intermediateStop); } } diff --git a/enabler/test/de/schildbach/pte/live/VrsProviderLiveTest.java b/enabler/test/de/schildbach/pte/live/VrsProviderLiveTest.java index 4edbcb0b..1bb22c35 100644 --- a/enabler/test/de/schildbach/pte/live/VrsProviderLiveTest.java +++ b/enabler/test/de/schildbach/pte/live/VrsProviderLiveTest.java @@ -460,6 +460,16 @@ public class VrsProviderLiveTest extends AbstractProviderLiveTest assertTrue(result.trips.size() > 0); } + @Test + public void testTripAachenEschweilerBus() throws Exception + { + final QueryTripsResult result = queryTrips(new Location(LocationType.STATION, "10004"), null, new Location(LocationType.STATION, "10003"), + new Date(), true, EnumSet.of(Product.BUS), WalkSpeed.NORMAL, Accessibility.NEUTRAL); + print(result); + assertEquals(QueryTripsResult.Status.OK, result.status); + assertTrue(result.trips.size() > 0); + } + private void manyRandomTrips(int latFrom, int latTo, int lonFrom, int lonTo) throws Exception { Random rand = new Random(new Date().getTime());