diff --git a/src/de/schildbach/pte/BvgProvider.java b/src/de/schildbach/pte/BvgProvider.java index 1b75a729..fe572832 100644 --- a/src/de/schildbach/pte/BvgProvider.java +++ b/src/de/schildbach/pte/BvgProvider.java @@ -78,7 +78,7 @@ public final class BvgProvider extends AbstractHafasProvider return true; } - private static final String AUTOCOMPLETE_NAME_URL = "http://mobil.bvg.de/Fahrinfo/bin/stboard.bin/dox/dox?input="; + private static final String AUTOCOMPLETE_NAME_URL = "http://mobil.bvg.de/Fahrinfo/bin/stboard.bin/dox/dox?input=%s"; private static final Pattern P_SINGLE_NAME = Pattern.compile(".*?Haltestelleninfo.*?(.*?).*?input=(\\d+)&.*?", Pattern.DOTALL); private static final Pattern P_MULTI_NAME = Pattern.compile("\\s*(.*?)\\s*", Pattern.DOTALL); @@ -88,7 +88,8 @@ public final class BvgProvider extends AbstractHafasProvider { final List results = new ArrayList(); - final CharSequence page = ParserUtils.scrape(AUTOCOMPLETE_NAME_URL + ParserUtils.urlEncode(constraint.toString())); + final String uri = String.format(AUTOCOMPLETE_NAME_URL, ParserUtils.urlEncode(constraint.toString())); + final CharSequence page = ParserUtils.scrape(uri); final Matcher mSingle = P_SINGLE_NAME.matcher(page); if (mSingle.matches()) diff --git a/test/de/schildbach/pte/live/BvgProviderLiveTest.java b/test/de/schildbach/pte/live/BvgProviderLiveTest.java index d6ae61c1..819298da 100644 --- a/test/de/schildbach/pte/live/BvgProviderLiveTest.java +++ b/test/de/schildbach/pte/live/BvgProviderLiveTest.java @@ -17,9 +17,12 @@ package de.schildbach.pte.live; +import java.util.List; + import org.junit.Test; import de.schildbach.pte.BvgProvider; +import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.QueryDeparturesResult; @@ -30,10 +33,26 @@ public class BvgProviderLiveTest { private BvgProvider provider = new BvgProvider(); + @Test + public void autocompleteIncomplete() throws Exception + { + final List autocompletes = provider.autocompleteStations("nol"); + + 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("9415052", 0, 0, 0, 0); + final NearbyStationsResult result = provider.nearbyStations("9220302", 0, 0, 0, 0); System.out.println(result.stations.size() + " " + result.stations); }