Make auto-complete via getstops endpoint default (Hafas).

This commit is contained in:
Andreas Schildbach 2014-07-07 13:07:25 +02:00
parent 92790d5cab
commit b265dd03cb
25 changed files with 15 additions and 152 deletions

View file

@ -318,6 +318,14 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
return new Position(platformText); return new Position(platformText);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
protected StringBuilder jsonGetStopsParameters(final CharSequence constraint) protected StringBuilder jsonGetStopsParameters(final CharSequence constraint)
{ {
final StringBuilder parameters = new StringBuilder(); final StringBuilder parameters = new StringBuilder();

View file

@ -19,7 +19,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -160,14 +159,6 @@ public final class BahnProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
public Collection<Product> defaultProducts() public Collection<Product> defaultProducts()
{ {

View file

@ -508,14 +508,6 @@ public final class BvgProvider extends AbstractHafasProvider
ParserUtils.parseEuropeanTime(calendar, m.group(2)); ParserUtils.parseEuropeanTime(calendar, m.group(2));
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
protected boolean isValidStationId(final String id) protected boolean isValidStationId(final String id)
{ {

View file

@ -174,6 +174,7 @@ public class DsbProvider extends AbstractHafasProvider
private static final String AUTOCOMPLETE_URI = "http://xmlopen.rejseplanen.dk/bin/rest.exe/location.name?input=%s"; private static final String AUTOCOMPLETE_URI = "http://xmlopen.rejseplanen.dk/bin/rest.exe/location.name?input=%s";
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{ {
final String uri = String.format(Locale.ENGLISH, AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), ISO_8859_1)); final String uri = String.format(Locale.ENGLISH, AUTOCOMPLETE_URI, ParserUtils.urlEncode(constraint.toString(), ISO_8859_1));

View file

@ -20,7 +20,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -130,14 +129,6 @@ public class EireannProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
protected void appendCustomTripsQueryBinaryUri(final StringBuilder uri) protected void appendCustomTripsQueryBinaryUri(final StringBuilder uri)
{ {

View file

@ -279,6 +279,7 @@ public class InvgProvider extends AbstractHafasProvider
} }
} }
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{ {
return xmlMLcReq(constraint); return xmlMLcReq(constraint);

View file

@ -18,7 +18,6 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -139,14 +138,6 @@ public class JetProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
private static final Pattern P_NORMALIZE_BUS = Pattern.compile("([א]?\\d{1,3})#"); private static final Pattern P_NORMALIZE_BUS = Pattern.compile("([א]?\\d{1,3})#");
@Override @Override

View file

@ -169,6 +169,7 @@ public class LuProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{ {
return xmlMLcReq(constraint); return xmlMLcReq(constraint);

View file

@ -168,6 +168,7 @@ public class NasaProvider extends AbstractHafasProvider
reader.replace("\"Florian Geyer\"", "Florian Geyer"); reader.replace("\"Florian Geyer\"", "Florian Geyer");
} }
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{ {
return xmlMLcReq(constraint); return xmlMLcReq(constraint);

View file

@ -20,7 +20,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Set; import java.util.Set;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
@ -165,14 +164,6 @@ public class NriProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
public Collection<Product> defaultProducts() public Collection<Product> defaultProducts()
{ {

View file

@ -19,7 +19,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.LocationType;
@ -137,14 +136,6 @@ public class NsProvider extends AbstractHafasProvider
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
public Collection<Product> defaultProducts() public Collection<Product> defaultProducts()
{ {

View file

@ -18,7 +18,6 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.LocationType;
@ -192,14 +191,6 @@ public class NvvProvider extends AbstractHafasProvider
reader.replace("Park&Ride", "Park&amp;Ride"); reader.replace("Park&Ride", "Park&amp;Ride");
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
protected char normalizeType(final String type) protected char normalizeType(final String type)
{ {

View file

@ -19,7 +19,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.LocationType;
@ -172,14 +171,6 @@ public class OebbProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
public Collection<Product> defaultProducts() public Collection<Product> defaultProducts()
{ {

View file

@ -173,6 +173,7 @@ public class PlProvider extends AbstractHafasProvider
reader.replace("platform=\"K ", " "); // Poland reader.replace("platform=\"K ", " "); // Poland
} }
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{ {
return xmlMLcReq(constraint); return xmlMLcReq(constraint);

View file

@ -19,7 +19,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.LocationType;
@ -130,14 +129,6 @@ public class RtProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
public Collection<Product> defaultProducts() public Collection<Product> defaultProducts()
{ {

View file

@ -19,7 +19,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.LocationType;
@ -151,15 +150,6 @@ public class SbbProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
public Collection<Product> defaultProducts() public Collection<Product> defaultProducts()
{ {

View file

@ -19,7 +19,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -180,14 +179,6 @@ public class SeProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
public Collection<Product> defaultProducts() public Collection<Product> defaultProducts()
{ {

View file

@ -294,14 +294,6 @@ public class SeptaProvider extends AbstractHafasProvider
} }
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
protected void appendCustomTripsQueryBinaryUri(final StringBuilder uri) protected void appendCustomTripsQueryBinaryUri(final StringBuilder uri)
{ {

View file

@ -278,6 +278,7 @@ public class ShProvider extends AbstractHafasProvider
} }
} }
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{ {
return xmlMLcReq(constraint); return xmlMLcReq(constraint);

View file

@ -19,7 +19,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.LocationType;
@ -156,14 +155,6 @@ public class SncbProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
public Collection<Product> defaultProducts() public Collection<Product> defaultProducts()
{ {

View file

@ -19,7 +19,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -168,14 +167,6 @@ public class StockholmProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
protected void appendCustomTripsQueryBinaryUri(final StringBuilder uri) protected void appendCustomTripsQueryBinaryUri(final StringBuilder uri)
{ {

View file

@ -20,7 +20,6 @@ package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -178,14 +177,6 @@ public class VbbProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
public Collection<Product> defaultProducts() public Collection<Product> defaultProducts()
{ {

View file

@ -18,7 +18,6 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.LocationType;
@ -144,14 +143,6 @@ public class VbnProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
@Override @Override
protected char normalizeType(final String type) protected char normalizeType(final String type)
{ {

View file

@ -18,7 +18,6 @@
package de.schildbach.pte; package de.schildbach.pte;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.LocationType;
@ -146,12 +145,4 @@ public class VgsProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
final StringBuilder uri = new StringBuilder(getStopEndpoint);
uri.append(jsonGetStopsParameters(constraint));
return jsonGetStops(uri.toString());
}
} }

View file

@ -192,6 +192,7 @@ public class ZvvProvider extends AbstractHafasProvider
return xmlQueryDepartures(uri.toString(), stationId); return xmlQueryDepartures(uri.toString(), stationId);
} }
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{ {
return xmlMLcReq(constraint); return xmlMLcReq(constraint);