diff --git a/src/de/schildbach/pte/AbstractEfaProvider.java b/src/de/schildbach/pte/AbstractEfaProvider.java index 4a16a241..d61ab67d 100644 --- a/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/src/de/schildbach/pte/AbstractEfaProvider.java @@ -63,15 +63,16 @@ import de.schildbach.pte.util.XmlPullUtil; */ public abstract class AbstractEfaProvider implements NetworkProvider { - final XmlPullParserFactory parserFactory; - final String additionalQueryParameter; + private final String apiBase; + private final String additionalQueryParameter; + private final XmlPullParserFactory parserFactory; public AbstractEfaProvider() { - this(null); + this(null, null); } - public AbstractEfaProvider(final String additionalQueryParameter) + public AbstractEfaProvider(final String apiBase, final String additionalQueryParameter) { try { @@ -82,6 +83,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider throw new RuntimeException(x); } + this.apiBase = apiBase; this.additionalQueryParameter = additionalQueryParameter; } @@ -98,7 +100,85 @@ public abstract class AbstractEfaProvider implements NetworkProvider return uri + "&" + additionalQueryParameter; } - protected abstract String autocompleteUri(final CharSequence constraint); + protected List xmlStopfinderRequest(final CharSequence constraint) throws IOException + { + final StringBuilder uri = new StringBuilder(apiBase); + uri.append("XML_STOPFINDER_REQUEST?coordOutputFormat=WGS84&locationServerActive=1&name_sf="); + uri.append(ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + uri.append("&type_sf=any&SpEncId=0"); + uri.append("&anyObjFilter_sf=126"); // 1=place 2=stop 4=street 8=address 16=crossing 32=poi 64=postcode + uri.append("&reducedAnyPostcodeObjFilter_sf=64&reducedAnyTooManyObjFilter_sf=2&useHouseNumberList=true®ionID_sf=1"); + if (additionalQueryParameter != null) + uri.append('&').append(additionalQueryParameter); + + InputStream is = null; + try + { + is = ParserUtils.scrapeInputStream(uri.toString()); + + final XmlPullParser pp = parserFactory.newPullParser(); + pp.setInput(is, null); + assertItdRequest(pp); + + XmlPullUtil.enter(pp, "itdRequest"); + + if (XmlPullUtil.test(pp, "clientHeaderLines")) + XmlPullUtil.next(pp); + + if (XmlPullUtil.test(pp, "itdVersionInfo")) + XmlPullUtil.next(pp); + + if (XmlPullUtil.test(pp, "itdInfoLinkList")) + XmlPullUtil.next(pp); + + if (XmlPullUtil.test(pp, "serverMetaInfo")) + XmlPullUtil.next(pp); + + final List results = new ArrayList(); + + XmlPullUtil.enter(pp, "itdStopFinderRequest"); + + XmlPullUtil.require(pp, "itdOdv"); + if (!"sf".equals(pp.getAttributeValue(null, "usage"))) + throw new IllegalStateException("cannot find "); + XmlPullUtil.enter(pp, "itdOdv"); + + XmlPullUtil.require(pp, "itdOdvPlace"); + XmlPullUtil.next(pp); + + XmlPullUtil.enter(pp, "itdOdvName"); + + if (XmlPullUtil.test(pp, "itdMessage")) + XmlPullUtil.next(pp); + + while (XmlPullUtil.test(pp, "odvNameElem")) + results.add(processOdvNameElem(pp, null)); + + XmlPullUtil.exit(pp, "itdOdvName"); + + XmlPullUtil.exit(pp, "itdOdv"); + + XmlPullUtil.exit(pp, "itdStopFinderRequest"); + + return results; + } + catch (final XmlPullParserException x) + { + throw new ParserException(x); + } + finally + { + if (is != null) + is.close(); + } + } + + private String autocompleteUri(final CharSequence constraint) + { + final String AUTOCOMPLETE_URI = apiBase + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&type_origin=any&name_origin=%s"; + + return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + } public List autocompleteStations(final CharSequence constraint) throws IOException { diff --git a/src/de/schildbach/pte/AtcProvider.java b/src/de/schildbach/pte/AtcProvider.java index 3b7579a1..13381a70 100644 --- a/src/de/schildbach/pte/AtcProvider.java +++ b/src/de/schildbach/pte/AtcProvider.java @@ -32,6 +32,11 @@ public class AtcProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.ATC; private final static String API_BASE = "http://tpweb.atc.bo.it/atc2/"; + public AtcProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,15 +51,6 @@ public class AtcProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/AvvProvider.java b/src/de/schildbach/pte/AvvProvider.java index 8a72c467..bf5f1f39 100644 --- a/src/de/schildbach/pte/AvvProvider.java +++ b/src/de/schildbach/pte/AvvProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -33,6 +35,11 @@ public class AvvProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "efa.avv-augsburg.de"; private final static String API_BASE = "http://efa.avv-augsburg.de/avv/"; + public AvvProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -47,13 +54,10 @@ public class AvvProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/BsagProvider.java b/src/de/schildbach/pte/BsagProvider.java index 0bc22ea7..a6e954b9 100644 --- a/src/de/schildbach/pte/BsagProvider.java +++ b/src/de/schildbach/pte/BsagProvider.java @@ -32,6 +32,11 @@ public class BsagProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.BSAG; private final static String API_BASE = "http://62.206.133.180/bsag/"; + public BsagProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,15 +51,6 @@ public class BsagProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/BsvagProvider.java b/src/de/schildbach/pte/BsvagProvider.java index 25bb1cd9..9736660a 100644 --- a/src/de/schildbach/pte/BsvagProvider.java +++ b/src/de/schildbach/pte/BsvagProvider.java @@ -33,6 +33,11 @@ public class BsvagProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "212.68.73.240"; private final static String API_BASE = "http://212.68.73.240/bsvag/"; + public BsvagProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -47,15 +52,6 @@ public class BsvagProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/BvbProvider.java b/src/de/schildbach/pte/BvbProvider.java index ea19a15a..2f283a9f 100644 --- a/src/de/schildbach/pte/BvbProvider.java +++ b/src/de/schildbach/pte/BvbProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -33,6 +35,11 @@ public class BvbProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "www.efa-bvb.ch"; private final static String API_BASE = "http://www.efa-bvb.ch/bvb/"; + public BvbProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -47,13 +54,10 @@ public class BvbProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/DingProvider.java b/src/de/schildbach/pte/DingProvider.java index f85436d6..94b24d44 100644 --- a/src/de/schildbach/pte/DingProvider.java +++ b/src/de/schildbach/pte/DingProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -33,6 +35,11 @@ public class DingProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "www.ding-ulm.de"; private final static String API_BASE = "http://www.ding-ulm.de/ding2/"; // http://www.ding.eu/swu + public DingProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -47,13 +54,10 @@ public class DingProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/DubProvider.java b/src/de/schildbach/pte/DubProvider.java index e92abc6c..62878a0f 100644 --- a/src/de/schildbach/pte/DubProvider.java +++ b/src/de/schildbach/pte/DubProvider.java @@ -34,6 +34,11 @@ public class DubProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "wojhati.rta.ae"; private final static String API_BASE = "http://wojhati.rta.ae/dub/"; + public DubProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -54,15 +59,6 @@ public class DubProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/GvhProvider.java b/src/de/schildbach/pte/GvhProvider.java index 093dc47e..301cd15c 100644 --- a/src/de/schildbach/pte/GvhProvider.java +++ b/src/de/schildbach/pte/GvhProvider.java @@ -17,10 +17,12 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; import de.schildbach.pte.dto.Location; @@ -38,7 +40,7 @@ public class GvhProvider extends AbstractEfaProvider public GvhProvider(final String additionalQueryParameter) { - super(additionalQueryParameter); + super(API_BASE, additionalQueryParameter); } public NetworkId id() @@ -55,13 +57,10 @@ public class GvhProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } private static final String NEARBY_STATION_URI = API_BASE diff --git a/src/de/schildbach/pte/IvbProvider.java b/src/de/schildbach/pte/IvbProvider.java index cc05a290..47ef58e7 100644 --- a/src/de/schildbach/pte/IvbProvider.java +++ b/src/de/schildbach/pte/IvbProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -33,6 +35,11 @@ public class IvbProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "efa.ivb.at"; private final static String API_BASE = "http://efa.ivb.at/ivb/"; + public IvbProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -47,13 +54,10 @@ public class IvbProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/KvvProvider.java b/src/de/schildbach/pte/KvvProvider.java index 414f0ac4..6116225a 100644 --- a/src/de/schildbach/pte/KvvProvider.java +++ b/src/de/schildbach/pte/KvvProvider.java @@ -16,9 +16,11 @@ */ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -32,6 +34,11 @@ public class KvvProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "213.144.24.66"; private final static String API_BASE = "http://213.144.24.66/kvv/"; + public KvvProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,13 +53,10 @@ public class KvvProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/LinzProvider.java b/src/de/schildbach/pte/LinzProvider.java index 143e815c..364ec46c 100644 --- a/src/de/schildbach/pte/LinzProvider.java +++ b/src/de/schildbach/pte/LinzProvider.java @@ -34,6 +34,11 @@ public class LinzProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "www.linzag.at"; public static final String API_BASE = "http://www.linzag.at/linz/"; + public LinzProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -48,15 +53,6 @@ public class LinzProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - private static final String NEARBY_LATLON_URI = API_BASE + "XSLT_DM_REQUEST" + "?outputFormat=XML&mode=direct&coordOutputFormat=WGS84&mergeDep=1&useAllStops=1&name_dm=%2.6f:%2.6f:WGS84&type_dm=coord&itOptionsActive=1&ptOptionsActive=1&useProxFootSearch=1&excludedMeans=checkbox"; diff --git a/src/de/schildbach/pte/MariborProvider.java b/src/de/schildbach/pte/MariborProvider.java index 05a9e319..0a834c92 100644 --- a/src/de/schildbach/pte/MariborProvider.java +++ b/src/de/schildbach/pte/MariborProvider.java @@ -32,6 +32,11 @@ public class MariborProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "164.8.32.183"; private final static String API_BASE = "http://164.8.32.183/slo/"; + public MariborProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,15 +51,6 @@ public class MariborProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/MetProvider.java b/src/de/schildbach/pte/MetProvider.java index cf454ba0..9a9ec78e 100644 --- a/src/de/schildbach/pte/MetProvider.java +++ b/src/de/schildbach/pte/MetProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import java.util.TimeZone; import de.schildbach.pte.dto.Location; @@ -33,6 +35,11 @@ public class MetProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.MET; private final static String API_BASE = "http://jp.metlinkmelbourne.com.au/metlink/"; + public MetProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -53,13 +60,10 @@ public class MetProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/MvvProvider.java b/src/de/schildbach/pte/MvvProvider.java index ee4dbf5d..caad1d06 100644 --- a/src/de/schildbach/pte/MvvProvider.java +++ b/src/de/schildbach/pte/MvvProvider.java @@ -17,10 +17,12 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; import de.schildbach.pte.dto.Location; @@ -36,6 +38,11 @@ public class MvvProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "efa.mvv-muenchen.de"; private static final String API_BASE = "http://efa.mvv-muenchen.de/mobile/"; + public MvvProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -50,13 +57,10 @@ public class MvvProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/NaldoProvider.java b/src/de/schildbach/pte/NaldoProvider.java index 365cee9d..e8d9873d 100644 --- a/src/de/schildbach/pte/NaldoProvider.java +++ b/src/de/schildbach/pte/NaldoProvider.java @@ -32,6 +32,11 @@ public class NaldoProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "efa.naldo.de"; private final static String API_BASE = "http://efa.naldo.de/naldo/"; + public NaldoProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,15 +51,6 @@ public class NaldoProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/NvbwProvider.java b/src/de/schildbach/pte/NvbwProvider.java index 8a64c190..b162720c 100644 --- a/src/de/schildbach/pte/NvbwProvider.java +++ b/src/de/schildbach/pte/NvbwProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -32,6 +34,11 @@ public class NvbwProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.NVBW; private final static String API_BASE = "http://www.efa-bw.de/nvbw/"; + public NvbwProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,13 +53,10 @@ public class NvbwProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/SfProvider.java b/src/de/schildbach/pte/SfProvider.java index 5de4d05e..525de02a 100644 --- a/src/de/schildbach/pte/SfProvider.java +++ b/src/de/schildbach/pte/SfProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import java.util.TimeZone; import de.schildbach.pte.dto.Location; @@ -33,6 +35,11 @@ public class SfProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.SF; private final static String API_BASE = "http://tripplanner.transit.511.org/mtc/"; + public SfProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -68,13 +75,10 @@ public class SfProvider extends AbstractEfaProvider return super.parseLine(mot, name, longName, noTrainName); } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/StvProvider.java b/src/de/schildbach/pte/StvProvider.java index 3484ba25..6a69544b 100644 --- a/src/de/schildbach/pte/StvProvider.java +++ b/src/de/schildbach/pte/StvProvider.java @@ -32,6 +32,11 @@ public class StvProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "fahrplan.verbundlinie.at"; private final static String API_BASE = "http://fahrplan.verbundlinie.at/stv/"; + public StvProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,15 +51,6 @@ public class StvProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/SvvProvider.java b/src/de/schildbach/pte/SvvProvider.java index 901a6161..9e619c7f 100644 --- a/src/de/schildbach/pte/SvvProvider.java +++ b/src/de/schildbach/pte/SvvProvider.java @@ -32,6 +32,11 @@ public class SvvProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "efa.svv-info.at"; private final static String API_BASE = "http://efa.svv-info.at/svv/"; + public SvvProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,15 +51,6 @@ public class SvvProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/SydneyProvider.java b/src/de/schildbach/pte/SydneyProvider.java index 06e57de0..8adaf97e 100644 --- a/src/de/schildbach/pte/SydneyProvider.java +++ b/src/de/schildbach/pte/SydneyProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import java.util.TimeZone; import de.schildbach.pte.dto.Location; @@ -33,6 +35,11 @@ public class SydneyProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.SYDNEY; private final static String API_BASE = "http://mobile.131500.com.au/TripPlanner/mobile/"; + public SydneyProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -53,13 +60,10 @@ public class SydneyProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/TflProvider.java b/src/de/schildbach/pte/TflProvider.java index 08760ec5..15605704 100644 --- a/src/de/schildbach/pte/TflProvider.java +++ b/src/de/schildbach/pte/TflProvider.java @@ -17,10 +17,12 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.TimeZone; @@ -37,6 +39,11 @@ public class TflProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "journeyplanner.tfl.gov.uk"; private static final String API_BASE = "http://journeyplanner.tfl.gov.uk/user/"; + public TflProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -57,13 +64,10 @@ public class TflProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } private static final String NEARBY_STATION_URI = API_BASE diff --git a/src/de/schildbach/pte/TleaProvider.java b/src/de/schildbach/pte/TleaProvider.java index 46972b45..19d83355 100644 --- a/src/de/schildbach/pte/TleaProvider.java +++ b/src/de/schildbach/pte/TleaProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import java.util.TimeZone; import de.schildbach.pte.dto.Location; @@ -34,6 +36,11 @@ public class TleaProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "www.travelineeastanglia.org.uk"; private final static String API_BASE = "http://www.travelineeastanglia.org.uk/ea/"; + public TleaProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -54,13 +61,10 @@ public class TleaProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/TlemProvider.java b/src/de/schildbach/pte/TlemProvider.java index e5288fea..542b54d8 100644 --- a/src/de/schildbach/pte/TlemProvider.java +++ b/src/de/schildbach/pte/TlemProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import java.util.TimeZone; import de.schildbach.pte.dto.Location; @@ -34,6 +36,11 @@ public class TlemProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "www.travelineeastmidlands.co.uk"; private final static String API_BASE = "http://www.travelineeastmidlands.co.uk/em/"; + public TlemProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -54,13 +61,10 @@ public class TlemProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/TlseProvider.java b/src/de/schildbach/pte/TlseProvider.java index f4a48862..e9d3e1db 100644 --- a/src/de/schildbach/pte/TlseProvider.java +++ b/src/de/schildbach/pte/TlseProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import java.util.TimeZone; import de.schildbach.pte.dto.Location; @@ -34,6 +36,11 @@ public class TlseProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "www.travelinesoutheast.org.uk"; private final static String API_BASE = "http://www.travelinesoutheast.org.uk/se/"; + public TlseProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -54,13 +61,10 @@ public class TlseProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/TlswProvider.java b/src/de/schildbach/pte/TlswProvider.java index 01309767..fd14e5ed 100644 --- a/src/de/schildbach/pte/TlswProvider.java +++ b/src/de/schildbach/pte/TlswProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import java.util.TimeZone; import de.schildbach.pte.dto.Location; @@ -33,6 +35,11 @@ public class TlswProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.TLSW; private final static String API_BASE = "http://www.travelinesw.com/swe/"; + public TlswProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -53,13 +60,10 @@ public class TlswProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/VagfrProvider.java b/src/de/schildbach/pte/VagfrProvider.java index 9f23fd2b..2a126245 100644 --- a/src/de/schildbach/pte/VagfrProvider.java +++ b/src/de/schildbach/pte/VagfrProvider.java @@ -32,6 +32,11 @@ public class VagfrProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.VAGFR; private final static String API_BASE = "http://efa.vag-freiburg.de/vagfr/"; + public VagfrProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,15 +51,6 @@ public class VagfrProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/VblProvider.java b/src/de/schildbach/pte/VblProvider.java index 8bca5032..be3984f4 100644 --- a/src/de/schildbach/pte/VblProvider.java +++ b/src/de/schildbach/pte/VblProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -32,6 +34,11 @@ public class VblProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.VBL; private final static String API_BASE = "http://mobil.vbl.ch/vblmobil/"; + public VblProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,13 +53,10 @@ public class VblProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/VmsProvider.java b/src/de/schildbach/pte/VmsProvider.java index f8e83777..7d175185 100644 --- a/src/de/schildbach/pte/VmsProvider.java +++ b/src/de/schildbach/pte/VmsProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -33,6 +35,11 @@ public class VmsProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "www.vms-aktuell.de"; private static final String API_BASE = "http://www.vms-aktuell.de/vms/"; + public VmsProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -47,13 +54,10 @@ public class VmsProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/VmvProvider.java b/src/de/schildbach/pte/VmvProvider.java index e0efbe0c..0e412fe2 100644 --- a/src/de/schildbach/pte/VmvProvider.java +++ b/src/de/schildbach/pte/VmvProvider.java @@ -34,6 +34,11 @@ public class VmvProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "80.146.180.107"; private static final String API_BASE = "http://80.146.180.107/delfi/"; // http://80.146.180.107/vmv/ + public VmvProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -48,15 +53,6 @@ public class VmvProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/VorProvider.java b/src/de/schildbach/pte/VorProvider.java index 02712def..1d904f62 100644 --- a/src/de/schildbach/pte/VorProvider.java +++ b/src/de/schildbach/pte/VorProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -33,6 +35,11 @@ public class VorProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "efa.vor.at"; private final static String API_BASE = "http://efa.vor.at/wvb/"; + public VorProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -47,13 +54,10 @@ public class VorProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/VrnProvider.java b/src/de/schildbach/pte/VrnProvider.java index df08bbfb..ff1ea0ae 100644 --- a/src/de/schildbach/pte/VrnProvider.java +++ b/src/de/schildbach/pte/VrnProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -33,6 +35,11 @@ public class VrnProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "fahrplanauskunft.vrn.de"; private static final String API_BASE = "http://fahrplanauskunft.vrn.de/vrn_mobile/"; + public VrnProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -47,13 +54,10 @@ public class VrnProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/VrrProvider.java b/src/de/schildbach/pte/VrrProvider.java index ecc37059..05c93632 100644 --- a/src/de/schildbach/pte/VrrProvider.java +++ b/src/de/schildbach/pte/VrrProvider.java @@ -17,10 +17,12 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Locale; import java.util.Map; @@ -35,8 +37,12 @@ public class VrrProvider extends AbstractEfaProvider { public static final NetworkId NETWORK_ID = NetworkId.VRR; public static final String OLD_NETWORK_ID = "efa3.vrr.de"; - // private static final String API_BASE = "http://efa3.vrr.de/vrr_mobile/"; - private static final String API_BASE = "http://efa.vrr.de/standard/"; + private static final String API_BASE = "http://app.vrr.de/standard/"; + + public VrrProvider() + { + super(API_BASE, null); + } public NetworkId id() { @@ -52,13 +58,10 @@ public class VrrProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } private static final String NEARBY_LATLON_URI = API_BASE diff --git a/src/de/schildbach/pte/VrtProvider.java b/src/de/schildbach/pte/VrtProvider.java index d9dac34a..42be7906 100644 --- a/src/de/schildbach/pte/VrtProvider.java +++ b/src/de/schildbach/pte/VrtProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -32,6 +34,11 @@ public class VrtProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.VRT; private final static String API_BASE = "http://efa9.vrn.de/vrt/"; + public VrtProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,13 +53,10 @@ public class VrtProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/VvmProvider.java b/src/de/schildbach/pte/VvmProvider.java index fc4d9481..1a2a8d87 100644 --- a/src/de/schildbach/pte/VvmProvider.java +++ b/src/de/schildbach/pte/VvmProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.util.ParserUtils; @@ -32,6 +34,11 @@ public class VvmProvider extends AbstractEfaProvider public static final NetworkId NETWORK_ID = NetworkId.VVM; private final static String API_BASE = "http://efa.mobilitaetsverbund.de/web/"; + public VvmProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -46,13 +53,10 @@ public class VvmProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&locationServerActive=1&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/src/de/schildbach/pte/VvoProvider.java b/src/de/schildbach/pte/VvoProvider.java index 6c780ea4..a6f2c617 100644 --- a/src/de/schildbach/pte/VvoProvider.java +++ b/src/de/schildbach/pte/VvoProvider.java @@ -33,6 +33,11 @@ public class VvoProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "efa.vvo-online.de"; private final static String API_BASE = "http://efa.vvo-online.de:8080/dvb/"; + public VvoProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -47,15 +52,6 @@ public class VvoProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&type_origin=any&name_origin=%s"; - - @Override - protected String autocompleteUri(final CharSequence constraint) - { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); - } - @Override protected String nearbyLatLonUri(final int lat, final int lon) { diff --git a/src/de/schildbach/pte/VvsProvider.java b/src/de/schildbach/pte/VvsProvider.java index ff454410..16c86bc3 100644 --- a/src/de/schildbach/pte/VvsProvider.java +++ b/src/de/schildbach/pte/VvsProvider.java @@ -17,9 +17,11 @@ package de.schildbach.pte; +import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; @@ -34,6 +36,11 @@ public class VvsProvider extends AbstractEfaProvider public static final String OLD_NETWORK_ID = "mobil.vvs.de"; private static final String API_BASE = "http://mobil.vvs.de/mobile/"; // http://www2.vvs.de/vvs/ + public VvsProvider() + { + super(API_BASE, null); + } + public NetworkId id() { return NETWORK_ID; @@ -48,13 +55,10 @@ public class VvsProvider extends AbstractEfaProvider return false; } - private static final String AUTOCOMPLETE_URI = API_BASE - + "XSLT_TRIP_REQUEST2?outputFormat=XML&coordOutputFormat=WGS84&type_origin=any&name_origin=%s"; - @Override - protected String autocompleteUri(final CharSequence constraint) + public List autocompleteStations(final CharSequence constraint) throws IOException { - return String.format(AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), "ISO-8859-1")); + return xmlStopfinderRequest(constraint); } @Override diff --git a/test/de/schildbach/pte/live/AtcProviderLiveTest.java b/test/de/schildbach/pte/live/AtcProviderLiveTest.java index 37faa18d..ee9aeb9c 100644 --- a/test/de/schildbach/pte/live/AtcProviderLiveTest.java +++ b/test/de/schildbach/pte/live/AtcProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.AtcProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class AtcProviderLiveTest { private final AtcProvider provider = new AtcProvider(); + @Test + public void autocomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Bologna"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/AvvProviderLiveTest.java b/test/de/schildbach/pte/live/AvvProviderLiveTest.java index 39c3d4a0..4225d8c5 100644 --- a/test/de/schildbach/pte/live/AvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/AvvProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.AvvProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class AvvProviderLiveTest { private final AvvProvider provider = new AvvProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/BsagProviderLiveTest.java b/test/de/schildbach/pte/live/BsagProviderLiveTest.java index 0c5c8fc3..d32cb58b 100644 --- a/test/de/schildbach/pte/live/BsagProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BsagProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.BsagProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; /** @@ -29,6 +32,22 @@ public class BsagProviderLiveTest { private final BsagProvider provider = new BsagProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/BsvagProviderLiveTest.java b/test/de/schildbach/pte/live/BsvagProviderLiveTest.java new file mode 100644 index 00000000..326d35e4 --- /dev/null +++ b/test/de/schildbach/pte/live/BsvagProviderLiveTest.java @@ -0,0 +1,58 @@ +/* + * Copyright 2010, 2011 the original author or authors. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package de.schildbach.pte.live; + +import java.util.List; + +import org.junit.Test; + +import de.schildbach.pte.BsvagProvider; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.NearbyStationsResult; + +/** + * @author Andreas Schildbach + */ +public class BsvagProviderLiveTest +{ + private final BsvagProvider provider = new BsvagProvider(); + + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + + @Test + public void nearbyStation() throws Exception + { + final NearbyStationsResult result = provider.nearbyStations("Braunschweig", 0, 0, 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 e552c623..7f3d783f 100644 --- a/test/de/schildbach/pte/live/BvbProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BvbProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.BvbProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class BvbProviderLiveTest { private final BvbProvider provider = new BvbProvider(); + @Test + public void autocomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Basel"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/DingProviderLiveTest.java b/test/de/schildbach/pte/live/DingProviderLiveTest.java index b3f29184..e0d1aa5d 100644 --- a/test/de/schildbach/pte/live/DingProviderLiveTest.java +++ b/test/de/schildbach/pte/live/DingProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.DingProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class DingProviderLiveTest { private final DingProvider provider = new DingProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/DubProviderLiveTest.java b/test/de/schildbach/pte/live/DubProviderLiveTest.java new file mode 100644 index 00000000..5d84192e --- /dev/null +++ b/test/de/schildbach/pte/live/DubProviderLiveTest.java @@ -0,0 +1,49 @@ +/* + * Copyright 2010, 2011 the original author or authors. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package de.schildbach.pte.live; + +import java.util.List; + +import org.junit.Test; + +import de.schildbach.pte.DubProvider; +import de.schildbach.pte.dto.Location; + +/** + * @author Andreas Schildbach + */ +public class DubProviderLiveTest +{ + private final DubProvider provider = new DubProvider(); + + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Airport"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } +} diff --git a/test/de/schildbach/pte/live/IvbProviderLiveTest.java b/test/de/schildbach/pte/live/IvbProviderLiveTest.java new file mode 100644 index 00000000..a378d541 --- /dev/null +++ b/test/de/schildbach/pte/live/IvbProviderLiveTest.java @@ -0,0 +1,67 @@ +/* + * Copyright 2010, 2011 the original author or authors. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package de.schildbach.pte.live; + +import java.util.List; + +import org.junit.Test; + +import de.schildbach.pte.IvbProvider; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.NearbyStationsResult; +import de.schildbach.pte.dto.QueryDeparturesResult; + +/** + * @author Andreas Schildbach + */ +public class IvbProviderLiveTest +{ + private final IvbProvider provider = new IvbProvider(); + + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + + @Test + public void nearbyStation() throws Exception + { + final NearbyStationsResult result = provider.nearbyStations("Innsbruck", 0, 0, 0, 0); + + System.out.println(result.stations.size() + " " + result.stations); + } + + @Test + public void queryDepartures() throws Exception + { + final QueryDeparturesResult result = provider.queryDepartures("60464209", 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 3a25ee89..15a236d3 100644 --- a/test/de/schildbach/pte/live/KvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/KvvProviderLiveTest.java @@ -18,6 +18,7 @@ package de.schildbach.pte.live; import java.util.Date; +import java.util.List; import org.junit.Test; @@ -37,6 +38,22 @@ public class KvvProviderLiveTest private final KvvProvider provider = new KvvProvider(); private static final String ALL_PRODUCTS = "IRSUTBFC"; + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/MariborProviderLiveTest.java b/test/de/schildbach/pte/live/MariborProviderLiveTest.java index 40a2e6c9..82b3bd5f 100644 --- a/test/de/schildbach/pte/live/MariborProviderLiveTest.java +++ b/test/de/schildbach/pte/live/MariborProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.MariborProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class MariborProviderLiveTest { private final MariborProvider provider = new MariborProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/MetProviderLiveTest.java b/test/de/schildbach/pte/live/MetProviderLiveTest.java index 4ada3b26..9bcfde51 100644 --- a/test/de/schildbach/pte/live/MetProviderLiveTest.java +++ b/test/de/schildbach/pte/live/MetProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.MetProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class MetProviderLiveTest { private final MetProvider provider = new MetProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/NaldoProviderLiveTest.java b/test/de/schildbach/pte/live/NaldoProviderLiveTest.java index d929c2d6..28f88d6c 100644 --- a/test/de/schildbach/pte/live/NaldoProviderLiveTest.java +++ b/test/de/schildbach/pte/live/NaldoProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.NaldoProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class NaldoProviderLiveTest { private final NaldoProvider provider = new NaldoProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/NvbwProviderLiveTest.java b/test/de/schildbach/pte/live/NvbwProviderLiveTest.java index 0822258a..eb4b4b79 100644 --- a/test/de/schildbach/pte/live/NvbwProviderLiveTest.java +++ b/test/de/schildbach/pte/live/NvbwProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.NvbwProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class NvbwProviderLiveTest { private final NvbwProvider provider = new NvbwProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { @@ -37,7 +56,7 @@ public class NvbwProviderLiveTest System.out.println(result.stations.size() + " " + result.stations); } - + @Test public void queryDepartures() throws Exception { diff --git a/test/de/schildbach/pte/live/SfProviderLiveTest.java b/test/de/schildbach/pte/live/SfProviderLiveTest.java index d54635a1..ab91630d 100644 --- a/test/de/schildbach/pte/live/SfProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SfProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.SfProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class SfProviderLiveTest { private final SfProvider provider = new SfProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/StvProviderLiveTest.java b/test/de/schildbach/pte/live/StvProviderLiveTest.java index 754b075c..ee90d791 100644 --- a/test/de/schildbach/pte/live/StvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/StvProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.StvProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class StvProviderLiveTest { private final StvProvider provider = new StvProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/SvvProviderLiveTest.java b/test/de/schildbach/pte/live/SvvProviderLiveTest.java index b9dcbbae..6cf20e16 100644 --- a/test/de/schildbach/pte/live/SvvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SvvProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.SvvProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class SvvProviderLiveTest { private final SvvProvider provider = new SvvProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/SydneyProviderLiveTest.java b/test/de/schildbach/pte/live/SydneyProviderLiveTest.java index 71adb1f3..e879d176 100644 --- a/test/de/schildbach/pte/live/SydneyProviderLiveTest.java +++ b/test/de/schildbach/pte/live/SydneyProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.SydneyProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class SydneyProviderLiveTest { private final SydneyProvider provider = new SydneyProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/TflProviderLiveTest.java b/test/de/schildbach/pte/live/TflProviderLiveTest.java index e48ee2ac..59635132 100644 --- a/test/de/schildbach/pte/live/TflProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TflProviderLiveTest.java @@ -18,11 +18,12 @@ package de.schildbach.pte.live; import java.util.Date; +import java.util.List; import org.junit.Test; -import de.schildbach.pte.TflProvider; import de.schildbach.pte.NetworkProvider.WalkSpeed; +import de.schildbach.pte.TflProvider; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.NearbyStationsResult; @@ -37,6 +38,22 @@ public class TflProviderLiveTest private final TflProvider provider = new TflProvider(); private static final String ALL_PRODUCTS = "IRSUTBFC"; + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/TleaProviderLiveTest.java b/test/de/schildbach/pte/live/TleaProviderLiveTest.java new file mode 100644 index 00000000..b5f7ee98 --- /dev/null +++ b/test/de/schildbach/pte/live/TleaProviderLiveTest.java @@ -0,0 +1,67 @@ +/* + * Copyright 2010, 2011 the original author or authors. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package de.schildbach.pte.live; + +import java.util.List; + +import org.junit.Test; + +import de.schildbach.pte.TleaProvider; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.NearbyStationsResult; +import de.schildbach.pte.dto.QueryDeparturesResult; + +/** + * @author Andreas Schildbach + */ +public class TleaProviderLiveTest +{ + private final TleaProvider provider = new TleaProvider(); + + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + + @Test + public void nearbyStation() throws Exception + { + final NearbyStationsResult result = provider.nearbyStations("London", 0, 0, 0, 0); + + System.out.println(result.stations.size() + " " + result.stations); + } + + @Test + public void queryDepartures() throws Exception + { + final QueryDeparturesResult result = provider.queryDepartures("London", 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 d8198826..ce6ffaf6 100644 --- a/test/de/schildbach/pte/live/TlemProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TlemProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.TlemProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class TlemProviderLiveTest { private final TlemProvider provider = new TlemProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/TlseProviderLiveTest.java b/test/de/schildbach/pte/live/TlseProviderLiveTest.java new file mode 100644 index 00000000..90b2ebbe --- /dev/null +++ b/test/de/schildbach/pte/live/TlseProviderLiveTest.java @@ -0,0 +1,67 @@ +/* + * Copyright 2010, 2011 the original author or authors. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package de.schildbach.pte.live; + +import java.util.List; + +import org.junit.Test; + +import de.schildbach.pte.TlseProvider; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.NearbyStationsResult; +import de.schildbach.pte.dto.QueryDeparturesResult; + +/** + * @author Andreas Schildbach + */ +public class TlseProviderLiveTest +{ + private final TlseProvider provider = new TlseProvider(); + + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + + @Test + public void nearbyStation() throws Exception + { + final NearbyStationsResult result = provider.nearbyStations("London", 0, 0, 0, 0); + + System.out.println(result.stations.size() + " " + result.stations); + } + + @Test + public void queryDepartures() throws Exception + { + final QueryDeparturesResult result = provider.queryDepartures("London", 0, false); + + System.out.println(result.stationDepartures); + } +} diff --git a/test/de/schildbach/pte/live/TlswProviderLiveTest.java b/test/de/schildbach/pte/live/TlswProviderLiveTest.java index 88b84610..7635edc0 100644 --- a/test/de/schildbach/pte/live/TlswProviderLiveTest.java +++ b/test/de/schildbach/pte/live/TlswProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.TlswProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class TlswProviderLiveTest { private final TlswProvider provider = new TlswProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/VagfrProviderLiveTest.java b/test/de/schildbach/pte/live/VagfrProviderLiveTest.java index fe654f41..3d02b127 100644 --- a/test/de/schildbach/pte/live/VagfrProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VagfrProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.VagfrProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class VagfrProviderLiveTest { private final VagfrProvider provider = new VagfrProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/VblProviderLiveTest.java b/test/de/schildbach/pte/live/VblProviderLiveTest.java index d5e79bb7..44ef667a 100644 --- a/test/de/schildbach/pte/live/VblProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VblProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.VblProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class VblProviderLiveTest { private final VblProvider provider = new VblProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/VmsProviderLiveTest.java b/test/de/schildbach/pte/live/VmsProviderLiveTest.java index 6b9a039b..3eafeec1 100644 --- a/test/de/schildbach/pte/live/VmsProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VmsProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.VmsProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class VmsProviderLiveTest { private final VmsProvider provider = new VmsProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/VmvProviderLiveTest.java b/test/de/schildbach/pte/live/VmvProviderLiveTest.java index 685ac7b2..a659590a 100644 --- a/test/de/schildbach/pte/live/VmvProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VmvProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.VmvProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class VmvProviderLiveTest { private final VmvProvider provider = new VmvProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/VorProviderLiveTest.java b/test/de/schildbach/pte/live/VorProviderLiveTest.java new file mode 100644 index 00000000..fffbb816 --- /dev/null +++ b/test/de/schildbach/pte/live/VorProviderLiveTest.java @@ -0,0 +1,67 @@ +/* + * Copyright 2010, 2011 the original author or authors. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package de.schildbach.pte.live; + +import java.util.List; + +import org.junit.Test; + +import de.schildbach.pte.VorProvider; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.NearbyStationsResult; +import de.schildbach.pte.dto.QueryDeparturesResult; + +/** + * @author Andreas Schildbach + */ +public class VorProviderLiveTest +{ + private final VorProvider provider = new VorProvider(); + + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + + @Test + public void nearbyStation() throws Exception + { + final NearbyStationsResult result = provider.nearbyStations("Bad Vöslau", 0, 0, 0, 0); + + System.out.println(result.stations.size() + " " + result.stations); + } + + @Test + public void queryDepartures() throws Exception + { + final QueryDeparturesResult result = provider.queryDepartures("Bad Vöslau", 0, false); + + System.out.println(result.stationDepartures); + } +} diff --git a/test/de/schildbach/pte/live/VrtProviderLiveTest.java b/test/de/schildbach/pte/live/VrtProviderLiveTest.java index 92034796..1d714910 100644 --- a/test/de/schildbach/pte/live/VrtProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VrtProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.VrtProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class VrtProviderLiveTest { private final VrtProvider provider = new VrtProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/VvmProviderLiveTest.java b/test/de/schildbach/pte/live/VvmProviderLiveTest.java index b215ab22..de6045c3 100644 --- a/test/de/schildbach/pte/live/VvmProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VvmProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.VvmProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class VvmProviderLiveTest { private final VvmProvider provider = new VvmProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/VvoProviderLiveTest.java b/test/de/schildbach/pte/live/VvoProviderLiveTest.java index 566ed377..c21c5292 100644 --- a/test/de/schildbach/pte/live/VvoProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VvoProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.VvoProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class VvoProviderLiveTest { private final VvoProvider provider = new VvoProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception { diff --git a/test/de/schildbach/pte/live/VvsProviderLiveTest.java b/test/de/schildbach/pte/live/VvsProviderLiveTest.java index 2b0e8c0a..d3ba7146 100644 --- a/test/de/schildbach/pte/live/VvsProviderLiveTest.java +++ b/test/de/schildbach/pte/live/VvsProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.VvsProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,6 +33,22 @@ public class VvsProviderLiveTest { private final VvsProvider provider = new VvsProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("Kur"); + + list(autocompletes); + } + + private void list(final List autocompletes) + { + System.out.print(autocompletes.size() + " "); + for (final Location autocomplete : autocompletes) + System.out.print(autocomplete.toDebugString() + " "); + System.out.println(); + } + @Test public void nearbyStation() throws Exception {