fixed umlauts in Dresden autocomplete

This commit is contained in:
Andreas Schildbach 2012-08-09 14:02:55 +02:00
parent e4d0567710
commit e5aa8fb51d
3 changed files with 19 additions and 2 deletions

View file

@ -22,6 +22,7 @@ import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
@ -83,6 +84,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
private final String additionalQueryParameter; private final String additionalQueryParameter;
private final boolean canAcceptPoiID; private final boolean canAcceptPoiID;
private final boolean needsSpEncId; private final boolean needsSpEncId;
private Charset requestUrlEncoding = ISO_8859_1;
private boolean suppressPositions = false; private boolean suppressPositions = false;
private final XmlPullParserFactory parserFactory; private final XmlPullParserFactory parserFactory;
@ -148,6 +150,11 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
this.needsSpEncId = needsSpEncId; this.needsSpEncId = needsSpEncId;
} }
protected void setRequestUrlEncoding(final Charset requestUrlEncoding)
{
this.requestUrlEncoding = requestUrlEncoding;
}
protected void setSuppressPositions(final boolean suppressPositions) protected void setSuppressPositions(final boolean suppressPositions)
{ {
this.suppressPositions = suppressPositions; this.suppressPositions = suppressPositions;
@ -2311,7 +2318,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
else else
{ {
uri.append("&type_").append(paramSuffix).append("=").append(locationTypeValue(location)); uri.append("&type_").append(paramSuffix).append("=").append(locationTypeValue(location));
uri.append("&name_").append(paramSuffix).append("=").append(ParserUtils.urlEncode(locationValue(location), ISO_8859_1)); uri.append("&name_").append(paramSuffix).append("=").append(ParserUtils.urlEncode(locationValue(location), requestUrlEncoding));
} }
} }

View file

@ -33,12 +33,14 @@ public class VvoProvider extends AbstractEfaProvider
public VvoProvider() public VvoProvider()
{ {
super(API_BASE, null); this(API_BASE);
} }
public VvoProvider(final String apiBase) public VvoProvider(final String apiBase)
{ {
super(apiBase, null); super(apiBase, null);
setRequestUrlEncoding(UTF_8);
} }
public NetworkId id() public NetworkId id()

View file

@ -73,6 +73,14 @@ public class VvoProviderLiveTest extends AbstractProviderLiveTest
print(autocompletes); print(autocompletes);
} }
@Test
public void autocompleteWithUmlaut() throws Exception
{
final List<Location> autocompletes = provider.autocompleteStations("Hülßestraße");
print(autocompletes);
}
@Test @Test
public void shortConnection() throws Exception public void shortConnection() throws Exception
{ {