Navitia: Allow custom API base.

This is especially useful if you want to run a Navitia instance on your
own server.
This commit is contained in:
Torsten Grote 2015-12-21 19:32:51 -02:00 committed by Andreas Schildbach
parent 51d92a61e1
commit 5be14b0134
4 changed files with 32 additions and 3 deletions

View file

@ -77,7 +77,8 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider
{
protected final static String SERVER_PRODUCT = "navitia";
protected final static String SERVER_VERSION = "v1";
protected static final String API_BASE = "http://api.navitia.io/" + SERVER_VERSION + "/";
protected String apiBase = "http://api.navitia.io/" + SERVER_VERSION + "/";
private enum PlaceType
{
@ -132,6 +133,13 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider
}
}
public AbstractNavitiaProvider(final NetworkId network, final String apiBase, final String authorization)
{
this(network, authorization);
this.apiBase = apiBase;
}
public AbstractNavitiaProvider(final NetworkId network, final String authorization)
{
super(network);
@ -154,12 +162,12 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider
private String uri()
{
return API_BASE + "coverage/" + region() + "/";
return apiBase + "coverage/" + region() + "/";
}
private String tripUri()
{
return API_BASE;
return apiBase;
}
private Point parseCoord(final JSONObject coord) throws IOException

View file

@ -28,6 +28,13 @@ public class FrenchSouthWestProvider extends AbstractNavitiaProvider
{
private static String API_REGION = "fr-sw";
public FrenchSouthWestProvider(final String apiBase, final String authorization)
{
super(NetworkId.FRENCHSOUTHWEST, apiBase, authorization);
setTimeZone("Europe/Paris");
}
public FrenchSouthWestProvider(final String authorization)
{
super(NetworkId.FRENCHSOUTHWEST, authorization);

View file

@ -24,6 +24,13 @@ public class ItalyProvider extends AbstractNavitiaProvider
{
private static String API_REGION = "it";
public ItalyProvider(final String apiBase, final String authorization)
{
super(NetworkId.IT, apiBase, authorization);
setTimeZone("Europe/Rome");
}
public ItalyProvider(final String authorization)
{
super(NetworkId.IT, authorization);

View file

@ -28,6 +28,13 @@ public class ParisProvider extends AbstractNavitiaProvider
{
private static String API_REGION = "fr-idf";
public ParisProvider(final String apiBase, final String authorization)
{
super(NetworkId.PARIS, apiBase, authorization);
setTimeZone("Europe/Paris");
}
public ParisProvider(final String authorization)
{
super(NetworkId.PARIS, authorization);