'autocomplete one line' capability for all efa-based providers

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@565 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2011-04-15 15:35:13 +00:00
parent 65dec1fceb
commit eeee8303a2
44 changed files with 210 additions and 53 deletions

View file

@ -100,14 +100,18 @@ public abstract class AbstractEfaProvider implements NetworkProvider
return uri + "&" + additionalQueryParameter;
}
protected List<Location> xmlStopfinderRequest(final CharSequence constraint) throws IOException
protected List<Location> xmlStopfinderRequest(final Location 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&regionID_sf=1");
uri.append("XML_STOPFINDER_REQUEST?coordOutputFormat=WGS84&locationServerActive=1");
appendLocation(uri, constraint, "sf");
if (constraint.type == LocationType.ANY)
{
uri.append("&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");
uri.append("&useHouseNumberList=true&regionID_sf=1");
}
if (additionalQueryParameter != null)
uri.append('&').append(additionalQueryParameter);
@ -146,13 +150,26 @@ public abstract class AbstractEfaProvider implements NetworkProvider
XmlPullUtil.require(pp, "itdOdvPlace");
XmlPullUtil.next(pp);
XmlPullUtil.require(pp, "itdOdvName");
final String nameState = pp.getAttributeValue(null, "state");
XmlPullUtil.enter(pp, "itdOdvName");
if (XmlPullUtil.test(pp, "itdMessage"))
XmlPullUtil.next(pp);
while (XmlPullUtil.test(pp, "odvNameElem"))
results.add(processOdvNameElem(pp, null));
if ("identified".equals(nameState) || "list".equals(nameState))
{
while (XmlPullUtil.test(pp, "odvNameElem"))
results.add(processOdvNameElem(pp, null));
}
else if ("notidentified".equals(nameState))
{
// do nothing
}
else
{
throw new RuntimeException("unknown nameState '" + nameState + "' on " + uri);
}
XmlPullUtil.exit(pp, "itdOdvName");

View file

@ -17,11 +17,14 @@
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;
import de.schildbach.pte.util.ParserUtils;
/**
@ -45,12 +48,18 @@ public class AtcProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -24,6 +24,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -57,7 +58,7 @@ public class AvvProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -17,11 +17,14 @@
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;
import de.schildbach.pte.util.ParserUtils;
/**
@ -45,12 +48,18 @@ public class BsagProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -17,11 +17,14 @@
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;
import de.schildbach.pte.util.ParserUtils;
/**
@ -46,12 +49,18 @@ public class BsvagProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -17,11 +17,14 @@
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;
import de.schildbach.pte.util.ParserUtils;
/**
@ -46,12 +49,18 @@ public class BvbProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -24,6 +24,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -57,7 +58,7 @@ public class DingProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -17,12 +17,15 @@
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;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -53,12 +56,18 @@ public class DubProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -26,6 +26,7 @@ import java.util.List;
import java.util.Map;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.Color;
import de.schildbach.pte.util.ParserUtils;
@ -60,7 +61,7 @@ public class GvhProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
private static final String NEARBY_STATION_URI = API_BASE

View file

@ -24,6 +24,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -57,7 +58,7 @@ public class IvbProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -23,6 +23,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -56,7 +57,7 @@ public class KvvProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -17,12 +17,15 @@
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.Locale;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -47,12 +50,18 @@ public class LinzProvider extends AbstractEfaProvider
public boolean hasCapabilities(final Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
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";

View file

@ -16,11 +16,14 @@
*/
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;
import de.schildbach.pte.util.ParserUtils;
/**
@ -45,12 +48,18 @@ public class MariborProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -25,6 +25,7 @@ import java.util.List;
import java.util.TimeZone;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -63,7 +64,7 @@ public class MetProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -26,6 +26,7 @@ import java.util.List;
import java.util.Map;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.Color;
import de.schildbach.pte.util.ParserUtils;
@ -60,7 +61,7 @@ public class MvvProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -16,11 +16,14 @@
*/
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;
import de.schildbach.pte.util.ParserUtils;
/**
@ -45,12 +48,18 @@ public class NaldoProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -24,6 +24,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -56,7 +57,7 @@ public class NvbwProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -25,6 +25,7 @@ import java.util.List;
import java.util.TimeZone;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -78,7 +79,7 @@ public class SfProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -14,13 +14,17 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
import de.schildbach.pte.util.ParserUtils;
/**
@ -45,12 +49,18 @@ public class StvProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -14,13 +14,17 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
import de.schildbach.pte.util.ParserUtils;
/**
@ -45,12 +49,18 @@ public class SvvProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -25,6 +25,7 @@ import java.util.List;
import java.util.TimeZone;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -63,7 +64,7 @@ public class SydneyProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -27,6 +27,7 @@ import java.util.Map;
import java.util.TimeZone;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.Color;
import de.schildbach.pte.util.ParserUtils;
@ -67,7 +68,7 @@ public class TflProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
private static final String NEARBY_STATION_URI = API_BASE

View file

@ -25,6 +25,7 @@ import java.util.List;
import java.util.TimeZone;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -64,7 +65,7 @@ public class TleaProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -25,6 +25,7 @@ import java.util.List;
import java.util.TimeZone;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -64,7 +65,7 @@ public class TlemProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -25,6 +25,7 @@ import java.util.List;
import java.util.TimeZone;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -64,7 +65,7 @@ public class TlseProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -25,6 +25,7 @@ import java.util.List;
import java.util.TimeZone;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -63,7 +64,7 @@ public class TlswProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -17,11 +17,14 @@
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;
import de.schildbach.pte.util.ParserUtils;
/**
@ -45,12 +48,18 @@ public class VagfrProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -24,6 +24,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -56,7 +57,7 @@ public class VblProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -24,6 +24,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -57,7 +58,7 @@ public class VmsProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -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;
@ -44,15 +46,21 @@ public class VmvProvider extends AbstractEfaProvider
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities)
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -24,6 +24,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -57,7 +58,7 @@ public class VorProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -24,6 +24,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -57,7 +58,7 @@ public class VrnProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -27,6 +27,7 @@ import java.util.Locale;
import java.util.Map;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.Color;
import de.schildbach.pte.util.ParserUtils;
@ -61,7 +62,7 @@ public class VrrProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
private static final String NEARBY_LATLON_URI = API_BASE

View file

@ -24,6 +24,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -56,7 +57,7 @@ public class VrtProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -24,6 +24,7 @@ import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.util.ParserUtils;
/**
@ -56,7 +57,7 @@ public class VvmProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -17,11 +17,14 @@
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;
import de.schildbach.pte.util.ParserUtils;
/**
@ -46,12 +49,18 @@ public class VvoProvider extends AbstractEfaProvider
public boolean hasCapabilities(Capability... capabilities)
{
for (final Capability capability : capabilities)
if (capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
if (capability == Capability.AUTOCOMPLETE_ONE_LINE || capability == Capability.DEPARTURES || capability == Capability.CONNECTIONS)
return true;
return false;
}
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString()));
}
@Override
protected String nearbyLatLonUri(final int lat, final int lon)
{

View file

@ -58,7 +58,7 @@ public class VvsProvider extends AbstractEfaProvider
@Override
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
{
return xmlStopfinderRequest(constraint);
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override

View file

@ -36,7 +36,7 @@ public class AtcProviderLiveTest
@Test
public void autocomplete() throws Exception
{
final List<Location> autocompletes = provider.autocompleteStations("Bologna");
final List<Location> autocompletes = provider.autocompleteStations("ponte");
list(autocompletes);
}

View file

@ -35,7 +35,7 @@ public class BsagProviderLiveTest
@Test
public void autocompleteIncomplete() throws Exception
{
final List<Location> autocompletes = provider.autocompleteStations("Kur");
final List<Location> autocompletes = provider.autocompleteStations("Kurf");
list(autocompletes);
}

View file

@ -35,7 +35,7 @@ public class BsvagProviderLiveTest
@Test
public void autocompleteIncomplete() throws Exception
{
final List<Location> autocompletes = provider.autocompleteStations("Kur");
final List<Location> autocompletes = provider.autocompleteStations("Kurf");
list(autocompletes);
}

View file

@ -36,7 +36,7 @@ public class BvbProviderLiveTest
@Test
public void autocomplete() throws Exception
{
final List<Location> autocompletes = provider.autocompleteStations("Basel");
final List<Location> autocompletes = provider.autocompleteStations("Haupt");
list(autocompletes);
}

View file

@ -40,7 +40,7 @@ public class LinzProviderLiveTest
@Test
public void autocompleteIncomplete() throws Exception
{
final List<Location> autocompletes = provider.autocompleteStations("Linz, H");
final List<Location> autocompletes = provider.autocompleteStations("Friedhof");
list(autocompletes);
}
@ -56,7 +56,7 @@ public class LinzProviderLiveTest
@Test
public void autocompleteCity() throws Exception
{
final List<Location> autocompletes = provider.autocompleteStations("Linz");
final List<Location> autocompletes = provider.autocompleteStations("Leonding");
list(autocompletes);
}

View file

@ -36,7 +36,7 @@ public class NaldoProviderLiveTest
@Test
public void autocompleteIncomplete() throws Exception
{
final List<Location> autocompletes = provider.autocompleteStations("Kur");
final List<Location> autocompletes = provider.autocompleteStations("Kurf");
list(autocompletes);
}

View file

@ -36,7 +36,7 @@ public class VagfrProviderLiveTest
@Test
public void autocompleteIncomplete() throws Exception
{
final List<Location> autocompletes = provider.autocompleteStations("Kur");
final List<Location> autocompletes = provider.autocompleteStations("Kurf");
list(autocompletes);
}