From 653d590e1b471a3aaeaf4ab62de29eeac63f6a34 Mon Sep 17 00:00:00 2001 From: "andreas.schildbach@gmail.com" Date: Sat, 7 May 2011 16:29:02 +0000 Subject: [PATCH] queryNearbyStations now takes Location object git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@619 0924bc21-9374-b0fa-ee44-9ff1593b38f0 --- .../schildbach/pte/AbstractEfaProvider.java | 21 ++-- .../schildbach/pte/AbstractHafasProvider.java | 24 ++-- src/de/schildbach/pte/AtcProvider.java | 5 +- src/de/schildbach/pte/AvvProvider.java | 5 +- src/de/schildbach/pte/BahnProvider.java | 27 ++--- src/de/schildbach/pte/BsagProvider.java | 5 +- src/de/schildbach/pte/BsvagProvider.java | 5 +- src/de/schildbach/pte/BvbProvider.java | 5 +- src/de/schildbach/pte/BvgProvider.java | 111 +++++++++--------- src/de/schildbach/pte/DingProvider.java | 5 +- src/de/schildbach/pte/DsbProvider.java | 24 ++-- src/de/schildbach/pte/DubProvider.java | 5 +- src/de/schildbach/pte/GvhProvider.java | 5 +- src/de/schildbach/pte/InvgProvider.java | 21 +++- src/de/schildbach/pte/IvbProvider.java | 5 +- src/de/schildbach/pte/KvvProvider.java | 5 +- src/de/schildbach/pte/LinzProvider.java | 5 +- src/de/schildbach/pte/LuProvider.java | 33 +++--- src/de/schildbach/pte/MariborProvider.java | 5 +- src/de/schildbach/pte/MetProvider.java | 5 +- src/de/schildbach/pte/MvgProvider.java | 5 +- src/de/schildbach/pte/MvvProvider.java | 5 +- src/de/schildbach/pte/NaldoProvider.java | 5 +- src/de/schildbach/pte/NasaProvider.java | 22 +++- src/de/schildbach/pte/NetworkProvider.java | 12 +- src/de/schildbach/pte/NsProvider.java | 23 +++- src/de/schildbach/pte/NvbwProvider.java | 5 +- src/de/schildbach/pte/OebbProvider.java | 28 ++--- src/de/schildbach/pte/PlProvider.java | 37 +++--- src/de/schildbach/pte/RmvProvider.java | 21 +++- src/de/schildbach/pte/SbbProvider.java | 21 +++- src/de/schildbach/pte/SeptaProvider.java | 22 +++- src/de/schildbach/pte/SfProvider.java | 5 +- src/de/schildbach/pte/ShProvider.java | 22 +++- src/de/schildbach/pte/SncbProvider.java | 21 +++- src/de/schildbach/pte/StvProvider.java | 5 +- src/de/schildbach/pte/SvvProvider.java | 5 +- src/de/schildbach/pte/SydneyProvider.java | 5 +- src/de/schildbach/pte/TflProvider.java | 5 +- src/de/schildbach/pte/TleaProvider.java | 5 +- src/de/schildbach/pte/TlemProvider.java | 5 +- src/de/schildbach/pte/TlseProvider.java | 5 +- src/de/schildbach/pte/TlswProvider.java | 5 +- src/de/schildbach/pte/VagfrProvider.java | 5 +- src/de/schildbach/pte/VblProvider.java | 5 +- src/de/schildbach/pte/VgsProvider.java | 22 +++- src/de/schildbach/pte/VmsProvider.java | 5 +- src/de/schildbach/pte/VmvProvider.java | 5 +- src/de/schildbach/pte/VorProvider.java | 5 +- src/de/schildbach/pte/VrnProvider.java | 5 +- src/de/schildbach/pte/VrrProvider.java | 5 +- src/de/schildbach/pte/VrtProvider.java | 5 +- src/de/schildbach/pte/VvmProvider.java | 5 +- src/de/schildbach/pte/VvoProvider.java | 5 +- src/de/schildbach/pte/VvsProvider.java | 5 +- src/de/schildbach/pte/VvvProvider.java | 5 +- src/de/schildbach/pte/ZvvProvider.java | 26 ++-- src/de/schildbach/pte/dto/Location.java | 10 ++ .../pte/live/AtcProviderLiveTest.java | 10 +- .../pte/live/AvvProviderLiveTest.java | 7 +- .../pte/live/BahnProviderLiveTest.java | 4 +- .../pte/live/BsagProviderLiveTest.java | 7 +- .../pte/live/BsvagProviderLiveTest.java | 7 +- .../pte/live/BvbProviderLiveTest.java | 7 +- .../pte/live/BvgProviderLiveTest.java | 4 +- .../pte/live/DingProviderLiveTest.java | 9 +- .../pte/live/DsbProviderLiveTest.java | 5 +- .../pte/live/DubProviderLiveTest.java | 3 +- .../pte/live/GvhProviderLiveTest.java | 6 +- .../pte/live/InvgProviderLiveTest.java | 20 +++- .../pte/live/IvbProviderLiveTest.java | 9 +- .../pte/live/KvvProviderLiveTest.java | 8 +- .../pte/live/LinzProviderLiveTest.java | 2 +- .../pte/live/LuProviderLiveTest.java | 4 +- .../pte/live/MariborProviderLiveTest.java | 7 +- .../pte/live/MetProviderLiveTest.java | 7 +- .../pte/live/MvgProviderLiveTest.java | 7 +- .../pte/live/MvvProviderLiveTest.java | 6 +- .../pte/live/NaldoProviderLiveTest.java | 7 +- .../pte/live/NasaProviderLiveTest.java | 4 +- .../pte/live/NsProviderLiveTest.java | 6 +- .../pte/live/NvbwProviderLiveTest.java | 9 +- .../pte/live/OebbProviderLiveTest.java | 4 +- .../pte/live/PlProviderLiveTest.java | 4 +- .../pte/live/RmvProviderLiveTest.java | 6 +- .../pte/live/SbbProviderLiveTest.java | 4 +- .../pte/live/SeptaProviderLiveTest.java | 4 +- .../pte/live/SfProviderLiveTest.java | 9 +- .../pte/live/ShProviderLiveTest.java | 4 +- .../pte/live/SncbProviderLiveTest.java | 4 +- .../pte/live/StvProviderLiveTest.java | 9 +- .../pte/live/SvvProviderLiveTest.java | 7 +- .../pte/live/SydneyProviderLiveTest.java | 7 +- .../pte/live/TflProviderLiveTest.java | 6 +- .../pte/live/TleaProviderLiveTest.java | 9 +- .../pte/live/TlemProviderLiveTest.java | 9 +- .../pte/live/TlseProviderLiveTest.java | 9 +- .../pte/live/TlswProviderLiveTest.java | 7 +- .../pte/live/VagfrProviderLiveTest.java | 7 +- .../pte/live/VblProviderLiveTest.java | 7 +- .../pte/live/VgsProviderLiveTest.java | 5 +- .../pte/live/VmsProviderLiveTest.java | 9 +- .../pte/live/VmvProviderLiveTest.java | 9 +- .../pte/live/VorProviderLiveTest.java | 9 +- .../pte/live/VrnProviderLiveTest.java | 7 +- .../pte/live/VrrProviderLiveTest.java | 7 +- .../pte/live/VrtProviderLiveTest.java | 7 +- .../pte/live/VvmProviderLiveTest.java | 7 +- .../pte/live/VvoProviderLiveTest.java | 7 +- .../pte/live/VvsProviderLiveTest.java | 7 +- .../pte/live/VvvProviderLiveTest.java | 7 +- .../pte/live/ZvvProviderLiveTest.java | 6 +- 112 files changed, 605 insertions(+), 501 deletions(-) diff --git a/src/de/schildbach/pte/AbstractEfaProvider.java b/src/de/schildbach/pte/AbstractEfaProvider.java index 33e4880a..5e4af869 100644 --- a/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/src/de/schildbach/pte/AbstractEfaProvider.java @@ -431,20 +431,21 @@ public abstract class AbstractEfaProvider implements NetworkProvider return new Location(LocationType.STATION, id, lat, lon, place, name); } - protected abstract String nearbyStationUri(String stationId); + protected abstract String nearbyStationUri(int stationId); - public NearbyStationsResult nearbyStations(final String stationId, final int lat, final int lon, final int maxDistance, final int maxStations) - throws IOException + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - if (lat != 0 || lon != 0) - return new NearbyStationsResult(xmlCoordRequest(lat, lon, maxDistance, maxStations)); + if (location.hasLocation()) + return new NearbyStationsResult(xmlCoordRequest(location.lat, location.lon, maxDistance, maxStations)); - String uri = null; - if (uri == null && stationId != null) - uri = nearbyStationUri(stationId); - if (uri == null) + if (location.type != LocationType.STATION) + throw new IllegalArgumentException("cannot handle: " + location.type); + + if (!location.hasId()) throw new IllegalArgumentException("at least one of stationId or lat/lon must be given"); + final String uri = nearbyStationUri(location.id); + InputStream is = null; try { @@ -644,6 +645,8 @@ public abstract class AbstractEfaProvider implements NetworkProvider return 'I' + str; if (type.equals("HKX")) // Hamburg-Koeln-Express return 'I' + str; + if (type.equals("DNZ")) // Nachtzug Basel-Moskau + return 'I' + str; if (type.equals("IR")) // Interregio return 'R' + str; diff --git a/src/de/schildbach/pte/AbstractHafasProvider.java b/src/de/schildbach/pte/AbstractHafasProvider.java index daf440ae..f350f47b 100644 --- a/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/src/de/schildbach/pte/AbstractHafasProvider.java @@ -278,6 +278,14 @@ public abstract class AbstractHafasProvider implements NetworkProvider { // TODO don't know what to do } + else if (type == 87) // strange (ZTM) + { + // TODO don't know what to do + } + else if (type == 128) // strange (SEPTA) + { + // TODO don't know what to do + } else { throw new IllegalStateException("unknown type " + type + " on " + uri); @@ -1008,7 +1016,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider return new NearbyStationsResult(stations); } - protected NearbyStationsResult jsonNearbyStations(final String uri) throws IOException + protected final NearbyStationsResult jsonNearbyStations(final String uri) throws IOException { final CharSequence page = ParserUtils.scrape(uri); @@ -1045,17 +1053,10 @@ public abstract class AbstractHafasProvider implements NetworkProvider .compile("REQMapRoute0\\.Location0\\.X=(-?\\d+)&(?:amp;)?REQMapRoute0\\.Location0\\.Y=(-?\\d+)&"); private final static Pattern P_NEARBY_FINE_LOCATION = Pattern.compile("[\\?&]input=(\\d+)&[^\"]*\">([^<]*)<"); - protected abstract String nearbyStationUri(String stationId); - - public NearbyStationsResult nearbyStations(final String stationId, final int lat, final int lon, final int maxDistance, final int maxStations) - throws IOException + protected final NearbyStationsResult htmlNearbyStations(final String uri) throws IOException { - if (stationId == null) - throw new IllegalArgumentException("stationId must be given"); - final List stations = new ArrayList(); - final String uri = nearbyStationUri(stationId); final CharSequence page = ParserUtils.scrape(uri); String oldZebra = null; @@ -1095,10 +1096,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider } } - if (maxStations == 0 || maxStations >= stations.size()) - return new NearbyStationsResult(stations); - else - return new NearbyStationsResult(stations.subList(0, maxStations)); + return new NearbyStationsResult(stations); } protected static final Pattern P_NORMALIZE_LINE = Pattern.compile("([A-Za-zßÄÅäáàâåéèêíìîÖöóòôÜüúùûØ/-]+)[\\s-]*(.*)"); diff --git a/src/de/schildbach/pte/AtcProvider.java b/src/de/schildbach/pte/AtcProvider.java index 9594e2a7..49a63508 100644 --- a/src/de/schildbach/pte/AtcProvider.java +++ b/src/de/schildbach/pte/AtcProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -62,8 +61,8 @@ public class AtcProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/AvvProvider.java b/src/de/schildbach/pte/AvvProvider.java index 62f04718..c60f3329 100644 --- a/src/de/schildbach/pte/AvvProvider.java +++ b/src/de/schildbach/pte/AvvProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class AvvProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java index 9b2ccc30..939f2432 100644 --- a/src/de/schildbach/pte/BahnProvider.java +++ b/src/de/schildbach/pte/BahnProvider.java @@ -81,33 +81,28 @@ public final class BahnProvider extends AbstractHafasProvider private final static Pattern P_NEARBY_STATIONS_BY_STATION = Pattern .compile("([^<]*)"); - @Override - protected String nearbyStationUri(final String stationId) - { - throw new UnsupportedOperationException(); - } - - @Override - public NearbyStationsResult nearbyStations(final String stationId, final int lat, final int lon, final int maxDistance, final int maxStations) - throws IOException + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { final StringBuilder uri = new StringBuilder(API_BASE); - if (lat != 0 || lon != 0) + if (location.hasLocation()) { uri.append("query.exe/dny"); uri.append("?performLocating=2&tpl=stop2json"); uri.append("&look_maxno=").append(maxStations != 0 ? maxStations : 200); uri.append("&look_maxdist=").append(maxDistance != 0 ? maxDistance : 5000); uri.append("&look_stopclass=").append(allProductsInt()); - uri.append("&look_x=").append(lon); - uri.append("&look_y=").append(lat); + uri.append("&look_x=").append(location.lon); + uri.append("&look_y=").append(location.lat); return jsonNearbyStations(uri.toString()); } - else + else if (location.type == LocationType.STATION && location.hasId()) { - uri.append("bhftafel.exe/dn?near=Anzeigen&distance=50&input=").append(ParserUtils.urlEncode(stationId)); + uri.append("bhftafel.exe/dn"); + uri.append("?near=Anzeigen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); final CharSequence page = ParserUtils.scrape(uri.toString()); @@ -128,6 +123,10 @@ public final class BahnProvider extends AbstractHafasProvider else return new NearbyStationsResult(stations.subList(0, maxStations)); } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private String connectionsQueryUri(final Location from, final Location via, final Location to, final Date date, final boolean dep, diff --git a/src/de/schildbach/pte/BsagProvider.java b/src/de/schildbach/pte/BsagProvider.java index dad8d3fd..0e7a27b8 100644 --- a/src/de/schildbach/pte/BsagProvider.java +++ b/src/de/schildbach/pte/BsagProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -62,8 +61,8 @@ public class BsagProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/BsvagProvider.java b/src/de/schildbach/pte/BsvagProvider.java index eadb05c5..400c5f7e 100644 --- a/src/de/schildbach/pte/BsvagProvider.java +++ b/src/de/schildbach/pte/BsvagProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class BsvagProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/BvbProvider.java b/src/de/schildbach/pte/BvbProvider.java index 0ffe1856..a6c08fd2 100644 --- a/src/de/schildbach/pte/BvbProvider.java +++ b/src/de/schildbach/pte/BvbProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class BvbProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/BvgProvider.java b/src/de/schildbach/pte/BvgProvider.java index 810b47c6..0cf1337f 100644 --- a/src/de/schildbach/pte/BvgProvider.java +++ b/src/de/schildbach/pte/BvgProvider.java @@ -88,14 +88,6 @@ public final class BvgProvider extends AbstractHafasProvider return xmlMLcReq(constraint); } - private final String NEARBY_URI = API_BASE + "stboard.bin/dn?distance=50&near&input=%s"; - - @Override - protected String nearbyStationUri(final String stationId) - { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); - } - private final static Pattern P_NEARBY_OWN = Pattern .compile("/Stadtplan/index.*?location=(\\d+),HST,WGS84,(-?\\d+\\.\\d+),(-?\\d+\\.\\d+)&label=([^\"]*)\""); private final static Pattern P_NEARBY_PAGE = Pattern.compile("(.*?)", Pattern.DOTALL); @@ -103,66 +95,73 @@ public final class BvgProvider extends AbstractHafasProvider private final static Pattern P_NEARBY_FINE_LOCATION = Pattern.compile("input=(\\d+)&[^\"]*\">([^<]*)<"); private static final Pattern P_NEARBY_ERRORS = Pattern.compile("(derzeit leider nicht bearbeitet werden)"); - @Override - public NearbyStationsResult nearbyStations(final String stationId, final int lat, final int lon, final int maxDistance, final int maxStations) - throws IOException + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - if (stationId == null) - throw new IllegalArgumentException("stationId must be given"); + final StringBuilder uri = new StringBuilder(API_BASE); - final List stations = new ArrayList(); - - final String uri = nearbyStationUri(stationId); - final CharSequence page = ParserUtils.scrape(uri); - - final Matcher mError = P_NEARBY_ERRORS.matcher(page); - if (mError.find()) + if (location.type == LocationType.STATION && location.hasId()) { - if (mError.group(1) != null) - return new NearbyStationsResult(NearbyStationsResult.Status.INVALID_STATION); - } + uri.append("stboard.bin/dn?near=Anzeigen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); - final Matcher mOwn = P_NEARBY_OWN.matcher(page); - if (mOwn.find()) - { - final int parsedId = Integer.parseInt(mOwn.group(1)); - final int parsedLon = (int) (Float.parseFloat(mOwn.group(2)) * 1E6); - final int parsedLat = (int) (Float.parseFloat(mOwn.group(3)) * 1E6); - final String[] parsedPlaceAndName = splitNameAndPlace(ParserUtils.urlDecode(mOwn.group(4), "ISO-8859-1")); - stations.add(new Location(LocationType.STATION, parsedId, parsedLat, parsedLon, parsedPlaceAndName[0], parsedPlaceAndName[1])); - } + final CharSequence page = ParserUtils.scrape(uri.toString()); - final Matcher mPage = P_NEARBY_PAGE.matcher(page); - if (mPage.find()) - { - final Matcher mCoarse = P_NEARBY_COARSE.matcher(mPage.group(1)); - - while (mCoarse.find()) + final Matcher mError = P_NEARBY_ERRORS.matcher(page); + if (mError.find()) { - final Matcher mFineLocation = P_NEARBY_FINE_LOCATION.matcher(mCoarse.group(1)); - - if (mFineLocation.find()) - { - final int parsedId = Integer.parseInt(mFineLocation.group(1)); - final String[] parsedPlaceAndName = splitNameAndPlace(ParserUtils.resolveEntities(mFineLocation.group(2))); - final Location station = new Location(LocationType.STATION, parsedId, parsedPlaceAndName[0], parsedPlaceAndName[1]); - if (!stations.contains(station)) - stations.add(station); - } - else - { - throw new IllegalArgumentException("cannot parse '" + mCoarse.group(1) + "' on " + uri); - } + if (mError.group(1) != null) + return new NearbyStationsResult(NearbyStationsResult.Status.INVALID_STATION); } - if (maxStations == 0 || maxStations >= stations.size()) - return new NearbyStationsResult(stations); + final List stations = new ArrayList(); + + final Matcher mOwn = P_NEARBY_OWN.matcher(page); + if (mOwn.find()) + { + final int parsedId = Integer.parseInt(mOwn.group(1)); + final int parsedLon = (int) (Float.parseFloat(mOwn.group(2)) * 1E6); + final int parsedLat = (int) (Float.parseFloat(mOwn.group(3)) * 1E6); + final String[] parsedPlaceAndName = splitNameAndPlace(ParserUtils.urlDecode(mOwn.group(4), "ISO-8859-1")); + stations.add(new Location(LocationType.STATION, parsedId, parsedLat, parsedLon, parsedPlaceAndName[0], parsedPlaceAndName[1])); + } + + final Matcher mPage = P_NEARBY_PAGE.matcher(page); + if (mPage.find()) + { + final Matcher mCoarse = P_NEARBY_COARSE.matcher(mPage.group(1)); + + while (mCoarse.find()) + { + final Matcher mFineLocation = P_NEARBY_FINE_LOCATION.matcher(mCoarse.group(1)); + + if (mFineLocation.find()) + { + final int parsedId = Integer.parseInt(mFineLocation.group(1)); + final String[] parsedPlaceAndName = splitNameAndPlace(ParserUtils.resolveEntities(mFineLocation.group(2))); + final Location station = new Location(LocationType.STATION, parsedId, parsedPlaceAndName[0], parsedPlaceAndName[1]); + if (!stations.contains(station)) + stations.add(station); + } + else + { + throw new IllegalArgumentException("cannot parse '" + mCoarse.group(1) + "' on " + uri); + } + } + + if (maxStations == 0 || maxStations >= stations.size()) + return new NearbyStationsResult(stations); + else + return new NearbyStationsResult(stations.subList(0, maxStations)); + } else - return new NearbyStationsResult(stations.subList(0, maxStations)); + { + throw new IllegalArgumentException("cannot parse '" + page + "' on " + uri); + } } else { - throw new IllegalArgumentException("cannot parse '" + page + "' on " + uri); + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); } } diff --git a/src/de/schildbach/pte/DingProvider.java b/src/de/schildbach/pte/DingProvider.java index 28f530be..d72ea1b8 100644 --- a/src/de/schildbach/pte/DingProvider.java +++ b/src/de/schildbach/pte/DingProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class DingProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/DsbProvider.java b/src/de/schildbach/pte/DsbProvider.java index 3d8bb5cb..9b7b1560 100644 --- a/src/de/schildbach/pte/DsbProvider.java +++ b/src/de/schildbach/pte/DsbProvider.java @@ -23,6 +23,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.util.ParserUtils; @@ -64,41 +65,38 @@ public class DsbProvider extends AbstractHafasProvider return jsonGetStops(uri); } - @Override - protected String nearbyStationUri(String stationId) - { - throw new UnsupportedOperationException(); - } - - @Override - public NearbyStationsResult nearbyStations(final String stationId, final int lat, final int lon, final int maxDistance, final int maxStations) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { final StringBuilder uri = new StringBuilder(API_BASE); - if (lat != 0 || lon != 0) + if (location.hasLocation()) { uri.append("query.exe/mny"); uri.append("?performLocating=2&tpl=stop2json"); uri.append("&look_maxno=").append(maxStations != 0 ? maxStations : 200); uri.append("&look_maxdist=").append(maxDistance != 0 ? maxDistance : 5000); uri.append("&look_stopclass=").append(allProductsInt()); - uri.append("&look_x=").append(lon); - uri.append("&look_y=").append(lat); + uri.append("&look_x=").append(location.lon); + uri.append("&look_y=").append(location.lat); return jsonNearbyStations(uri.toString()); } - else + else if (location.type == LocationType.STATION && location.hasId()) { uri.append("stboard.exe/mn"); uri.append("?productsFilter=").append(allProductsString()); uri.append("&boardType=dep"); - uri.append("&input=").append(ParserUtils.urlEncode(stationId)); + uri.append("&input=").append(location.id); uri.append("&sTI=1&start=yes&hcount=0"); uri.append("&L=vs_java3"); return xmlNearbyStations(uri.toString()); } + else + { + throw new IllegalArgumentException("cannot handle: '" + location.toDebugString()); + } } private static final Pattern P_NORMALIZE_LINE_AND_TYPE = Pattern.compile("([^#]*)#(.*)"); diff --git a/src/de/schildbach/pte/DubProvider.java b/src/de/schildbach/pte/DubProvider.java index dafdf33c..9027f210 100644 --- a/src/de/schildbach/pte/DubProvider.java +++ b/src/de/schildbach/pte/DubProvider.java @@ -23,7 +23,6 @@ import java.util.TimeZone; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -70,8 +69,8 @@ public class DubProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/GvhProvider.java b/src/de/schildbach/pte/GvhProvider.java index a71bc1a4..cea205a3 100644 --- a/src/de/schildbach/pte/GvhProvider.java +++ b/src/de/schildbach/pte/GvhProvider.java @@ -25,7 +25,6 @@ import java.util.Map; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.util.Color; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -65,9 +64,9 @@ public class GvhProvider extends AbstractEfaProvider + "XSLT_DM_REQUEST?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } private static final Map LINES = new HashMap(); diff --git a/src/de/schildbach/pte/InvgProvider.java b/src/de/schildbach/pte/InvgProvider.java index a17140be..3f3857de 100644 --- a/src/de/schildbach/pte/InvgProvider.java +++ b/src/de/schildbach/pte/InvgProvider.java @@ -31,6 +31,7 @@ import java.util.regex.Pattern; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.dto.QueryDeparturesResult.Status; import de.schildbach.pte.dto.StationDepartures; @@ -89,12 +90,22 @@ public class InvgProvider extends AbstractHafasProvider return super.splitNameAndPlace(name); } - private final String NEARBY_URI = API_BASE + "stboard.exe/dn?input=%s&distance=50&near=Anzeigen"; - - @Override - protected String nearbyStationUri(final String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); + final StringBuilder uri = new StringBuilder(API_BASE); + + if (location.type == LocationType.STATION && location.hasId()) + { + uri.append("stboard.exe/dn?near=Anzeigen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); + + return htmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } protected static final Pattern P_NORMALIZE_LINE_BUS = Pattern.compile("Bus\\s*(\\d+)"); diff --git a/src/de/schildbach/pte/IvbProvider.java b/src/de/schildbach/pte/IvbProvider.java index 32ee2586..d15681b1 100644 --- a/src/de/schildbach/pte/IvbProvider.java +++ b/src/de/schildbach/pte/IvbProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class IvbProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/KvvProvider.java b/src/de/schildbach/pte/KvvProvider.java index 40f0862b..f4ee4aa0 100644 --- a/src/de/schildbach/pte/KvvProvider.java +++ b/src/de/schildbach/pte/KvvProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class KvvProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/LinzProvider.java b/src/de/schildbach/pte/LinzProvider.java index f6e13573..7701c182 100644 --- a/src/de/schildbach/pte/LinzProvider.java +++ b/src/de/schildbach/pte/LinzProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class LinzProvider extends AbstractEfaProvider + "?outputFormat=XML&mode=direct&coordOutputFormat=WGS84&mergeDep=1&useAllStops=1&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&excludedMeans=checkbox"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/LuProvider.java b/src/de/schildbach/pte/LuProvider.java index 3e9f5a20..1347141d 100644 --- a/src/de/schildbach/pte/LuProvider.java +++ b/src/de/schildbach/pte/LuProvider.java @@ -23,9 +23,9 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -59,24 +59,23 @@ public class LuProvider extends AbstractHafasProvider return xmlMLcReq(constraint); } - @Override - protected String nearbyStationUri(String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - throw new UnsupportedOperationException(); - } + if (location.type == LocationType.STATION && location.hasId()) + { + final StringBuilder uri = new StringBuilder(API_BASE); + uri.append("stboard.exe/dn"); + uri.append("?productsFilter=").append(allProductsString()); + uri.append("&boardType=dep"); + uri.append("&input=").append(location.id); + uri.append("&sTI=1&start=yes&hcount=0&L=vs_java3"); - @Override - public NearbyStationsResult nearbyStations(final String stationId, final int lat, final int lon, final int maxDistance, final int maxStations) - throws IOException - { - final StringBuilder uri = new StringBuilder(API_BASE); - uri.append("stboard.exe/dn"); - uri.append("?productsFilter=").append(allProductsString()); - uri.append("&boardType=dep"); - uri.append("&input=").append(ParserUtils.urlEncode(stationId)); - uri.append("&sTI=1&start=yes&hcount=0&L=vs_java3"); - - return xmlNearbyStations(uri.toString()); + return xmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private static final Pattern P_NORMALIZE_LINE_AND_TYPE = Pattern.compile("([^#]*)#(.*)"); diff --git a/src/de/schildbach/pte/MariborProvider.java b/src/de/schildbach/pte/MariborProvider.java index e048056d..e9a78a93 100644 --- a/src/de/schildbach/pte/MariborProvider.java +++ b/src/de/schildbach/pte/MariborProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class MariborProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/MetProvider.java b/src/de/schildbach/pte/MetProvider.java index e684c002..e33cdc57 100644 --- a/src/de/schildbach/pte/MetProvider.java +++ b/src/de/schildbach/pte/MetProvider.java @@ -23,7 +23,6 @@ import java.util.TimeZone; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -69,8 +68,8 @@ public class MetProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/MvgProvider.java b/src/de/schildbach/pte/MvgProvider.java index 0bbec965..f54b400b 100644 --- a/src/de/schildbach/pte/MvgProvider.java +++ b/src/de/schildbach/pte/MvgProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -62,8 +61,8 @@ public class MvgProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct&deleteAssignedStop=0"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/MvvProvider.java b/src/de/schildbach/pte/MvvProvider.java index 14d3168c..51ea763a 100644 --- a/src/de/schildbach/pte/MvvProvider.java +++ b/src/de/schildbach/pte/MvvProvider.java @@ -25,7 +25,6 @@ import java.util.Map; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.util.Color; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -66,9 +65,9 @@ public class MvvProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } private static final Map LINES = new HashMap(); diff --git a/src/de/schildbach/pte/NaldoProvider.java b/src/de/schildbach/pte/NaldoProvider.java index b3529317..8c56eee9 100644 --- a/src/de/schildbach/pte/NaldoProvider.java +++ b/src/de/schildbach/pte/NaldoProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class NaldoProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/NasaProvider.java b/src/de/schildbach/pte/NasaProvider.java index db800c65..2f327a27 100644 --- a/src/de/schildbach/pte/NasaProvider.java +++ b/src/de/schildbach/pte/NasaProvider.java @@ -29,6 +29,7 @@ import java.util.regex.Pattern; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.dto.QueryDeparturesResult.Status; import de.schildbach.pte.dto.StationDepartures; @@ -69,13 +70,22 @@ public class NasaProvider extends AbstractHafasProvider return xmlMLcReq(constraint); } - private final String NEARBY_URI = API_BASE + "stboard.exe/dn?input=%s&selectDate=today&boardType=dep&productsFilter=" + allProductsString() - + "&distance=50&near=Anzeigen"; - - @Override - protected String nearbyStationUri(final String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); + final StringBuilder uri = new StringBuilder(API_BASE); + + if (location.type == LocationType.STATION && location.hasId()) + { + uri.append("stboard.exe/dn?near=Anzeigen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); + + return htmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private String departuresQueryUri(final String stationId, final int maxDepartures) diff --git a/src/de/schildbach/pte/NetworkProvider.java b/src/de/schildbach/pte/NetworkProvider.java index d747ad89..194ac807 100644 --- a/src/de/schildbach/pte/NetworkProvider.java +++ b/src/de/schildbach/pte/NetworkProvider.java @@ -59,14 +59,10 @@ public interface NetworkProvider List autocompleteStations(CharSequence constraint) throws IOException; /** - * Determine stations near to given location. At least one of stationId or lat/lon pair must be given. + * Determine stations near to given location. At least one of stationId or lat/lon pair must be present. * - * @param stationId - * id of station to look up nearby stations (optional) - * @param lat - * latitude (optional) - * @param lon - * longitude (optional) + * @param location + * location to determine nearby stations (optional) * @param maxDistance * maximum distance in meters, or {@code 0} * @param maxStations @@ -74,7 +70,7 @@ public interface NetworkProvider * @return nearby stations * @throws IOException */ - NearbyStationsResult nearbyStations(String stationId, int lat, int lon, int maxDistance, int maxStations) throws IOException; + NearbyStationsResult queryNearbyStations(Location location, int maxDistance, int maxStations) throws IOException; /** * Query connections, asking for any ambiguousnesses diff --git a/src/de/schildbach/pte/NsProvider.java b/src/de/schildbach/pte/NsProvider.java index 1a335061..a06a9cc9 100644 --- a/src/de/schildbach/pte/NsProvider.java +++ b/src/de/schildbach/pte/NsProvider.java @@ -28,6 +28,7 @@ import java.util.regex.Pattern; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.dto.QueryDeparturesResult.Status; import de.schildbach.pte.dto.StationDepartures; @@ -41,6 +42,7 @@ public class NsProvider extends AbstractHafasProvider public static final NetworkId NETWORK_ID = NetworkId.NS; public static final String OLD_NETWORK_ID = "hafas.bene-system.com"; private static final String API_URI = "http://hafas.bene-system.com/bin/extxml.exe"; // http://plannerint.b-rail.be/bin/extxml.exe + private static final String API_BASE = "http://hari.b-rail.be/HAFAS/bin/"; // FIXME! private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000; @@ -63,17 +65,26 @@ public class NsProvider extends AbstractHafasProvider return false; } - public List autocompleteStations(CharSequence constraint) throws IOException + public List autocompleteStations(final CharSequence constraint) throws IOException { throw new UnsupportedOperationException(); } - private final String NEARBY_URI = "http://hari.b-rail.be/HAFAS/bin/stboard.exe/en?input=%s&distance=50&near=Anzeigen"; - - @Override - protected String nearbyStationUri(final String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); + if (location.type == LocationType.STATION && location.hasId()) + { + final StringBuilder uri = new StringBuilder(API_BASE); + uri.append("stboard.exe/en"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); + + return htmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private String departuresQueryUri(final String stationId, final int maxDepartures) diff --git a/src/de/schildbach/pte/NvbwProvider.java b/src/de/schildbach/pte/NvbwProvider.java index 79ba41e6..bb8c3416 100644 --- a/src/de/schildbach/pte/NvbwProvider.java +++ b/src/de/schildbach/pte/NvbwProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -62,8 +61,8 @@ public class NvbwProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/OebbProvider.java b/src/de/schildbach/pte/OebbProvider.java index 943de640..83a729cd 100644 --- a/src/de/schildbach/pte/OebbProvider.java +++ b/src/de/schildbach/pte/OebbProvider.java @@ -86,35 +86,33 @@ public class OebbProvider extends AbstractHafasProvider return jsonGetStops(uri); } - private final String NEARBY_URI = API_BASE + "stboard.exe/dn?distance=50&near=Suchen&input=%s"; - - @Override - protected String nearbyStationUri(final String stationId) - { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); - } - - @Override - public NearbyStationsResult nearbyStations(final String stationId, final int lat, final int lon, final int maxDistance, final int maxStations) - throws IOException + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { final StringBuilder uri = new StringBuilder(API_BASE); - if (lat != 0 || lon != 0) + if (location.hasLocation()) { uri.append("query.exe/dny"); uri.append("?performLocating=2&tpl=stop2json"); uri.append("&look_maxno=").append(maxStations != 0 ? maxStations : 200); uri.append("&look_maxdist=").append(maxDistance != 0 ? maxDistance : 5000); uri.append("&look_stopclass=").append(allProductsInt()); - uri.append("&look_x=").append(lon); - uri.append("&look_y=").append(lat); + uri.append("&look_x=").append(location.lon); + uri.append("&look_y=").append(location.lat); return jsonNearbyStations(uri.toString()); } + else if (location.type == LocationType.STATION && location.hasId()) + { + uri.append("stboard.exe/dn?near=Suchen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); + + return htmlNearbyStations(uri.toString()); + } else { - return super.nearbyStations(stationId, lat, lon, maxDistance, maxStations); + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); } } diff --git a/src/de/schildbach/pte/PlProvider.java b/src/de/schildbach/pte/PlProvider.java index 56ef939e..01cc64af 100644 --- a/src/de/schildbach/pte/PlProvider.java +++ b/src/de/schildbach/pte/PlProvider.java @@ -23,9 +23,9 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -75,27 +75,26 @@ public class PlProvider extends AbstractHafasProvider return xmlMLcReq(constraint); } - @Override - protected String nearbyStationUri(String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - throw new UnsupportedOperationException(); - } + if (location.type == LocationType.STATION && location.hasId()) + { + final StringBuilder uri = new StringBuilder(API_BASE); + uri.append("stboard.exe/pn"); + uri.append("?productsFilter=").append(allProductsString()); + uri.append("&boardType=dep"); + uri.append("&input=").append(location.id); + uri.append("&sTI=1&start=yes&hcount=0"); + uri.append("&L=vs_java3"); - @Override - public NearbyStationsResult nearbyStations(final String stationId, final int lat, final int lon, final int maxDistance, final int maxStations) - throws IOException - { - final StringBuilder uri = new StringBuilder(API_BASE); - uri.append("stboard.exe/pn"); - uri.append("?productsFilter=").append(allProductsString()); - uri.append("&boardType=dep"); - uri.append("&input=").append(ParserUtils.urlEncode(stationId)); - uri.append("&sTI=1&start=yes&hcount=0"); - uri.append("&L=vs_java3"); + // &inputTripelId=A%3d1%40O%3dCopenhagen%20Airport%40X%3d12646941%40Y%3d55629753%40U%3d86%40L%3d900000011%40B%3d1 - // &inputTripelId=A%3d1%40O%3dCopenhagen%20Airport%40X%3d12646941%40Y%3d55629753%40U%3d86%40L%3d900000011%40B%3d1 - - return xmlNearbyStations(uri.toString()); + return xmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private static final Pattern P_NORMALIZE_LINE_RUSSIA = Pattern.compile("(?:D\\s*)?(\\d{1,3}(?:[A-Z]{2}|Y))"); diff --git a/src/de/schildbach/pte/RmvProvider.java b/src/de/schildbach/pte/RmvProvider.java index 40109384..c7ff72e0 100644 --- a/src/de/schildbach/pte/RmvProvider.java +++ b/src/de/schildbach/pte/RmvProvider.java @@ -34,6 +34,7 @@ import de.schildbach.pte.dto.GetConnectionDetailsResult; import de.schildbach.pte.dto.Line; 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; import de.schildbach.pte.dto.QueryDeparturesResult.Status; @@ -110,12 +111,22 @@ public class RmvProvider extends AbstractHafasProvider return results; } - private final String NEARBY_URI = API_BASE + "stboard.exe/dn?L=vs_rmv&distance=50&near&input=%s"; - - @Override - protected String nearbyStationUri(final String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); + final StringBuilder uri = new StringBuilder(API_BASE); + + if (location.type == LocationType.STATION && location.hasId()) + { + uri.append("stboard.exe/dn?L=vs_rmv&near=Anzeigen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); + + return htmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private static final Map WALKSPEED_MAP = new HashMap(); diff --git a/src/de/schildbach/pte/SbbProvider.java b/src/de/schildbach/pte/SbbProvider.java index 36e041c1..dc2c98c7 100644 --- a/src/de/schildbach/pte/SbbProvider.java +++ b/src/de/schildbach/pte/SbbProvider.java @@ -29,6 +29,7 @@ import java.util.regex.Pattern; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.dto.QueryDeparturesResult.Status; import de.schildbach.pte.dto.StationDepartures; @@ -70,12 +71,22 @@ public class SbbProvider extends AbstractHafasProvider return xmlMLcReq(constraint); } - private final static String NEARBY_URI = API_BASE + "bhftafel.exe/dn?input=%s&distance=50&near=Anzeigen"; - - @Override - protected String nearbyStationUri(final String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); + final StringBuilder uri = new StringBuilder(API_BASE); + + if (location.type == LocationType.STATION && location.hasId()) + { + uri.append("bhftafel.exe/dn?near=Anzeigen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); + + return htmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private String departuresQueryUri(final String stationId, final int maxDepartures) diff --git a/src/de/schildbach/pte/SeptaProvider.java b/src/de/schildbach/pte/SeptaProvider.java index 17da45ca..5d73be99 100644 --- a/src/de/schildbach/pte/SeptaProvider.java +++ b/src/de/schildbach/pte/SeptaProvider.java @@ -30,6 +30,7 @@ import java.util.regex.Pattern; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.dto.QueryDeparturesResult.Status; import de.schildbach.pte.dto.StationDepartures; @@ -126,13 +127,22 @@ public class SeptaProvider extends AbstractHafasProvider return 0; } - private final String NEARBY_URI = API_BASE + "stboard.exe/en?input=%s&selectDate=today&boardType=dep&productsFilter=" + allProductsString() - + "&distance=50&near=Anzeigen"; - - @Override - protected String nearbyStationUri(final String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); + final StringBuilder uri = new StringBuilder(API_BASE); + + if (location.type == LocationType.STATION && location.hasId()) + { + uri.append("stboard.exe/en?near=Anzeigen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); + + return htmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private String departuresQueryUri(final String stationId, final int maxDepartures) diff --git a/src/de/schildbach/pte/SfProvider.java b/src/de/schildbach/pte/SfProvider.java index 041ac2d0..0275b4e1 100644 --- a/src/de/schildbach/pte/SfProvider.java +++ b/src/de/schildbach/pte/SfProvider.java @@ -23,7 +23,6 @@ import java.util.TimeZone; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -93,8 +92,8 @@ public class SfProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/ShProvider.java b/src/de/schildbach/pte/ShProvider.java index d725614d..32b9b265 100644 --- a/src/de/schildbach/pte/ShProvider.java +++ b/src/de/schildbach/pte/ShProvider.java @@ -29,6 +29,7 @@ import java.util.regex.Pattern; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.dto.QueryDeparturesResult.Status; import de.schildbach.pte.dto.StationDepartures; @@ -68,13 +69,22 @@ public class ShProvider extends AbstractHafasProvider return xmlMLcReq(constraint); } - private final String NEARBY_URI = API_BASE + "stboard.exe/dn?input=%s&selectDate=today&boardType=dep&productsFilter=" + allProductsString() - + "&distance=50&near=Anzeigen"; - - @Override - protected String nearbyStationUri(final String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); + final StringBuilder uri = new StringBuilder(API_BASE); + + if (location.type == LocationType.STATION && location.hasId()) + { + uri.append("stboard.exe/dn?near=Anzeigen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); + + return htmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } @Override diff --git a/src/de/schildbach/pte/SncbProvider.java b/src/de/schildbach/pte/SncbProvider.java index 6fc97723..aba9dd72 100644 --- a/src/de/schildbach/pte/SncbProvider.java +++ b/src/de/schildbach/pte/SncbProvider.java @@ -28,6 +28,7 @@ import java.util.regex.Pattern; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.dto.QueryDeparturesResult.Status; import de.schildbach.pte.dto.StationDepartures; @@ -75,12 +76,22 @@ public class SncbProvider extends AbstractHafasProvider return jsonGetStops(uri); } - private final String NEARBY_URI = "http://hari.b-rail.be/HAFAS/bin/stboard.exe/en?input=%s&distance=50&near=Anzeigen"; - - @Override - protected String nearbyStationUri(final String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); + final StringBuilder uri = new StringBuilder(API_BASE); + + if (location.type == LocationType.STATION && location.hasId()) + { + uri.append("stboard.exe/en?near=Anzeigen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); + + return htmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private String departuresQueryUri(final String stationId, final int maxDepartures) diff --git a/src/de/schildbach/pte/StvProvider.java b/src/de/schildbach/pte/StvProvider.java index 0f3e6e7a..6dbe916d 100644 --- a/src/de/schildbach/pte/StvProvider.java +++ b/src/de/schildbach/pte/StvProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class StvProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/SvvProvider.java b/src/de/schildbach/pte/SvvProvider.java index 69698972..fc780565 100644 --- a/src/de/schildbach/pte/SvvProvider.java +++ b/src/de/schildbach/pte/SvvProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class SvvProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/SydneyProvider.java b/src/de/schildbach/pte/SydneyProvider.java index 0205169f..74482bc9 100644 --- a/src/de/schildbach/pte/SydneyProvider.java +++ b/src/de/schildbach/pte/SydneyProvider.java @@ -23,7 +23,6 @@ import java.util.TimeZone; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -69,8 +68,8 @@ public class SydneyProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/TflProvider.java b/src/de/schildbach/pte/TflProvider.java index 4b211ba4..23ab9425 100644 --- a/src/de/schildbach/pte/TflProvider.java +++ b/src/de/schildbach/pte/TflProvider.java @@ -26,7 +26,6 @@ import java.util.TimeZone; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.util.Color; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -72,9 +71,9 @@ public class TflProvider extends AbstractEfaProvider + "XSLT_DM_REQUEST?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } private static final Map LINES = new HashMap(); diff --git a/src/de/schildbach/pte/TleaProvider.java b/src/de/schildbach/pte/TleaProvider.java index a62beb9b..6e92f43c 100644 --- a/src/de/schildbach/pte/TleaProvider.java +++ b/src/de/schildbach/pte/TleaProvider.java @@ -23,7 +23,6 @@ import java.util.TimeZone; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -70,8 +69,8 @@ public class TleaProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/TlemProvider.java b/src/de/schildbach/pte/TlemProvider.java index 5da35b4c..7ca4d829 100644 --- a/src/de/schildbach/pte/TlemProvider.java +++ b/src/de/schildbach/pte/TlemProvider.java @@ -23,7 +23,6 @@ import java.util.TimeZone; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -70,8 +69,8 @@ public class TlemProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/TlseProvider.java b/src/de/schildbach/pte/TlseProvider.java index 4a43831d..e8defc43 100644 --- a/src/de/schildbach/pte/TlseProvider.java +++ b/src/de/schildbach/pte/TlseProvider.java @@ -23,7 +23,6 @@ import java.util.TimeZone; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -70,8 +69,8 @@ public class TlseProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/TlswProvider.java b/src/de/schildbach/pte/TlswProvider.java index aa99ccc0..c283930c 100644 --- a/src/de/schildbach/pte/TlswProvider.java +++ b/src/de/schildbach/pte/TlswProvider.java @@ -23,7 +23,6 @@ import java.util.TimeZone; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -69,8 +68,8 @@ public class TlswProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&name_dm=90000591&type_dm=stop&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VagfrProvider.java b/src/de/schildbach/pte/VagfrProvider.java index 0a5305fc..58355586 100644 --- a/src/de/schildbach/pte/VagfrProvider.java +++ b/src/de/schildbach/pte/VagfrProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -62,8 +61,8 @@ public class VagfrProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "UTF-8")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VblProvider.java b/src/de/schildbach/pte/VblProvider.java index fcdacf68..d2494ee9 100644 --- a/src/de/schildbach/pte/VblProvider.java +++ b/src/de/schildbach/pte/VblProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -62,8 +61,8 @@ public class VblProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VgsProvider.java b/src/de/schildbach/pte/VgsProvider.java index ed35aaa7..791b3839 100644 --- a/src/de/schildbach/pte/VgsProvider.java +++ b/src/de/schildbach/pte/VgsProvider.java @@ -31,6 +31,7 @@ import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.GetConnectionDetailsResult; 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; import de.schildbach.pte.dto.QueryDeparturesResult.Status; @@ -77,13 +78,22 @@ public class VgsProvider extends AbstractHafasProvider return jsonGetStops(uri); } - private final String NEARBY_URI = API_BASE + "stboard.exe/dn?input=%s&selectDate=today&boardType=dep&productsFilter=" + allProductsString() - + "&distance=50&near=Anzeigen"; - - @Override - protected String nearbyStationUri(final String stationId) + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { - return String.format(NEARBY_URI, ParserUtils.urlEncode(stationId)); + final StringBuilder uri = new StringBuilder(API_BASE); + + if (location.type == LocationType.STATION && location.hasId()) + { + uri.append("stboard.exe/dn?near=Anzeigen"); + uri.append("&distance=").append(maxDistance != 0 ? maxDistance / 1000 : 50); + uri.append("&input=").append(location.id); + + return htmlNearbyStations(uri.toString()); + } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private String departuresQueryUri(final String stationId, final int maxDepartures) diff --git a/src/de/schildbach/pte/VmsProvider.java b/src/de/schildbach/pte/VmsProvider.java index f931d783..7a890df9 100644 --- a/src/de/schildbach/pte/VmsProvider.java +++ b/src/de/schildbach/pte/VmsProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class VmsProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct&deleteAssignedStop=0"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VmvProvider.java b/src/de/schildbach/pte/VmvProvider.java index 19412f5c..cde50cec 100644 --- a/src/de/schildbach/pte/VmvProvider.java +++ b/src/de/schildbach/pte/VmvProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class VmvProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct&deleteAssignedStop=0"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VorProvider.java b/src/de/schildbach/pte/VorProvider.java index 09181c84..f9b57157 100644 --- a/src/de/schildbach/pte/VorProvider.java +++ b/src/de/schildbach/pte/VorProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class VorProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VrnProvider.java b/src/de/schildbach/pte/VrnProvider.java index 4eaec1e9..e5ea9d67 100644 --- a/src/de/schildbach/pte/VrnProvider.java +++ b/src/de/schildbach/pte/VrnProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class VrnProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct&deleteAssignedStop=0"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VrrProvider.java b/src/de/schildbach/pte/VrrProvider.java index 330b8985..09ad84db 100644 --- a/src/de/schildbach/pte/VrrProvider.java +++ b/src/de/schildbach/pte/VrrProvider.java @@ -25,7 +25,6 @@ import java.util.Map; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.util.Color; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -66,9 +65,9 @@ public class VrrProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct&deleteAssignedStop=0"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } private static final Map LINES = new HashMap(); diff --git a/src/de/schildbach/pte/VrtProvider.java b/src/de/schildbach/pte/VrtProvider.java index 8c84b977..f579b21d 100644 --- a/src/de/schildbach/pte/VrtProvider.java +++ b/src/de/schildbach/pte/VrtProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -62,8 +61,8 @@ public class VrtProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "UTF-8")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VvmProvider.java b/src/de/schildbach/pte/VvmProvider.java index 4e3cd984..4e3bca75 100644 --- a/src/de/schildbach/pte/VvmProvider.java +++ b/src/de/schildbach/pte/VvmProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -62,8 +61,8 @@ public class VvmProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "UTF-8")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VvoProvider.java b/src/de/schildbach/pte/VvoProvider.java index 2c1dcce5..cc4f500a 100644 --- a/src/de/schildbach/pte/VvoProvider.java +++ b/src/de/schildbach/pte/VvoProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class VvoProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId)); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VvsProvider.java b/src/de/schildbach/pte/VvsProvider.java index 9ab330f3..b5872731 100644 --- a/src/de/schildbach/pte/VvsProvider.java +++ b/src/de/schildbach/pte/VvsProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -63,8 +62,8 @@ public class VvsProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct&deleteAssignedStop=0"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/VvvProvider.java b/src/de/schildbach/pte/VvvProvider.java index fb419eba..fa6d67ac 100644 --- a/src/de/schildbach/pte/VvvProvider.java +++ b/src/de/schildbach/pte/VvvProvider.java @@ -22,7 +22,6 @@ import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -62,8 +61,8 @@ public class VvvProvider extends AbstractEfaProvider + "?outputFormat=XML&coordOutputFormat=WGS84&type_dm=stop&name_dm=%s&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&mergeDep=1&useAllStops=1&mode=direct"; @Override - protected String nearbyStationUri(final String stationId) + protected String nearbyStationUri(final int stationId) { - return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1")); + return String.format(NEARBY_STATION_URI, stationId); } } diff --git a/src/de/schildbach/pte/ZvvProvider.java b/src/de/schildbach/pte/ZvvProvider.java index f09688bc..f2ac9fdb 100644 --- a/src/de/schildbach/pte/ZvvProvider.java +++ b/src/de/schildbach/pte/ZvvProvider.java @@ -23,9 +23,9 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; -import de.schildbach.pte.util.ParserUtils; /** * @author Andreas Schildbach @@ -73,41 +73,37 @@ public class ZvvProvider extends AbstractHafasProvider return xmlMLcReq(constraint); } - @Override - protected String nearbyStationUri(String stationId) - { - throw new UnsupportedOperationException(); - } - - @Override - public NearbyStationsResult nearbyStations(final String stationId, final int lat, final int lon, final int maxDistance, final int maxStations) - throws IOException + public NearbyStationsResult queryNearbyStations(final Location location, final int maxDistance, final int maxStations) throws IOException { final StringBuilder uri = new StringBuilder(API_BASE); - if (lat != 0 || lon != 0) + if (location.hasLocation()) { uri.append("query.exe/dny"); uri.append("?performLocating=2&tpl=stop2json"); uri.append("&look_maxno=").append(maxStations != 0 ? maxStations : 150); uri.append("&look_maxdist=").append(maxDistance != 0 ? maxDistance : 5000); uri.append("&look_stopclass=").append(allProductsInt()); - uri.append("&look_x=").append(lon); - uri.append("&look_y=").append(lat); + uri.append("&look_x=").append(location.lon); + uri.append("&look_y=").append(location.lat); return jsonNearbyStations(uri.toString()); } - else + else if (location.type == LocationType.STATION && location.hasId()) { uri.append("stboard.exe/dn"); uri.append("?productsFilter=").append(allProductsString()); uri.append("&boardType=dep"); - uri.append("&input=").append(ParserUtils.urlEncode(stationId)); + uri.append("&input=").append(location.id); uri.append("&sTI=1&start=yes&hcount=0"); uri.append("&L=vs_java3"); return xmlNearbyStations(uri.toString()); } + else + { + throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); + } } private static final Pattern P_NORMALIZE_LINE_AND_TYPE = Pattern.compile("([^#]*)#(.*)"); diff --git a/src/de/schildbach/pte/dto/Location.java b/src/de/schildbach/pte/dto/Location.java index ccab8693..8f214695 100644 --- a/src/de/schildbach/pte/dto/Location.java +++ b/src/de/schildbach/pte/dto/Location.java @@ -70,6 +70,16 @@ public final class Location implements Serializable this.name = null; } + public Location(final LocationType type, final int lat, final int lon) + { + this.type = type; + this.id = 0; + this.lat = lat; + this.lon = lon; + this.place = null; + this.name = null; + } + public final boolean hasId() { return id != 0; diff --git a/test/de/schildbach/pte/live/AtcProviderLiveTest.java b/test/de/schildbach/pte/live/AtcProviderLiveTest.java index 62ae7819..80f967a1 100644 --- a/test/de/schildbach/pte/live/AtcProviderLiveTest.java +++ b/test/de/schildbach/pte/live/AtcProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.AtcProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class AtcProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Bologna, ISTITUTO ALDINI", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 740), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,8 @@ public class AtcProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 8168907, 10609969, 0, 0); // bad coordinate! + // TODO bad coordinate! + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 8168907, 10609969), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +70,7 @@ public class AtcProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("Bologna", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("740", 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 84fef123..b38b2cd3 100644 --- a/test/de/schildbach/pte/live/AvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/AvvProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.AvvProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class AvvProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("100", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 100), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class AvvProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 48367233, 10894976, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 48367233, 10894976), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/BahnProviderLiveTest.java b/test/de/schildbach/pte/live/BahnProviderLiveTest.java index 9b5f0910..ae7f374e 100644 --- a/test/de/schildbach/pte/live/BahnProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BahnProviderLiveTest.java @@ -42,7 +42,7 @@ public class BahnProviderLiveTest @Test public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("692991", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 692991), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -50,7 +50,7 @@ public class BahnProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 52525589, 13369548, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 52525589, 13369548), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/BsagProviderLiveTest.java b/test/de/schildbach/pte/live/BsagProviderLiveTest.java index f8e6fff6..155a8157 100644 --- a/test/de/schildbach/pte/live/BsagProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BsagProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.BsagProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; /** @@ -49,9 +50,9 @@ public class BsagProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Bremen", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 28000257), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -59,7 +60,7 @@ public class BsagProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 53076146, 8806858, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 53076146, 8806858), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/BsvagProviderLiveTest.java b/test/de/schildbach/pte/live/BsvagProviderLiveTest.java index 748ffd25..6334fbd3 100644 --- a/test/de/schildbach/pte/live/BsvagProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BsvagProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.BsvagProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; /** @@ -49,9 +50,9 @@ public class BsvagProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Braunschweig", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 26000178), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -59,7 +60,7 @@ public class BsvagProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 52272065, 10524788, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 52272065, 10524788), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/BvbProviderLiveTest.java b/test/de/schildbach/pte/live/BvbProviderLiveTest.java index adb4bc17..182d2105 100644 --- a/test/de/schildbach/pte/live/BvbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BvbProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.BvbProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class BvbProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("10000", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 10000), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class BvbProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 47551466, 7585187, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 47551466, 7585187), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/BvgProviderLiveTest.java b/test/de/schildbach/pte/live/BvgProviderLiveTest.java index 9eff74c9..b6e77ced 100644 --- a/test/de/schildbach/pte/live/BvgProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BvgProviderLiveTest.java @@ -55,9 +55,9 @@ public class BvgProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("9220302", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 9220302), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/DingProviderLiveTest.java b/test/de/schildbach/pte/live/DingProviderLiveTest.java index 170d7173..a106fe29 100644 --- a/test/de/schildbach/pte/live/DingProviderLiveTest.java +++ b/test/de/schildbach/pte/live/DingProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.DingProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class DingProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Ulm Hauptbahnhof", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 90001611), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class DingProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 48401092, 9992037, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 48401092, 9992037), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class DingProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("Ulm", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("90001611", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/DsbProviderLiveTest.java b/test/de/schildbach/pte/live/DsbProviderLiveTest.java index 402aa0fa..3d536296 100644 --- a/test/de/schildbach/pte/live/DsbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/DsbProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.DsbProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -52,7 +53,7 @@ public class DsbProviderLiveTest @Test public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("8600858", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 8600858), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class DsbProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 55670305, 12554169, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 55670305, 12554169), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/DubProviderLiveTest.java b/test/de/schildbach/pte/live/DubProviderLiveTest.java index 69b5bd5f..ad708245 100644 --- a/test/de/schildbach/pte/live/DubProviderLiveTest.java +++ b/test/de/schildbach/pte/live/DubProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.DubProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; /** @@ -51,7 +52,7 @@ public class DubProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 25269008, 55312672, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 25269008, 55312672), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/GvhProviderLiveTest.java b/test/de/schildbach/pte/live/GvhProviderLiveTest.java index 8d1d21c0..abe9dbac 100644 --- a/test/de/schildbach/pte/live/GvhProviderLiveTest.java +++ b/test/de/schildbach/pte/live/GvhProviderLiveTest.java @@ -78,9 +78,9 @@ public class GvhProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("25000031", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 25000031), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -88,7 +88,7 @@ public class GvhProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 52379497, 9735832, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 52379497, 9735832), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/InvgProviderLiveTest.java b/test/de/schildbach/pte/live/InvgProviderLiveTest.java index 88df177f..732ca6a0 100644 --- a/test/de/schildbach/pte/live/InvgProviderLiveTest.java +++ b/test/de/schildbach/pte/live/InvgProviderLiveTest.java @@ -17,13 +17,17 @@ package de.schildbach.pte.live; +import java.util.Date; import java.util.List; import org.junit.Test; import de.schildbach.pte.InvgProvider; +import de.schildbach.pte.NetworkProvider.WalkSpeed; 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; /** @@ -32,6 +36,7 @@ import de.schildbach.pte.dto.QueryDeparturesResult; public class InvgProviderLiveTest { private final InvgProvider provider = new InvgProvider(); + private static final String ALL_PRODUCTS = "IRSUTBFC"; @Test public void autocomplete() throws Exception @@ -50,9 +55,9 @@ public class InvgProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("80301", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 80301), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -64,4 +69,15 @@ public class InvgProviderLiveTest System.out.println(result.stationDepartures); } + + @Test + public void shortConnection() throws Exception + { + final QueryConnectionsResult result = provider.queryConnections(new Location(LocationType.STATION, 80302, null, + "Ingolstadt, Hauptbahnhof Stadteinwärts"), null, new Location(LocationType.STATION, 181102, null, "Elisabethstraße"), 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/IvbProviderLiveTest.java b/test/de/schildbach/pte/live/IvbProviderLiveTest.java index bf53f0d7..a4241a6f 100644 --- a/test/de/schildbach/pte/live/IvbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/IvbProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.IvbProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class IvbProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Innsbruck", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 60401187), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class IvbProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 47271228, 11402063, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 47271228, 11402063), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class IvbProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("60464209", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("60401187", 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 8a7466c6..636a274f 100644 --- a/test/de/schildbach/pte/live/KvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/KvvProviderLiveTest.java @@ -55,9 +55,9 @@ public class KvvProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Karlsruhe", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 7000090), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -65,7 +65,7 @@ public class KvvProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 49008184, 8400736, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 49008184, 8400736), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -73,7 +73,7 @@ public class KvvProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("119", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("7000090", 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 041b7e1a..06ecd21f 100644 --- a/test/de/schildbach/pte/live/LinzProviderLiveTest.java +++ b/test/de/schildbach/pte/live/LinzProviderLiveTest.java @@ -73,7 +73,7 @@ public class LinzProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 48305726, 14287863, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 48305726, 14287863), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/LuProviderLiveTest.java b/test/de/schildbach/pte/live/LuProviderLiveTest.java index 73bca764..5143d9e2 100644 --- a/test/de/schildbach/pte/live/LuProviderLiveTest.java +++ b/test/de/schildbach/pte/live/LuProviderLiveTest.java @@ -55,9 +55,9 @@ public class LuProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("9865836", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 9865836), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/MariborProviderLiveTest.java b/test/de/schildbach/pte/live/MariborProviderLiveTest.java index 4293a1da..ef13b839 100644 --- a/test/de/schildbach/pte/live/MariborProviderLiveTest.java +++ b/test/de/schildbach/pte/live/MariborProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.MariborProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class MariborProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("63203067", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 63203067), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class MariborProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 46559958, 15646391, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 46559958, 15646391), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/MetProviderLiveTest.java b/test/de/schildbach/pte/live/MetProviderLiveTest.java index 50688236..bd2bb8dc 100644 --- a/test/de/schildbach/pte/live/MetProviderLiveTest.java +++ b/test/de/schildbach/pte/live/MetProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.MetProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class MetProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Melbourne", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 10001167), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class MetProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, -37800941, 144966545, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, -37800941, 144966545), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/MvgProviderLiveTest.java b/test/de/schildbach/pte/live/MvgProviderLiveTest.java index 4cb98969..e18bc8d4 100644 --- a/test/de/schildbach/pte/live/MvgProviderLiveTest.java +++ b/test/de/schildbach/pte/live/MvgProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.MvgProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class MvgProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Ahaus", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 3), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class MvgProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 51219852, 7639217, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 51219852, 7639217), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/MvvProviderLiveTest.java b/test/de/schildbach/pte/live/MvvProviderLiveTest.java index 0350178a..e16f1957 100644 --- a/test/de/schildbach/pte/live/MvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/MvvProviderLiveTest.java @@ -55,9 +55,9 @@ public class MvvProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("350", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 350), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -65,7 +65,7 @@ public class MvvProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 48135232, 11560650, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 48135232, 11560650), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/NaldoProviderLiveTest.java b/test/de/schildbach/pte/live/NaldoProviderLiveTest.java index e49609a5..096b0a32 100644 --- a/test/de/schildbach/pte/live/NaldoProviderLiveTest.java +++ b/test/de/schildbach/pte/live/NaldoProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.NaldoProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class NaldoProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("53019174", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 53019174), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class NaldoProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 48493550, 9205656, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 48493550, 9205656), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/NasaProviderLiveTest.java b/test/de/schildbach/pte/live/NasaProviderLiveTest.java index fc8f4b50..d0c8cb93 100644 --- a/test/de/schildbach/pte/live/NasaProviderLiveTest.java +++ b/test/de/schildbach/pte/live/NasaProviderLiveTest.java @@ -55,9 +55,9 @@ public class NasaProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("13000", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 13000), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/NsProviderLiveTest.java b/test/de/schildbach/pte/live/NsProviderLiveTest.java index cf823f34..8d2feaf6 100644 --- a/test/de/schildbach/pte/live/NsProviderLiveTest.java +++ b/test/de/schildbach/pte/live/NsProviderLiveTest.java @@ -22,8 +22,8 @@ import java.util.List; import org.junit.Test; -import de.schildbach.pte.NsProvider; import de.schildbach.pte.NetworkProvider.WalkSpeed; +import de.schildbach.pte.NsProvider; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; @@ -80,9 +80,9 @@ public class NsProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("100080", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 100080), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/NvbwProviderLiveTest.java b/test/de/schildbach/pte/live/NvbwProviderLiveTest.java index d649035e..b0881d6e 100644 --- a/test/de/schildbach/pte/live/NvbwProviderLiveTest.java +++ b/test/de/schildbach/pte/live/NvbwProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.NvbwProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class NvbwProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Neufels", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 6900001), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class NvbwProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 48778953, 9178963, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 48778953, 9178963), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class NvbwProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("Neuzell", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("6900001", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/OebbProviderLiveTest.java b/test/de/schildbach/pte/live/OebbProviderLiveTest.java index 5978db81..974b16c4 100644 --- a/test/de/schildbach/pte/live/OebbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/OebbProviderLiveTest.java @@ -40,7 +40,7 @@ public class OebbProviderLiveTest @Test public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("902006", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 902006), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -48,7 +48,7 @@ public class OebbProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 48200239, 16370773, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 48200239, 16370773), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/PlProviderLiveTest.java b/test/de/schildbach/pte/live/PlProviderLiveTest.java index 58c30aba..cc7a8cff 100644 --- a/test/de/schildbach/pte/live/PlProviderLiveTest.java +++ b/test/de/schildbach/pte/live/PlProviderLiveTest.java @@ -55,9 +55,9 @@ public class PlProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("5100065", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 5100065), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/RmvProviderLiveTest.java b/test/de/schildbach/pte/live/RmvProviderLiveTest.java index bed76828..6ca5100c 100644 --- a/test/de/schildbach/pte/live/RmvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/RmvProviderLiveTest.java @@ -22,8 +22,8 @@ import java.util.List; import org.junit.Test; -import de.schildbach.pte.RmvProvider; import de.schildbach.pte.NetworkProvider.WalkSpeed; +import de.schildbach.pte.RmvProvider; import de.schildbach.pte.dto.Connection; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; @@ -56,9 +56,9 @@ public class RmvProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("3000001", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 3000001), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/SbbProviderLiveTest.java b/test/de/schildbach/pte/live/SbbProviderLiveTest.java index a93f0691..03a30428 100644 --- a/test/de/schildbach/pte/live/SbbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SbbProviderLiveTest.java @@ -63,9 +63,9 @@ public class SbbProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("8500010", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 8500010), 0, 0); System.out.println(result.status + " " + result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/SeptaProviderLiveTest.java b/test/de/schildbach/pte/live/SeptaProviderLiveTest.java index f72a2b78..f671f6db 100644 --- a/test/de/schildbach/pte/live/SeptaProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SeptaProviderLiveTest.java @@ -55,9 +55,9 @@ public class SeptaProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("2090227", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 2090227), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/SfProviderLiveTest.java b/test/de/schildbach/pte/live/SfProviderLiveTest.java index 34f4c659..ea38453c 100644 --- a/test/de/schildbach/pte/live/SfProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SfProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.SfProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class SfProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("San Franzisco", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 10001017), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class SfProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 37777811, -122419481, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 37777811, -122419481), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class SfProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("10010813", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("10001017", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/ShProviderLiveTest.java b/test/de/schildbach/pte/live/ShProviderLiveTest.java index 022049e5..a6d1f47c 100644 --- a/test/de/schildbach/pte/live/ShProviderLiveTest.java +++ b/test/de/schildbach/pte/live/ShProviderLiveTest.java @@ -55,9 +55,9 @@ public class ShProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("715210", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 715210), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/SncbProviderLiveTest.java b/test/de/schildbach/pte/live/SncbProviderLiveTest.java index 510ea4e8..8f06e506 100644 --- a/test/de/schildbach/pte/live/SncbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SncbProviderLiveTest.java @@ -39,9 +39,9 @@ public class SncbProviderLiveTest private static final String ALL_PRODUCTS = "IRSUTBFC"; @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("100080", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 100080), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/StvProviderLiveTest.java b/test/de/schildbach/pte/live/StvProviderLiveTest.java index 9ef73dac..192dcc8f 100644 --- a/test/de/schildbach/pte/live/StvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/StvProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.StvProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class StvProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Graz", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 63203040), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class StvProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 47072612, 15431814, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 47072612, 15431814), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class StvProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("Graz", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("63203040", 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 c72b3eb8..7909a8ca 100644 --- a/test/de/schildbach/pte/live/SvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SvvProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.SvvProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class SvvProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("60650002", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 60650002), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class SvvProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 47809195, 13054919, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 47809195, 13054919), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/SydneyProviderLiveTest.java b/test/de/schildbach/pte/live/SydneyProviderLiveTest.java index 866143fd..4a1e083d 100644 --- a/test/de/schildbach/pte/live/SydneyProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SydneyProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.SydneyProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class SydneyProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Sydney", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 10101452), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class SydneyProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, -32823911, 151462824, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, -32823911, 151462824), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/TflProviderLiveTest.java b/test/de/schildbach/pte/live/TflProviderLiveTest.java index 2967610d..6406eef1 100644 --- a/test/de/schildbach/pte/live/TflProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TflProviderLiveTest.java @@ -55,9 +55,9 @@ public class TflProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("1000086", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 1000086), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -65,7 +65,7 @@ public class TflProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 51507161, -0127144, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 51507161, -0127144), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/TleaProviderLiveTest.java b/test/de/schildbach/pte/live/TleaProviderLiveTest.java index 7a5b44a5..3caeaec2 100644 --- a/test/de/schildbach/pte/live/TleaProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TleaProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.TleaProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class TleaProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("London", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 1001003), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class TleaProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 51507161, -0127144, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 51507161, -0127144), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class TleaProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("London", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("1001003", 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 a487c101..7c2693d3 100644 --- a/test/de/schildbach/pte/live/TlemProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TlemProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.TlemProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class TlemProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("London", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 1001003), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class TlemProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 51507161, -0127144, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 51507161, -0127144), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class TlemProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("London", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("1001003", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/TlseProviderLiveTest.java b/test/de/schildbach/pte/live/TlseProviderLiveTest.java index 00200348..2bc35ef0 100644 --- a/test/de/schildbach/pte/live/TlseProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TlseProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.TlseProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class TlseProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("London", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 1001003), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class TlseProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 51507161, -0127144, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 51507161, -0127144), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class TlseProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("London", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("1001003", 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 f2171764..1bdc63fe 100644 --- a/test/de/schildbach/pte/live/TlswProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TlswProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.TlswProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class TlswProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("247616", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 247616), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class TlswProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 51507161, -0127144, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 51507161, -0127144), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/VagfrProviderLiveTest.java b/test/de/schildbach/pte/live/VagfrProviderLiveTest.java index d426ad59..240e5f71 100644 --- a/test/de/schildbach/pte/live/VagfrProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VagfrProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VagfrProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VagfrProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("6930112", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 6930112), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class VagfrProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 48000295, 7854338, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 48000295, 7854338), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/VblProviderLiveTest.java b/test/de/schildbach/pte/live/VblProviderLiveTest.java index 29375394..085c393a 100644 --- a/test/de/schildbach/pte/live/VblProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VblProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VblProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VblProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("119", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 119), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class VblProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 47049107, 8312502, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 47049107, 8312502), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/VgsProviderLiveTest.java b/test/de/schildbach/pte/live/VgsProviderLiveTest.java index c0ee132c..7646689c 100644 --- a/test/de/schildbach/pte/live/VgsProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VgsProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VgsProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VgsProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("8000244", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 8000244), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/VmsProviderLiveTest.java b/test/de/schildbach/pte/live/VmsProviderLiveTest.java index 481b923a..a12a26bb 100644 --- a/test/de/schildbach/pte/live/VmsProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VmsProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VmsProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VmsProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Chemnitz", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 36030062), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class VmsProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 50832754, 12918348, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 50832754, 12918348), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class VmsProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("Chemnitz", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("36030062", 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 d6c984bf..6e4823ff 100644 --- a/test/de/schildbach/pte/live/VmvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VmvProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VmvProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VmvProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("schwerin", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 80001834), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class VmvProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 53637555, 11392593, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 53637555, 11392593), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class VmvProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("6118", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("80001834", 0, false); System.out.println(result.stationDepartures); } diff --git a/test/de/schildbach/pte/live/VorProviderLiveTest.java b/test/de/schildbach/pte/live/VorProviderLiveTest.java index 22da2223..3a3ed53d 100644 --- a/test/de/schildbach/pte/live/VorProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VorProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VorProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VorProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Bad Vöslau", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 60203090), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class VorProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 48207355, 16370602, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 48207355, 16370602), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -68,7 +69,7 @@ public class VorProviderLiveTest @Test public void queryDepartures() throws Exception { - final QueryDeparturesResult result = provider.queryDepartures("Bad Vöslau", 0, false); + final QueryDeparturesResult result = provider.queryDepartures("60203090", 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 8ef640b6..3cb59a4c 100644 --- a/test/de/schildbach/pte/live/VrnProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VrnProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VrnProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -74,9 +75,9 @@ public class VrnProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("6032236", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 6032236), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -84,7 +85,7 @@ public class VrnProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 49486561, 8477297, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 49486561, 8477297), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/VrrProviderLiveTest.java b/test/de/schildbach/pte/live/VrrProviderLiveTest.java index c1831ff3..6316e1ec 100644 --- a/test/de/schildbach/pte/live/VrrProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VrrProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VrrProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -66,9 +67,9 @@ public class VrrProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("20019904", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 20019904), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -76,7 +77,7 @@ public class VrrProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 51218693, 6777785, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 51218693, 6777785), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/VrtProviderLiveTest.java b/test/de/schildbach/pte/live/VrtProviderLiveTest.java index 94fec214..6b21a8ca 100644 --- a/test/de/schildbach/pte/live/VrtProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VrtProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VrtProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VrtProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Trier", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 17001301), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class VrtProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 49757571, 6639147, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 49757571, 6639147), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/VvmProviderLiveTest.java b/test/de/schildbach/pte/live/VvmProviderLiveTest.java index 6449861b..282cbd55 100644 --- a/test/de/schildbach/pte/live/VvmProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VvmProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VvmProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VvmProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Würzburg", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 3000510), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class VvmProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 49455472, 11079655, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 49455472, 11079655), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/VvoProviderLiveTest.java b/test/de/schildbach/pte/live/VvoProviderLiveTest.java index 6ef63333..4a5b2eec 100644 --- a/test/de/schildbach/pte/live/VvoProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VvoProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VvoProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VvoProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("100", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 100), 0, 0); System.out.println(result.status + " " + result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class VvoProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 51052467, 13733196, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 51052467, 13733196), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/VvsProviderLiveTest.java b/test/de/schildbach/pte/live/VvsProviderLiveTest.java index 44ebf693..b8421910 100644 --- a/test/de/schildbach/pte/live/VvsProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VvsProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VvsProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VvsProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("6118", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 6118), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class VvsProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 48775005, 9166517, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 48775005, 9166517), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/VvvProviderLiveTest.java b/test/de/schildbach/pte/live/VvvProviderLiveTest.java index 70c7c2bd..e3f44631 100644 --- a/test/de/schildbach/pte/live/VvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VvvProviderLiveTest.java @@ -23,6 +23,7 @@ import org.junit.Test; import de.schildbach.pte.VvvProvider; import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -50,9 +51,9 @@ public class VvvProviderLiveTest } @Test - public void nearbyStation() throws Exception + public void nearbyStations() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("Innsbruck, Ahornhof", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 60001296), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -60,7 +61,7 @@ public class VvvProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 47271228, 11402063, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 47271228, 11402063), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } diff --git a/test/de/schildbach/pte/live/ZvvProviderLiveTest.java b/test/de/schildbach/pte/live/ZvvProviderLiveTest.java index e355afd5..fe2682dc 100644 --- a/test/de/schildbach/pte/live/ZvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/ZvvProviderLiveTest.java @@ -22,8 +22,8 @@ import java.util.List; import org.junit.Test; -import de.schildbach.pte.ZvvProvider; import de.schildbach.pte.NetworkProvider.WalkSpeed; +import de.schildbach.pte.ZvvProvider; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; @@ -57,7 +57,7 @@ public class ZvvProviderLiveTest @Test public void nearbyStationsByStation() throws Exception { - final NearbyStationsResult result = provider.nearbyStations("183400", 0, 0, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.STATION, 183400), 0, 0); System.out.println(result.stations.size() + " " + result.stations); } @@ -65,7 +65,7 @@ public class ZvvProviderLiveTest @Test public void nearbyStationsByCoordinate() throws Exception { - final NearbyStationsResult result = provider.nearbyStations(null, 47378968, 8540534, 0, 0); + final NearbyStationsResult result = provider.queryNearbyStations(new Location(LocationType.ADDRESS, 47378968, 8540534), 0, 0); System.out.println(result.stations.size() + " " + result.stations); }