diff --git a/src/de/schildbach/pte/OebbProvider.java b/src/de/schildbach/pte/OebbProvider.java index fb855451..1da640dc 100644 --- a/src/de/schildbach/pte/OebbProvider.java +++ b/src/de/schildbach/pte/OebbProvider.java @@ -403,14 +403,14 @@ public class OebbProvider extends AbstractHafasProvider + "\n(.*?)\n" // , Pattern.DOTALL); private static final Pattern P_CONNECTION_DETAILS_FINE = Pattern.compile(".*?" // - + "(?:]*>)?" // departureId + + "\n?(?:]*>)?" // departureId + "([^\n<]*).*?" // departure + "(?:(\\d{2}\\.\\d{2}\\.\\d{2})| ).*?" // departureDate + "\n?ab (\\d{2}:\\d{2}).*?" // departureTime + "\\s*(?: |(.*?))\\s*.*?" // departurePosition + "]*>(.*?).*?)?" // line - + "(?:]*>)?" // arrivalId + + "\n?(?:]*>)?" // arrivalId + "([^\n<]*).*?" // arrival + "(?:(\\d{2}\\.\\d{2}\\.\\d{2})| ).*?" // arrivalDate + "\n?an (\\d{2}:\\d{2}).*?" // arrivalTime diff --git a/test/de/schildbach/pte/live/OebbProviderLiveTest.java b/test/de/schildbach/pte/live/OebbProviderLiveTest.java index 856fdae8..65a77c3d 100644 --- a/test/de/schildbach/pte/live/OebbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/OebbProviderLiveTest.java @@ -18,6 +18,7 @@ package de.schildbach.pte.live; import java.util.Date; +import java.util.List; import org.junit.Test; @@ -61,11 +62,27 @@ public class OebbProviderLiveTest System.out.println(result.stationDepartures); } + @Test + public void autoComplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Wien"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void shortConnection() throws Exception { - final QueryConnectionsResult result = provider.queryConnections(new Location(LocationType.ANY, 0, null, "Linz"), null, new Location( - LocationType.ANY, 0, null, "Berlin"), new Date(), true, ALL_PRODUCTS, WalkSpeed.NORMAL); + final QueryConnectionsResult result = provider.queryConnections(new Location(LocationType.STATION, 1140101, null, "Linz"), null, + new Location(LocationType.STATION, 1190100, null, "Wien"), new Date(), true, ALL_PRODUCTS, WalkSpeed.NORMAL); System.out.println(result); final QueryConnectionsResult moreResult = provider.queryMoreConnections(result.context); System.out.println(moreResult);