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);
|