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