mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-07 22:48:49 +00:00
append special query parameter
git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@530 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
parent
28d7ed0c7d
commit
4b01252c71
3 changed files with 28 additions and 7 deletions
|
@ -64,8 +64,14 @@ import de.schildbach.pte.util.XmlPullUtil;
|
||||||
public abstract class AbstractEfaProvider implements NetworkProvider
|
public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
{
|
{
|
||||||
final XmlPullParserFactory parserFactory;
|
final XmlPullParserFactory parserFactory;
|
||||||
|
final String additionalQueryParameter;
|
||||||
|
|
||||||
public AbstractEfaProvider()
|
public AbstractEfaProvider()
|
||||||
|
{
|
||||||
|
this(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public AbstractEfaProvider(final String additionalQueryParameter)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -75,6 +81,8 @@ public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
{
|
{
|
||||||
throw new RuntimeException(x);
|
throw new RuntimeException(x);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.additionalQueryParameter = additionalQueryParameter;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected TimeZone timeZone()
|
protected TimeZone timeZone()
|
||||||
|
@ -82,11 +90,19 @@ public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
return TimeZone.getTimeZone("Europe/Berlin");
|
return TimeZone.getTimeZone("Europe/Berlin");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String wrapUri(final String uri)
|
||||||
|
{
|
||||||
|
if (additionalQueryParameter == null)
|
||||||
|
return uri;
|
||||||
|
else
|
||||||
|
return uri + "&" + additionalQueryParameter;
|
||||||
|
}
|
||||||
|
|
||||||
protected abstract String autocompleteUri(final CharSequence constraint);
|
protected abstract String autocompleteUri(final CharSequence constraint);
|
||||||
|
|
||||||
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
|
public List<Location> autocompleteStations(final CharSequence constraint) throws IOException
|
||||||
{
|
{
|
||||||
final String uri = autocompleteUri(constraint);
|
final String uri = wrapUri(autocompleteUri(constraint));
|
||||||
|
|
||||||
InputStream is = null;
|
InputStream is = null;
|
||||||
try
|
try
|
||||||
|
@ -266,9 +282,9 @@ public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
{
|
{
|
||||||
String uri = null;
|
String uri = null;
|
||||||
if (uri == null && stationId != null)
|
if (uri == null && stationId != null)
|
||||||
uri = nearbyStationUri(stationId);
|
uri = wrapUri(nearbyStationUri(stationId));
|
||||||
if (uri == null && (lat != 0 || lon != 0))
|
if (uri == null && (lat != 0 || lon != 0))
|
||||||
uri = nearbyLatLonUri(lat, lon);
|
uri = wrapUri(nearbyLatLonUri(lat, lon));
|
||||||
if (uri == null)
|
if (uri == null)
|
||||||
throw new IllegalArgumentException("at least one of stationId or lat/lon must be given");
|
throw new IllegalArgumentException("at least one of stationId or lat/lon must be given");
|
||||||
|
|
||||||
|
@ -851,8 +867,8 @@ public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
|
|
||||||
public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException
|
public QueryDeparturesResult queryDepartures(final String stationId, final int maxDepartures, final boolean equivs) throws IOException
|
||||||
{
|
{
|
||||||
final String uri = departuresQueryUri(stationId, maxDepartures)
|
final String uri = wrapUri(departuresQueryUri(stationId, maxDepartures)
|
||||||
+ "&outputFormat=XML&coordOutputFormat=WGS84&mode=direct&deleteAssignedStops_dm=" + (equivs ? "0" : "1");
|
+ "&outputFormat=XML&coordOutputFormat=WGS84&mode=direct&deleteAssignedStops_dm=" + (equivs ? "0" : "1"));
|
||||||
|
|
||||||
InputStream is = null;
|
InputStream is = null;
|
||||||
try
|
try
|
||||||
|
@ -1111,7 +1127,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
public QueryConnectionsResult queryConnections(final Location from, final Location via, final Location to, final Date date, final boolean dep,
|
public QueryConnectionsResult queryConnections(final Location from, final Location via, final Location to, final Date date, final boolean dep,
|
||||||
final String products, final WalkSpeed walkSpeed) throws IOException
|
final String products, final WalkSpeed walkSpeed) throws IOException
|
||||||
{
|
{
|
||||||
final String uri = connectionsQueryUri(from, via, to, date, dep, products, walkSpeed) + "&sessionID=0";
|
final String uri = wrapUri(connectionsQueryUri(from, via, to, date, dep, products, walkSpeed) + "&sessionID=0");
|
||||||
|
|
||||||
InputStream is = null;
|
InputStream is = null;
|
||||||
try
|
try
|
||||||
|
|
|
@ -36,6 +36,11 @@ public class GvhProvider extends AbstractEfaProvider
|
||||||
public static final String OLD_NETWORK_ID = "mobil.gvh.de";
|
public static final String OLD_NETWORK_ID = "mobil.gvh.de";
|
||||||
private static final String API_BASE = "http://mobil.efa.de/mobile3/";
|
private static final String API_BASE = "http://mobil.efa.de/mobile3/";
|
||||||
|
|
||||||
|
public GvhProvider(final String additionalQueryParameter)
|
||||||
|
{
|
||||||
|
super(additionalQueryParameter);
|
||||||
|
}
|
||||||
|
|
||||||
public NetworkId id()
|
public NetworkId id()
|
||||||
{
|
{
|
||||||
return NETWORK_ID;
|
return NETWORK_ID;
|
||||||
|
|
|
@ -34,7 +34,7 @@ import de.schildbach.pte.dto.QueryConnectionsResult;
|
||||||
*/
|
*/
|
||||||
public class GvhProviderLiveTest
|
public class GvhProviderLiveTest
|
||||||
{
|
{
|
||||||
private final GvhProvider provider = new GvhProvider();
|
private final GvhProvider provider = new GvhProvider(null);
|
||||||
private static final String ALL_PRODUCTS = "IRSUTBFC";
|
private static final String ALL_PRODUCTS = "IRSUTBFC";
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue