diff --git a/src/de/schildbach/pte/AbstractEfaProvider.java b/src/de/schildbach/pte/AbstractEfaProvider.java index 56f9d9dc..8f197dea 100644 --- a/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/src/de/schildbach/pte/AbstractEfaProvider.java @@ -43,7 +43,6 @@ import de.schildbach.pte.dto.Fare; import de.schildbach.pte.dto.Fare.Type; import de.schildbach.pte.dto.GetConnectionDetailsResult; import de.schildbach.pte.dto.Line; -import de.schildbach.pte.dto.StationDepartures; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; @@ -51,6 +50,7 @@ import de.schildbach.pte.dto.QueryConnectionsResult; import de.schildbach.pte.dto.QueryConnectionsResult.Status; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.dto.Station; +import de.schildbach.pte.dto.StationDepartures; import de.schildbach.pte.dto.Stop; import de.schildbach.pte.util.Color; import de.schildbach.pte.util.ParserUtils; @@ -118,13 +118,12 @@ public abstract class AbstractEfaProvider implements NetworkProvider // parse assigned stops if (XmlPullUtil.jumpToStartTag(pp, null, "itdOdvAssignedStops")) { - while (XmlPullUtil.nextStartTagInsideTree(pp, null, "itdOdvAssignedStop")) + XmlPullUtil.enter(pp, "itdOdvAssignedStops"); + while (XmlPullUtil.test(pp, "itdOdvAssignedStop")) { final Location location = processItdOdvAssignedStop(pp); if (!results.contains(location)) results.add(location); - - XmlPullUtil.skipRestOfTree(pp); } } @@ -238,7 +237,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider return new Location(type, id, lat, lon, place != null ? place : defaultPlace, name != null ? name : longName); } - private Location processItdOdvAssignedStop(final XmlPullParser pp) + private Location processItdOdvAssignedStop(final XmlPullParser pp) throws XmlPullParserException, IOException { final int id = Integer.parseInt(pp.getAttributeValue(null, "stopID")); int lat = 0, lon = 0; @@ -247,8 +246,14 @@ public abstract class AbstractEfaProvider implements NetworkProvider lat = Integer.parseInt(pp.getAttributeValue(null, "y")); lon = Integer.parseInt(pp.getAttributeValue(null, "x")); } + final String place = normalizeLocationName(XmlPullUtil.attr(pp, "place")); final String name = normalizeLocationName(pp.getAttributeValue(null, "nameWithPlace")); - return new Location(LocationType.STATION, id, lat, lon, null, name); + + XmlPullUtil.enter(pp, "itdOdvAssignedStop"); + // final String name = normalizeLocationName(pp.getText()); + XmlPullUtil.exit(pp, "itdOdvAssignedStop"); + + return new Location(LocationType.STATION, id, lat, lon, place, name); } protected abstract String nearbyLatLonUri(int lat, int lon); @@ -842,10 +847,10 @@ public abstract class AbstractEfaProvider implements NetworkProvider protected abstract String departuresQueryUri(String stationId, int maxDepartures); - public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException { - final String uri = departuresQueryUri(stationId, maxDepartures) - + "&outputFormat=XML&coordOutputFormat=WGS84&deleteAssignedStops_dm=1&mode=direct"; + final String uri = departuresQueryUri(stationId, maxDepartures) + "&outputFormat=XML&coordOutputFormat=WGS84&deleteAssignedStops_dm=" + + (equivs ? '0' : '1') + "&mode=direct"; InputStream is = null; try @@ -856,7 +861,11 @@ public abstract class AbstractEfaProvider implements NetworkProvider pp.setInput(is, null); assertItdRequest(pp); - if (!XmlPullUtil.jumpToStartTag(pp, null, "itdOdv") || !"dm".equals(pp.getAttributeValue(null, "usage"))) + XmlPullUtil.enter(pp, "itdRequest"); + + XmlPullUtil.enter(pp, "itdDepartureMonitorRequest"); + + if (!XmlPullUtil.test(pp, "itdOdv") || !"dm".equals(XmlPullUtil.attr(pp, "usage"))) throw new IllegalStateException("cannot find "); XmlPullUtil.enter(pp, "itdOdv"); @@ -867,38 +876,64 @@ public abstract class AbstractEfaProvider implements NetworkProvider XmlPullUtil.enter(pp, "itdOdvName"); if ("identified".equals(nameState)) { + final QueryDeparturesResult result = new QueryDeparturesResult(); + final Location location = processOdvNameElem(pp, place); + result.stationDepartures.add(new StationDepartures(location, new LinkedList(), new LinkedList())); + + XmlPullUtil.exit(pp, "itdOdvName"); + + if (XmlPullUtil.test(pp, "itdOdvAssignedStops")) + { + XmlPullUtil.enter(pp, "itdOdvAssignedStops"); + while (XmlPullUtil.test(pp, "itdOdvAssignedStop")) + { + final Location assignedLocation = processItdOdvAssignedStop(pp); + if (findStationDepartures(result.stationDepartures, assignedLocation.id) == null) + result.stationDepartures + .add(new StationDepartures(assignedLocation, new LinkedList(), new LinkedList())); + } + XmlPullUtil.exit(pp, "itdOdvAssignedStops"); + } + + XmlPullUtil.exit(pp, "itdOdv"); + + if (XmlPullUtil.test(pp, "itdDateTime")) + XmlPullUtil.next(pp); + + if (XmlPullUtil.test(pp, "itdDateRange")) + XmlPullUtil.next(pp); + + if (XmlPullUtil.test(pp, "itdTripOptions")) + XmlPullUtil.next(pp); final Calendar plannedDepartureTime = new GregorianCalendar(); plannedDepartureTime.setTimeZone(timeZone()); final Calendar predictedDepartureTime = new GregorianCalendar(); predictedDepartureTime.setTimeZone(timeZone()); - final List lines = new ArrayList(4); - - XmlPullUtil.jumpToStartTag(pp, null, "itdServingLines"); + XmlPullUtil.require(pp, "itdServingLines"); if (!pp.isEmptyElementTag()) { XmlPullUtil.enter(pp, "itdServingLines"); while (XmlPullUtil.test(pp, "itdServingLine")) { final String assignedStopId = pp.getAttributeValue(null, "assignedStopID"); - if (assignedStopId == null || Integer.parseInt(assignedStopId) == location.id) - { - final String destination = normalizeLocationName(pp.getAttributeValue(null, "direction")); - final String destinationIdStr = pp.getAttributeValue(null, "destID"); - final int destinationId = destinationIdStr.length() > 0 ? Integer.parseInt(destinationIdStr) : 0; + final String destination = normalizeLocationName(pp.getAttributeValue(null, "direction")); + final String destinationIdStr = pp.getAttributeValue(null, "destID"); + final int destinationId = destinationIdStr.length() > 0 ? Integer.parseInt(destinationIdStr) : 0; - final String lineStr = processItdServingLine(pp); - final Line line = new Line(lineStr, lineColors(lineStr), destinationId, destination); - if (!lines.contains(line)) - lines.add(line); - } + final String lineStr = processItdServingLine(pp); + final Line line = new Line(lineStr, lineColors(lineStr), destinationId, destination); + + final List lines; + if (assignedStopId == null) + lines = result.stationDepartures.get(0).lines; else - { - XmlPullUtil.enter(pp, "itdServingLine"); - XmlPullUtil.exit(pp, "itdServingLine"); - } + lines = findStationDepartures(result.stationDepartures, Integer.parseInt(assignedStopId)).lines; + + if (!lines.contains(line)) + lines.add(line); } XmlPullUtil.exit(pp, "itdServingLines"); } @@ -907,50 +942,43 @@ public abstract class AbstractEfaProvider implements NetworkProvider XmlPullUtil.next(pp); } - final List departures = new ArrayList(8); - XmlPullUtil.require(pp, "itdDepartureList"); if (!pp.isEmptyElementTag()) { XmlPullUtil.enter(pp, "itdDepartureList"); while (XmlPullUtil.test(pp, "itdDeparture")) { - if (XmlPullUtil.intAttr(pp, "stopID") == location.id) - { - final String position = normalizePlatform(pp.getAttributeValue(null, "platform"), - pp.getAttributeValue(null, "platformName")); + final int stopId = XmlPullUtil.intAttr(pp, "stopID"); - XmlPullUtil.enter(pp, "itdDeparture"); + final String position = normalizePlatform(pp.getAttributeValue(null, "platform"), pp.getAttributeValue(null, "platformName")); - XmlPullUtil.require(pp, "itdDateTime"); - plannedDepartureTime.clear(); - processItdDateTime(pp, plannedDepartureTime); + XmlPullUtil.enter(pp, "itdDeparture"); - predictedDepartureTime.clear(); - if (XmlPullUtil.test(pp, "itdRTDateTime")) - processItdDateTime(pp, predictedDepartureTime); + XmlPullUtil.require(pp, "itdDateTime"); + plannedDepartureTime.clear(); + processItdDateTime(pp, plannedDepartureTime); - if (XmlPullUtil.test(pp, "itdFrequencyInfo")) - XmlPullUtil.next(pp); + predictedDepartureTime.clear(); + if (XmlPullUtil.test(pp, "itdRTDateTime")) + processItdDateTime(pp, predictedDepartureTime); - XmlPullUtil.require(pp, "itdServingLine"); - final boolean isRealtime = pp.getAttributeValue(null, "realtime").equals("1"); - final String destination = normalizeLocationName(pp.getAttributeValue(null, "direction")); - final int destinationId = Integer.parseInt(pp.getAttributeValue(null, "destID")); + if (XmlPullUtil.test(pp, "itdFrequencyInfo")) + XmlPullUtil.next(pp); - final String line = processItdServingLine(pp); + XmlPullUtil.require(pp, "itdServingLine"); + final boolean isRealtime = pp.getAttributeValue(null, "realtime").equals("1"); + final String destination = normalizeLocationName(pp.getAttributeValue(null, "direction")); + final int destinationId = Integer.parseInt(pp.getAttributeValue(null, "destID")); - if (isRealtime && !predictedDepartureTime.isSet(Calendar.HOUR_OF_DAY)) - predictedDepartureTime.setTimeInMillis(plannedDepartureTime.getTimeInMillis()); + final String line = processItdServingLine(pp); - departures.add(new Departure(plannedDepartureTime.getTime(), - predictedDepartureTime.isSet(Calendar.HOUR_OF_DAY) ? predictedDepartureTime.getTime() : null, line, - lineColors(line), null, position, destinationId, destination, null)); - } - else - { - XmlPullUtil.enter(pp, "itdDeparture"); - } + if (isRealtime && !predictedDepartureTime.isSet(Calendar.HOUR_OF_DAY)) + predictedDepartureTime.setTimeInMillis(plannedDepartureTime.getTimeInMillis()); + + final List departures = findStationDepartures(result.stationDepartures, stopId).departures; + departures.add(new Departure(plannedDepartureTime.getTime(), + predictedDepartureTime.isSet(Calendar.HOUR_OF_DAY) ? predictedDepartureTime.getTime() : null, line, lineColors(line), + null, position, destinationId, destination, null)); XmlPullUtil.exit(pp, "itdDeparture"); } @@ -958,8 +986,6 @@ public abstract class AbstractEfaProvider implements NetworkProvider XmlPullUtil.exit(pp, "itdDepartureList"); } - final QueryDeparturesResult result = new QueryDeparturesResult(); - result.stationDepartures.add(new StationDepartures(location, departures, lines)); return result; } else if ("notidentified".equals(nameState)) @@ -982,6 +1008,15 @@ public abstract class AbstractEfaProvider implements NetworkProvider } } + private StationDepartures findStationDepartures(final List stationDepartures, final int id) + { + for (final StationDepartures stationDeparture : stationDepartures) + if (stationDeparture.location.id == id) + return stationDeparture; + + return null; + } + private void processItdDateTime(final XmlPullParser pp, final Calendar calendar) throws XmlPullParserException, IOException { XmlPullUtil.enter(pp); diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java index 5163e4e6..068ef5ae 100644 --- a/src/de/schildbach/pte/BahnProvider.java +++ b/src/de/schildbach/pte/BahnProvider.java @@ -452,7 +452,7 @@ public final class BahnProvider extends AbstractHafasProvider ); private static final Pattern P_DEPARTURES_MESSAGES = Pattern.compile("\n(" + ParserUtils.P_PLATFORM + ").*?)?" // position , Pattern.DOTALL); - public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException { final QueryDeparturesResult result = new QueryDeparturesResult(); diff --git a/src/de/schildbach/pte/NasaProvider.java b/src/de/schildbach/pte/NasaProvider.java index bae8b1fd..34053375 100644 --- a/src/de/schildbach/pte/NasaProvider.java +++ b/src/de/schildbach/pte/NasaProvider.java @@ -133,7 +133,7 @@ public class NasaProvider extends AbstractHafasProvider + "(?:\n(" + ParserUtils.P_PLATFORM + ").*?)?" // position , Pattern.DOTALL); - public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException { final QueryDeparturesResult result = new QueryDeparturesResult(); diff --git a/src/de/schildbach/pte/NetworkProvider.java b/src/de/schildbach/pte/NetworkProvider.java index e38b200b..b1acc7f0 100644 --- a/src/de/schildbach/pte/NetworkProvider.java +++ b/src/de/schildbach/pte/NetworkProvider.java @@ -128,10 +128,12 @@ public interface NetworkProvider * id of the station * @param maxDepartures * maximum number of departures to get or {@code 0} + * @param equivs + * also query equivalent stations? * @return result object containing the departures * @throws IOException */ - QueryDeparturesResult queryDepartures(String stationId, int maxDepartures) throws IOException; + QueryDeparturesResult queryDepartures(String stationId, int maxDepartures, boolean equivs) throws IOException; /** * Get colors of line diff --git a/src/de/schildbach/pte/NsProvider.java b/src/de/schildbach/pte/NsProvider.java index 400bf891..a0432282 100644 --- a/src/de/schildbach/pte/NsProvider.java +++ b/src/de/schildbach/pte/NsProvider.java @@ -107,7 +107,7 @@ public class NsProvider extends AbstractHafasProvider + "(?:([+-]?\\d+|Ausfall)\r\n)?" // delay , Pattern.DOTALL); - public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException { final QueryDeparturesResult result = new QueryDeparturesResult(); diff --git a/src/de/schildbach/pte/OebbProvider.java b/src/de/schildbach/pte/OebbProvider.java index 28f6078c..a35baee2 100644 --- a/src/de/schildbach/pte/OebbProvider.java +++ b/src/de/schildbach/pte/OebbProvider.java @@ -529,7 +529,7 @@ public class OebbProvider extends AbstractHafasProvider private static final Pattern P_DEPARTURES_ERROR = Pattern.compile("(Verbindung zum Server konnte leider nicht hergestellt werden)"); - public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException { final QueryDeparturesResult result = new QueryDeparturesResult(); diff --git a/src/de/schildbach/pte/RmvProvider.java b/src/de/schildbach/pte/RmvProvider.java index 3b1ce15e..2b95189f 100644 --- a/src/de/schildbach/pte/RmvProvider.java +++ b/src/de/schildbach/pte/RmvProvider.java @@ -464,7 +464,7 @@ public class RmvProvider extends AbstractHafasProvider + "(?:\"\"\n[^<]*\n
\n)*" // (messages) , Pattern.DOTALL); - public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException { final QueryDeparturesResult result = new QueryDeparturesResult(); diff --git a/src/de/schildbach/pte/SbbProvider.java b/src/de/schildbach/pte/SbbProvider.java index 81af521d..a7aad47e 100644 --- a/src/de/schildbach/pte/SbbProvider.java +++ b/src/de/schildbach/pte/SbbProvider.java @@ -114,7 +114,7 @@ public class SbbProvider extends AbstractHafasProvider + ".*?" // , Pattern.DOTALL); - public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException { final QueryDeparturesResult result = new QueryDeparturesResult(); diff --git a/src/de/schildbach/pte/SeptaProvider.java b/src/de/schildbach/pte/SeptaProvider.java index 04c9b461..b15f34d4 100644 --- a/src/de/schildbach/pte/SeptaProvider.java +++ b/src/de/schildbach/pte/SeptaProvider.java @@ -153,7 +153,7 @@ public class SeptaProvider extends AbstractHafasProvider + "(?:\n(" + ParserUtils.P_PLATFORM + ").*?)?" // position , Pattern.DOTALL); - public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException { final QueryDeparturesResult result = new QueryDeparturesResult(); diff --git a/src/de/schildbach/pte/SncbProvider.java b/src/de/schildbach/pte/SncbProvider.java index ad01711d..b76f1310 100644 --- a/src/de/schildbach/pte/SncbProvider.java +++ b/src/de/schildbach/pte/SncbProvider.java @@ -107,7 +107,7 @@ public class SncbProvider extends AbstractHafasProvider + "(?:([+-]?\\d+|Ausfall)\r\n)?" // delay , Pattern.DOTALL); - public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException { final QueryDeparturesResult result = new QueryDeparturesResult(); diff --git a/src/de/schildbach/pte/VgsProvider.java b/src/de/schildbach/pte/VgsProvider.java index e39acfde..c485666c 100644 --- a/src/de/schildbach/pte/VgsProvider.java +++ b/src/de/schildbach/pte/VgsProvider.java @@ -132,7 +132,7 @@ public class VgsProvider extends AbstractHafasProvider + "(?:\n(" + ParserUtils.P_PLATFORM + ").*?)?" // position , Pattern.DOTALL); - public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures) throws IOException + public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException { final QueryDeparturesResult result = new QueryDeparturesResult(); diff --git a/test/de/schildbach/pte/live/AtcProviderLiveTest.java b/test/de/schildbach/pte/live/AtcProviderLiveTest.java index 38fa9af7..4aae510f 100644 --- a/test/de/schildbach/pte/live/AtcProviderLiveTest.java +++ b/test/de/schildbach/pte/live/AtcProviderLiveTest.java @@ -41,7 +41,7 @@ public class AtcProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("Bologna", 0); + final QueryDeparturesResult result = provider.queryDepartures("Bologna", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/AvvProviderLiveTest.java b/test/de/schildbach/pte/live/AvvProviderLiveTest.java index e797c8e2..3ff38c6e 100644 --- a/test/de/schildbach/pte/live/AvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/AvvProviderLiveTest.java @@ -41,7 +41,7 @@ public class AvvProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("100", 0); + final QueryDeparturesResult result = provider.queryDepartures("100", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/BahnProviderLiveTest.java b/test/de/schildbach/pte/live/BahnProviderLiveTest.java index 71bfb6ce..932f874b 100644 --- a/test/de/schildbach/pte/live/BahnProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BahnProviderLiveTest.java @@ -41,7 +41,7 @@ public class BahnProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("692991", 0); + final QueryDeparturesResult result = provider.queryDepartures("692991", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/BvbProviderLiveTest.java b/test/de/schildbach/pte/live/BvbProviderLiveTest.java index e0b4d080..846aeec0 100644 --- a/test/de/schildbach/pte/live/BvbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BvbProviderLiveTest.java @@ -41,7 +41,7 @@ public class BvbProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("10000", 0); + final QueryDeparturesResult result = provider.queryDepartures("10000", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/BvgProviderLiveTest.java b/test/de/schildbach/pte/live/BvgProviderLiveTest.java index 4b291b1e..ce7a0f1a 100644 --- a/test/de/schildbach/pte/live/BvgProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BvgProviderLiveTest.java @@ -65,7 +65,7 @@ public class BvgProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("309557", 0); + final QueryDeparturesResult result = provider.queryDepartures("309557", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/DingProviderLiveTest.java b/test/de/schildbach/pte/live/DingProviderLiveTest.java index eec75ea4..7a02682e 100644 --- a/test/de/schildbach/pte/live/DingProviderLiveTest.java +++ b/test/de/schildbach/pte/live/DingProviderLiveTest.java @@ -41,7 +41,7 @@ public class DingProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("Ulm", 0); + final QueryDeparturesResult result = provider.queryDepartures("Ulm", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/InvgProviderLiveTest.java b/test/de/schildbach/pte/live/InvgProviderLiveTest.java index 37e3024f..72c114a8 100644 --- a/test/de/schildbach/pte/live/InvgProviderLiveTest.java +++ b/test/de/schildbach/pte/live/InvgProviderLiveTest.java @@ -41,7 +41,7 @@ public class InvgProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("80301", 0); + final QueryDeparturesResult result = provider.queryDepartures("80301", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/KvvProviderLiveTest.java b/test/de/schildbach/pte/live/KvvProviderLiveTest.java index 1cccbd3e..52953635 100644 --- a/test/de/schildbach/pte/live/KvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/KvvProviderLiveTest.java @@ -48,7 +48,7 @@ public class KvvProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("119", 0); + final QueryDeparturesResult result = provider.queryDepartures("119", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/LinzProviderLiveTest.java b/test/de/schildbach/pte/live/LinzProviderLiveTest.java index c03c03f7..b9e43e90 100644 --- a/test/de/schildbach/pte/live/LinzProviderLiveTest.java +++ b/test/de/schildbach/pte/live/LinzProviderLiveTest.java @@ -72,7 +72,7 @@ public class LinzProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("60501720", 0); + final QueryDeparturesResult result = provider.queryDepartures("60501720", 0, false); System.out.println(result); } diff --git a/test/de/schildbach/pte/live/MariborProviderLiveTest.java b/test/de/schildbach/pte/live/MariborProviderLiveTest.java index b59fce81..8e669f49 100644 --- a/test/de/schildbach/pte/live/MariborProviderLiveTest.java +++ b/test/de/schildbach/pte/live/MariborProviderLiveTest.java @@ -41,7 +41,7 @@ public class MariborProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("63203067", 0); + final QueryDeparturesResult result = provider.queryDepartures("63203067", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/MetProviderLiveTest.java b/test/de/schildbach/pte/live/MetProviderLiveTest.java index 7cff4d7b..ca841c33 100644 --- a/test/de/schildbach/pte/live/MetProviderLiveTest.java +++ b/test/de/schildbach/pte/live/MetProviderLiveTest.java @@ -41,7 +41,7 @@ public class MetProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("10001167", 0); + final QueryDeparturesResult result = provider.queryDepartures("10001167", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/MvvProviderLiveTest.java b/test/de/schildbach/pte/live/MvvProviderLiveTest.java index e1dca7e6..217fef51 100644 --- a/test/de/schildbach/pte/live/MvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/MvvProviderLiveTest.java @@ -18,6 +18,7 @@ package de.schildbach.pte.live; import java.util.Date; +import java.util.List; import org.junit.Test; @@ -27,6 +28,7 @@ import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryConnectionsResult; +import de.schildbach.pte.dto.QueryDeparturesResult; /** * @author Andreas Schildbach @@ -36,6 +38,22 @@ public class MvvProviderLiveTest private MvvProvider provider = new MvvProvider(); private static final String ALL_PRODUCTS = "IRSUTBFC"; + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Marien"); + + 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 nearbyStation() throws Exception { @@ -44,6 +62,14 @@ public class MvvProviderLiveTest System.out.println(result.stations.size() + " " + result.stations); } + @Test + public void queryDepartures() throws Exception + { + final QueryDeparturesResult result = provider.queryDepartures("2", 0, false); + + System.out.println(result.stationDepartures); + } + @Test public void shortConnection() throws Exception { @@ -96,8 +122,9 @@ public class MvvProviderLiveTest @Test public void connectionBetweenStationAndAddress() throws Exception { - final QueryConnectionsResult result = provider.queryConnections(new Location(LocationType.STATION, 1220, null, "Josephsburg"), null, new Location( - LocationType.ADDRESS, 0, 48188018, 11574239, null, "München Frankfurter Ring 35"), new Date(), true, ALL_PRODUCTS, WalkSpeed.NORMAL); + final QueryConnectionsResult result = provider.queryConnections(new Location(LocationType.STATION, 1220, null, "Josephsburg"), null, + new Location(LocationType.ADDRESS, 0, 48188018, 11574239, null, "München Frankfurter Ring 35"), new Date(), true, ALL_PRODUCTS, + WalkSpeed.NORMAL); System.out.println(result); final QueryConnectionsResult moreResult = provider.queryMoreConnections(result.context); System.out.println(moreResult); diff --git a/test/de/schildbach/pte/live/NaldoProviderLiveTest.java b/test/de/schildbach/pte/live/NaldoProviderLiveTest.java index d7a082f4..d472ee8d 100644 --- a/test/de/schildbach/pte/live/NaldoProviderLiveTest.java +++ b/test/de/schildbach/pte/live/NaldoProviderLiveTest.java @@ -41,7 +41,7 @@ public class NaldoProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("53019174", 0); + final QueryDeparturesResult result = provider.queryDepartures("53019174", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/NasaProviderLiveTest.java b/test/de/schildbach/pte/live/NasaProviderLiveTest.java index 6dfaf2e9..22895138 100644 --- a/test/de/schildbach/pte/live/NasaProviderLiveTest.java +++ b/test/de/schildbach/pte/live/NasaProviderLiveTest.java @@ -41,7 +41,7 @@ public class NasaProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("13000", 0); + final QueryDeparturesResult result = provider.queryDepartures("13000", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/NsProviderLiveTest.java b/test/de/schildbach/pte/live/NsProviderLiveTest.java index 9851b40e..5640424b 100644 --- a/test/de/schildbach/pte/live/NsProviderLiveTest.java +++ b/test/de/schildbach/pte/live/NsProviderLiveTest.java @@ -40,7 +40,7 @@ public class NsProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("100080", 0); + final QueryDeparturesResult result = provider.queryDepartures("100080", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/RmvProviderLiveTest.java b/test/de/schildbach/pte/live/RmvProviderLiveTest.java index 6f454806..db1b064a 100644 --- a/test/de/schildbach/pte/live/RmvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/RmvProviderLiveTest.java @@ -41,7 +41,7 @@ public class RmvProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("3000001", 0); + final QueryDeparturesResult result = provider.queryDepartures("3000001", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/SbbProviderLiveTest.java b/test/de/schildbach/pte/live/SbbProviderLiveTest.java index dba53e1b..0337d48c 100644 --- a/test/de/schildbach/pte/live/SbbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SbbProviderLiveTest.java @@ -65,7 +65,7 @@ public class SbbProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("8500010", 0); + final QueryDeparturesResult result = provider.queryDepartures("8500010", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/SeptaProviderLiveTest.java b/test/de/schildbach/pte/live/SeptaProviderLiveTest.java index cc9d7c0c..cf7867f6 100644 --- a/test/de/schildbach/pte/live/SeptaProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SeptaProviderLiveTest.java @@ -41,7 +41,7 @@ public class SeptaProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("1000002", 0); + final QueryDeparturesResult result = provider.queryDepartures("1000002", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/SfProviderLiveTest.java b/test/de/schildbach/pte/live/SfProviderLiveTest.java index 70e58717..32e76e95 100644 --- a/test/de/schildbach/pte/live/SfProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SfProviderLiveTest.java @@ -41,7 +41,7 @@ public class SfProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("10010813", 0); + final QueryDeparturesResult result = provider.queryDepartures("10010813", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/SncbProviderLiveTest.java b/test/de/schildbach/pte/live/SncbProviderLiveTest.java index 905f766f..0a7daeca 100644 --- a/test/de/schildbach/pte/live/SncbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SncbProviderLiveTest.java @@ -40,7 +40,7 @@ public class SncbProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("100080", 0); + final QueryDeparturesResult result = provider.queryDepartures("100080", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/StvProviderLiveTest.java b/test/de/schildbach/pte/live/StvProviderLiveTest.java index fd8ea441..b1f268f8 100644 --- a/test/de/schildbach/pte/live/StvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/StvProviderLiveTest.java @@ -41,7 +41,7 @@ public class StvProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("Graz", 0); + final QueryDeparturesResult result = provider.queryDepartures("Graz", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/SvvProviderLiveTest.java b/test/de/schildbach/pte/live/SvvProviderLiveTest.java index 0ee7591a..8613d092 100644 --- a/test/de/schildbach/pte/live/SvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SvvProviderLiveTest.java @@ -41,7 +41,7 @@ public class SvvProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("60650002", 0); + final QueryDeparturesResult result = provider.queryDepartures("60650002", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/TflProviderLiveTest.java b/test/de/schildbach/pte/live/TflProviderLiveTest.java index fe3303df..c4bf25ee 100644 --- a/test/de/schildbach/pte/live/TflProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TflProviderLiveTest.java @@ -48,7 +48,7 @@ public class TflProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("1000086", 0); + final QueryDeparturesResult result = provider.queryDepartures("1000086", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/TlemProviderLiveTest.java b/test/de/schildbach/pte/live/TlemProviderLiveTest.java index 94a62305..35178d97 100644 --- a/test/de/schildbach/pte/live/TlemProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TlemProviderLiveTest.java @@ -41,7 +41,7 @@ public class TlemProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("London", 0); + final QueryDeparturesResult result = provider.queryDepartures("London", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/TlswProviderLiveTest.java b/test/de/schildbach/pte/live/TlswProviderLiveTest.java index 4794bd3f..7b016b8f 100644 --- a/test/de/schildbach/pte/live/TlswProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TlswProviderLiveTest.java @@ -41,7 +41,7 @@ public class TlswProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("247616", 0); + final QueryDeparturesResult result = provider.queryDepartures("247616", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VblProviderLiveTest.java b/test/de/schildbach/pte/live/VblProviderLiveTest.java index 5042c0b9..fa200a6f 100644 --- a/test/de/schildbach/pte/live/VblProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VblProviderLiveTest.java @@ -41,7 +41,7 @@ public class VblProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("717", 0); + final QueryDeparturesResult result = provider.queryDepartures("717", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VgsProviderLiveTest.java b/test/de/schildbach/pte/live/VgsProviderLiveTest.java index cd21f6ef..de64e3ea 100644 --- a/test/de/schildbach/pte/live/VgsProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VgsProviderLiveTest.java @@ -41,7 +41,7 @@ public class VgsProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("8000244", 0); + final QueryDeparturesResult result = provider.queryDepartures("8000244", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VmsProviderLiveTest.java b/test/de/schildbach/pte/live/VmsProviderLiveTest.java index 01dc28fc..7d61203f 100644 --- a/test/de/schildbach/pte/live/VmsProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VmsProviderLiveTest.java @@ -41,7 +41,7 @@ public class VmsProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("Chemnitz", 0); + final QueryDeparturesResult result = provider.queryDepartures("Chemnitz", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VmvProviderLiveTest.java b/test/de/schildbach/pte/live/VmvProviderLiveTest.java index 647ccb4d..60180921 100644 --- a/test/de/schildbach/pte/live/VmvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VmvProviderLiveTest.java @@ -41,7 +41,7 @@ public class VmvProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("6118", 0); + final QueryDeparturesResult result = provider.queryDepartures("6118", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VrnProviderLiveTest.java b/test/de/schildbach/pte/live/VrnProviderLiveTest.java index 05e2f366..82456dc4 100644 --- a/test/de/schildbach/pte/live/VrnProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VrnProviderLiveTest.java @@ -84,7 +84,7 @@ public class VrnProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("6032236", 0); + final QueryDeparturesResult result = provider.queryDepartures("6032236", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VrrProviderLiveTest.java b/test/de/schildbach/pte/live/VrrProviderLiveTest.java index 4c4fec5e..4aab934f 100644 --- a/test/de/schildbach/pte/live/VrrProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VrrProviderLiveTest.java @@ -76,7 +76,7 @@ public class VrrProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("1007258", 0); + final QueryDeparturesResult result = provider.queryDepartures("1007258", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VrtProviderLiveTest.java b/test/de/schildbach/pte/live/VrtProviderLiveTest.java index 9e6da7c2..8a7242b6 100644 --- a/test/de/schildbach/pte/live/VrtProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VrtProviderLiveTest.java @@ -41,7 +41,7 @@ public class VrtProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("17001301", 0); + final QueryDeparturesResult result = provider.queryDepartures("17001301", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VvmProviderLiveTest.java b/test/de/schildbach/pte/live/VvmProviderLiveTest.java index b79f3561..7f7d5b1a 100644 --- a/test/de/schildbach/pte/live/VvmProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VvmProviderLiveTest.java @@ -41,7 +41,7 @@ public class VvmProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("3000510", 0); + final QueryDeparturesResult result = provider.queryDepartures("3000510", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VvoProviderLiveTest.java b/test/de/schildbach/pte/live/VvoProviderLiveTest.java index d6a13271..23f41526 100644 --- a/test/de/schildbach/pte/live/VvoProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VvoProviderLiveTest.java @@ -41,7 +41,7 @@ public class VvoProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("100", 0); + final QueryDeparturesResult result = provider.queryDepartures("100", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VvsProviderLiveTest.java b/test/de/schildbach/pte/live/VvsProviderLiveTest.java index 2937005a..504b4f7c 100644 --- a/test/de/schildbach/pte/live/VvsProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VvsProviderLiveTest.java @@ -41,7 +41,7 @@ public class VvsProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("6118", 0); + final QueryDeparturesResult result = provider.queryDepartures("6118", 0, false); System.out.println(result.stationDepartures); }