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_PRODUCT = "navitia";
protected final static String SERVER_VERSION = "v1"; 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 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) public AbstractNavitiaProvider(final NetworkId network, final String authorization)
{ {
super(network); super(network);
@ -154,12 +162,12 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider
private String uri() private String uri()
{ {
return API_BASE + "coverage/" + region() + "/"; return apiBase + "coverage/" + region() + "/";
} }
private String tripUri() private String tripUri()
{ {
return API_BASE; return apiBase;
} }
private Point parseCoord(final JSONObject coord) throws IOException 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"; 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) public FrenchSouthWestProvider(final String authorization)
{ {
super(NetworkId.FRENCHSOUTHWEST, authorization); super(NetworkId.FRENCHSOUTHWEST, authorization);

View file

@ -24,6 +24,13 @@ public class ItalyProvider extends AbstractNavitiaProvider
{ {
private static String API_REGION = "it"; 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) public ItalyProvider(final String authorization)
{ {
super(NetworkId.IT, authorization); super(NetworkId.IT, authorization);

View file

@ -28,6 +28,13 @@ public class ParisProvider extends AbstractNavitiaProvider
{ {
private static String API_REGION = "fr-idf"; 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) public ParisProvider(final String authorization)
{ {
super(NetworkId.PARIS, authorization); super(NetworkId.PARIS, authorization);