AbstractHafasClientInterfaceProvider implementations: Extract default API client to constant.

This commit is contained in:
Andreas Schildbach 2019-04-02 13:54:32 +02:00
parent a3ed62a29b
commit 22b1ce454a
25 changed files with 51 additions and 26 deletions

View file

@ -33,11 +33,12 @@ public class AvvAachenProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.REGIONAL_TRAIN, Product.HIGH_SPEED_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.REGIONAL_TRAIN, Product.HIGH_SPEED_TRAIN,
Product.HIGH_SPEED_TRAIN, Product.BUS, Product.SUBURBAN_TRAIN, Product.SUBWAY, Product.TRAM, Product.BUS, Product.HIGH_SPEED_TRAIN, Product.BUS, Product.SUBURBAN_TRAIN, Product.SUBWAY, Product.TRAM, Product.BUS,
Product.BUS, Product.ON_DEMAND, Product.FERRY }; Product.BUS, Product.ON_DEMAND, Product.FERRY };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"AVV_AACHEN\",\"type\":\"AND\"}";
public AvvAachenProvider(final String jsonApiAuthorization) { public AvvAachenProvider(final String jsonApiAuthorization) {
super(NetworkId.AVV_AACHEN, API_BASE, PRODUCTS_MAP); super(NetworkId.AVV_AACHEN, API_BASE, PRODUCTS_MAP);
setApiVersion("1.16"); setApiVersion("1.16");
setApiClient("{\"id\":\"AVV_AACHEN\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(jsonApiAuthorization); setApiAuthorization(jsonApiAuthorization);
} }

View file

@ -31,12 +31,13 @@ public class AvvAugsburgProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN,
Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.BUS, Product.FERRY, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.BUS, Product.FERRY,
Product.SUBWAY, Product.TRAM, Product.ON_DEMAND }; Product.SUBWAY, Product.TRAM, Product.ON_DEMAND };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"DB-REGIO-AVV\",\"v\":\"100\",\"type\":\"AND\",\"name\":\"RegioNavigator\"}";
public AvvAugsburgProvider(final String jsonApiAuthorization) { public AvvAugsburgProvider(final String jsonApiAuthorization) {
super(NetworkId.AVV_AUGSBURG, API_BASE, PRODUCTS_MAP); super(NetworkId.AVV_AUGSBURG, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiExt("DB.R16.12.a"); setApiExt("DB.R16.12.a");
setApiClient("{\"id\":\"DB-REGIO-AVV\",\"v\":\"100\",\"type\":\"AND\",\"name\":\"RegioNavigator\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(jsonApiAuthorization); setApiAuthorization(jsonApiAuthorization);
} }

View file

@ -44,12 +44,13 @@ public final class BvgProvider extends AbstractHafasClientInterfaceProvider {
private static final HttpUrl API_BASE = HttpUrl.parse("https://bvg-apps.hafas.de/bin/"); private static final HttpUrl API_BASE = HttpUrl.parse("https://bvg-apps.hafas.de/bin/");
private static final Product[] PRODUCTS_MAP = { Product.SUBURBAN_TRAIN, Product.SUBWAY, Product.TRAM, Product.BUS, private static final Product[] PRODUCTS_MAP = { Product.SUBURBAN_TRAIN, Product.SUBWAY, Product.TRAM, Product.BUS,
Product.FERRY, Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.ON_DEMAND, null, null }; Product.FERRY, Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.ON_DEMAND, null, null };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"BVG\",\"type\":\"AND\"}";
public BvgProvider(final String jsonApiAuthorization) { public BvgProvider(final String jsonApiAuthorization) {
super(NetworkId.BVG, API_BASE, PRODUCTS_MAP); super(NetworkId.BVG, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiExt("BVG.1"); setApiExt("BVG.1");
setApiClient("{\"id\":\"BVG\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(jsonApiAuthorization); setApiAuthorization(jsonApiAuthorization);
setStyles(STYLES); setStyles(STYLES);
} }

View file

@ -31,12 +31,13 @@ public class CmtaProvider extends AbstractHafasClientInterfaceProvider {
// MetroRail: 8, MetroBus: 32, MetroRapid: 4096 // MetroRail: 8, MetroBus: 32, MetroRapid: 4096
private static final Product[] PRODUCTS_MAP = { null, null, null, Product.REGIONAL_TRAIN, null, Product.BUS, null, private static final Product[] PRODUCTS_MAP = { null, null, null, Product.REGIONAL_TRAIN, null, Product.BUS, null,
null, null, null, null, null, Product.BUS }; null, null, null, null, null, Product.BUS };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"CMTA\",\"type\":\"AND\"}";
public CmtaProvider() { public CmtaProvider() {
super(NetworkId.CMTA, API_BASE, PRODUCTS_MAP); super(NetworkId.CMTA, API_BASE, PRODUCTS_MAP);
setTimeZone("America/Chicago"); setTimeZone("America/Chicago");
setApiVersion("1.14"); setApiVersion("1.14");
setApiExt("SBB.TZT.1"); setApiExt("SBB.TZT.1");
setApiClient("{\"id\":\"CMTA\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
} }
} }

View file

@ -43,12 +43,13 @@ public final class DbProvider extends AbstractHafasClientInterfaceProvider {
Product.TRAM, // Straßenbahnen Product.TRAM, // Straßenbahnen
Product.ON_DEMAND, // Anruf-Sammeltaxi Product.ON_DEMAND, // Anruf-Sammeltaxi
null, null, null, null }; null, null, null, null };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"DB\",\"v\":\"16040000\",\"type\":\"AND\",\"name\":\"DB Navigator\"}";
public DbProvider(final String apiAuthorization, final byte[] salt) { public DbProvider(final String apiAuthorization, final byte[] salt) {
super(NetworkId.DB, API_BASE, PRODUCTS_MAP); super(NetworkId.DB, API_BASE, PRODUCTS_MAP);
setApiVersion("1.15"); setApiVersion("1.15");
setApiExt("DB.R18.06.a"); setApiExt("DB.R18.06.a");
setApiClient("{\"id\":\"DB\",\"v\":\"16040000\",\"type\":\"AND\",\"name\":\"DB Navigator\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
setRequestChecksumSalt(salt); setRequestChecksumSalt(salt);
} }

View file

@ -34,13 +34,14 @@ public class DsbProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN,
Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.BUS, Product.BUS, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.BUS, Product.BUS,
Product.BUS, Product.BUS, Product.FERRY, Product.SUBWAY, Product.SUBURBAN_TRAIN /* Light Rail */ }; Product.BUS, Product.BUS, Product.FERRY, Product.SUBWAY, Product.SUBURBAN_TRAIN /* Light Rail */ };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"DK\",\"type\":\"AND\"}";
public DsbProvider(final String apiAuthorization) { public DsbProvider(final String apiAuthorization) {
super(NetworkId.DSB, API_BASE, PRODUCTS_MAP); super(NetworkId.DSB, API_BASE, PRODUCTS_MAP);
setApiEndpoint("iphone.exe"); setApiEndpoint("iphone.exe");
setApiVersion("1.15"); setApiVersion("1.15");
setApiExt("DK.9"); setApiExt("DK.9");
setApiClient("{\"id\":\"DK\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
} }

View file

@ -34,11 +34,12 @@ import okhttp3.HttpUrl;
public class InvgProvider extends AbstractHafasClientInterfaceProvider { public class InvgProvider extends AbstractHafasClientInterfaceProvider {
private static final HttpUrl API_BASE = HttpUrl.parse("https://fpa.invg.de/bin/"); private static final HttpUrl API_BASE = HttpUrl.parse("https://fpa.invg.de/bin/");
private static final Product[] PRODUCTS_MAP = { Product.BUS, null, null, Product.REGIONAL_TRAIN }; private static final Product[] PRODUCTS_MAP = { Product.BUS, null, null, Product.REGIONAL_TRAIN };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"INVG\",\"type\":\"AND\"}";
public InvgProvider(final String apiAuthorization, final byte[] salt) { public InvgProvider(final String apiAuthorization, final byte[] salt) {
super(NetworkId.INVG, API_BASE, PRODUCTS_MAP); super(NetworkId.INVG, API_BASE, PRODUCTS_MAP);
setApiVersion("1.16"); setApiVersion("1.16");
setApiClient("{\"id\":\"INVG\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
setRequestMicMacSalt(salt); setRequestMicMacSalt(salt);
setStyles(STYLES); setStyles(STYLES);

View file

@ -33,11 +33,12 @@ public class LuProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN,
Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS,
Product.BUS, Product.BUS, Product.BUS }; Product.BUS, Product.BUS, Product.BUS };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"CDT\",\"type\":\"AND\"}";
public LuProvider(final String apiAuthorization) { public LuProvider(final String apiAuthorization) {
super(NetworkId.LU, API_BASE, PRODUCTS_MAP); super(NetworkId.LU, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiClient("{\"id\":\"CDT\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
} }

View file

@ -33,11 +33,12 @@ public class NasaProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN,
Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.TRAM, Product.BUS, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.TRAM, Product.BUS,
Product.ON_DEMAND, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN }; Product.ON_DEMAND, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"NASA\",\"type\":\"AND\"}";
public NasaProvider(final String apiAuthorization) { public NasaProvider(final String apiAuthorization) {
super(NetworkId.NASA, API_BASE, PRODUCTS_MAP); super(NetworkId.NASA, API_BASE, PRODUCTS_MAP);
setApiVersion("1.15"); setApiVersion("1.15");
setApiClient("{\"id\":\"NASA\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
} }

View file

@ -33,12 +33,13 @@ public class NvvProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN,
Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY, Product.TRAM, Product.BUS, Product.BUS, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY, Product.TRAM, Product.BUS, Product.BUS,
Product.FERRY, Product.ON_DEMAND, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN }; Product.FERRY, Product.ON_DEMAND, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"NVV\",\"type\":\"AND\"}";
public NvvProvider(final String apiAuthorization) { public NvvProvider(final String apiAuthorization) {
super(NetworkId.NVV, API_BASE, PRODUCTS_MAP); super(NetworkId.NVV, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiExt("NVV.6.0"); setApiExt("NVV.6.0");
setApiClient("{\"id\":\"NVV\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
httpClient.setTrustAllCertificates(true); httpClient.setTrustAllCertificates(true);
} }

View file

@ -35,11 +35,12 @@ public class OebbProvider extends AbstractHafasClientInterfaceProvider {
Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN,
Product.BUS, Product.FERRY, Product.SUBWAY, Product.TRAM, Product.HIGH_SPEED_TRAIN, Product.ON_DEMAND, Product.BUS, Product.FERRY, Product.SUBWAY, Product.TRAM, Product.HIGH_SPEED_TRAIN, Product.ON_DEMAND,
Product.HIGH_SPEED_TRAIN }; Product.HIGH_SPEED_TRAIN };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"OEBB\",\"type\":\"AND\"}";
public OebbProvider(final String apiAuthorization) { public OebbProvider(final String apiAuthorization) {
super(NetworkId.OEBB, API_BASE, PRODUCTS_MAP); super(NetworkId.OEBB, API_BASE, PRODUCTS_MAP);
setApiVersion("1.16"); setApiVersion("1.16");
setApiClient("{\"id\":\"OEBB\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
} }

View file

@ -35,12 +35,13 @@ public class OoevvProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY,
null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY, null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY,
Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null }; Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"VAO\",\"l\":\"vs_ooevv\",\"type\":\"AND\"}";
public OoevvProvider(final String apiAuthorization) { public OoevvProvider(final String apiAuthorization) {
super(NetworkId.OOEVV, API_BASE, PRODUCTS_MAP); super(NetworkId.OOEVV, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiExt("VAO.6"); setApiExt("VAO.6");
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_ooevv\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
httpClient.setSslAcceptAllHostnames(true); httpClient.setSslAcceptAllHostnames(true);
} }

View file

@ -36,11 +36,12 @@ public class SeProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN /* Air */, Product.HIGH_SPEED_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN /* Air */, Product.HIGH_SPEED_TRAIN,
Product.REGIONAL_TRAIN, Product.BUS, Product.SUBURBAN_TRAIN, Product.SUBWAY, Product.TRAM, Product.BUS, Product.REGIONAL_TRAIN, Product.BUS, Product.SUBURBAN_TRAIN, Product.SUBWAY, Product.TRAM, Product.BUS,
Product.FERRY, Product.ON_DEMAND /* Taxi */ }; Product.FERRY, Product.ON_DEMAND /* Taxi */ };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"SAMTRAFIKEN\",\"type\":\"AND\"}";
public SeProvider(final String jsonApiAuthorization) { public SeProvider(final String jsonApiAuthorization) {
super(NetworkId.SE, API_BASE, PRODUCTS_MAP); super(NetworkId.SE, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiClient("{\"id\":\"SAMTRAFIKEN\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(jsonApiAuthorization); setApiAuthorization(jsonApiAuthorization);
} }

View file

@ -36,11 +36,12 @@ public class ShProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN,
Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.BUS, Product.FERRY, Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.BUS, Product.FERRY,
Product.SUBWAY, Product.TRAM, Product.ON_DEMAND }; Product.SUBWAY, Product.TRAM, Product.ON_DEMAND };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"NAHSH\",\"type\":\"AND\"}";
public ShProvider(final String apiAuthorization) { public ShProvider(final String apiAuthorization) {
super(NetworkId.SH, API_BASE, PRODUCTS_MAP); super(NetworkId.SH, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiClient("{\"id\":\"NAHSH\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
setStyles(STYLES); setStyles(STYLES);
} }

View file

@ -34,11 +34,12 @@ public class SncbProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, null, Product.HIGH_SPEED_TRAIN, null, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, null, Product.HIGH_SPEED_TRAIN, null,
null, Product.BUS, Product.REGIONAL_TRAIN, null, Product.SUBWAY, Product.BUS, Product.TRAM, null, null, null, Product.BUS, Product.REGIONAL_TRAIN, null, Product.SUBWAY, Product.BUS, Product.TRAM, null, null,
null, null, null }; null, null, null };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"SNCB\",\"type\":\"AND\"}";
public SncbProvider(final String jsonApiAuthorization) { public SncbProvider(final String jsonApiAuthorization) {
super(NetworkId.SNCB, API_BASE, PRODUCTS_MAP); super(NetworkId.SNCB, API_BASE, PRODUCTS_MAP);
setApiVersion("1.15"); setApiVersion("1.15");
setApiClient("{\"id\":\"SNCB\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(jsonApiAuthorization); setApiAuthorization(jsonApiAuthorization);
} }

View file

@ -38,12 +38,13 @@ public class SvvProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY,
null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY, null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY,
Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null }; Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"VAO\",\"l\":\"vs_svv\",\"type\":\"AND\"}";
public SvvProvider(final String apiAuthorization) { public SvvProvider(final String apiAuthorization) {
super(NetworkId.SVV, API_BASE, PRODUCTS_MAP); super(NetworkId.SVV, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiExt("VAO.6"); setApiExt("VAO.6");
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_svv\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
setStyles(STYLES); setStyles(STYLES);
httpClient.setTrustAllCertificates(true); httpClient.setTrustAllCertificates(true);

View file

@ -38,12 +38,13 @@ public class VaoProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY,
null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY, null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY,
Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null }; Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"VAO\",\"l\":\"vs_vao\",\"type\":\"AND\"}";
public VaoProvider(final String apiAuthorization) { public VaoProvider(final String apiAuthorization) {
super(NetworkId.VAO, API_BASE, PRODUCTS_MAP); super(NetworkId.VAO, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiExt("VAO.6"); setApiExt("VAO.6");
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_vao\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
setStyles(STYLES); setStyles(STYLES);
} }

View file

@ -37,12 +37,13 @@ public class VbbProvider extends AbstractHafasClientInterfaceProvider {
Product.FERRY, Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, null, null, Product.BUS /* BEV */ }; Product.FERRY, Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, null, null, Product.BUS /* BEV */ };
private static final Set<Product> ALL_EXCEPT_HIGHSPEED_AND_ONDEMAND = EnumSet private static final Set<Product> ALL_EXCEPT_HIGHSPEED_AND_ONDEMAND = EnumSet
.complementOf(EnumSet.of(Product.HIGH_SPEED_TRAIN, Product.ON_DEMAND)); .complementOf(EnumSet.of(Product.HIGH_SPEED_TRAIN, Product.ON_DEMAND));
private static final String DEFAULT_API_CLIENT = "{\"id\":\"VBB\",\"type\":\"AND\"}";
public VbbProvider(final String apiAuthorization, final byte[] salt) { public VbbProvider(final String apiAuthorization, final byte[] salt) {
super(NetworkId.VBB, API_BASE, PRODUCTS_MAP); super(NetworkId.VBB, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiExt("VBB.4"); setApiExt("VBB.4");
setApiClient("{\"id\":\"VBB\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
setRequestMicMacSalt(salt); setRequestMicMacSalt(salt);
httpClient.setTrustAllCertificates(true); httpClient.setTrustAllCertificates(true);

View file

@ -54,11 +54,12 @@ public class VbnProvider extends AbstractHafasClientInterfaceProvider {
Product.TRAM, // Straßen-/ Stadtbahn Product.TRAM, // Straßen-/ Stadtbahn
Product.ON_DEMAND // Anrufverkehr Product.ON_DEMAND // Anrufverkehr
}; };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"VBN\",\"type\":\"AND\"}";
public VbnProvider(final String apiAuthorization, final byte[] salt) { public VbnProvider(final String apiAuthorization, final byte[] salt) {
super(NetworkId.VBN, API_BASE, PRODUCTS_MAP); super(NetworkId.VBN, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiClient("{\"id\":\"VBN\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
setRequestMicMacSalt(salt); setRequestMicMacSalt(salt);
setStyles(STYLES); setStyles(STYLES);

View file

@ -33,11 +33,12 @@ public class VgsProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN,
Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY, Product.TRAM, Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY, Product.TRAM,
Product.BUS, Product.CABLECAR, Product.ON_DEMAND, Product.BUS }; Product.BUS, Product.CABLECAR, Product.ON_DEMAND, Product.BUS };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"ZPS-SAAR\",\"type\":\"AND\"}";
public VgsProvider(final String jsonApiAuthorization, final byte[] salt) { public VgsProvider(final String jsonApiAuthorization, final byte[] salt) {
super(NetworkId.VGS, API_BASE, PRODUCTS_MAP); super(NetworkId.VGS, API_BASE, PRODUCTS_MAP);
setApiVersion("1.21"); setApiVersion("1.21");
setApiClient("{\"id\":\"ZPS-SAAR\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(jsonApiAuthorization); setApiAuthorization(jsonApiAuthorization);
setRequestMicMacSalt(salt); setRequestMicMacSalt(salt);
} }

View file

@ -35,12 +35,13 @@ public class VmobilProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY,
null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY, null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY,
Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null }; Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"VAO\",\"l\":\"vs_vvv\",\"type\":\"AND\"}";
public VmobilProvider(final String apiAuthorization) { public VmobilProvider(final String apiAuthorization) {
super(NetworkId.VMOBIL, API_BASE, PRODUCTS_MAP); super(NetworkId.VMOBIL, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiExt("VAO.6"); setApiExt("VAO.6");
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_vvv\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
} }

View file

@ -34,11 +34,12 @@ public class VmtProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.HIGH_SPEED_TRAIN,
Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.TRAM, Product.FERRY, Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, Product.SUBURBAN_TRAIN, Product.TRAM, Product.FERRY,
Product.BUS /* guessing */, Product.BUS, null }; Product.BUS /* guessing */, Product.BUS, null };
private static final String DEFAULT_API_CLIENT = "{\"name\":\"VMT\",\"type\":\"AND\"}";
public VmtProvider(final String jsonApiAuthorization) { public VmtProvider(final String jsonApiAuthorization) {
super(NetworkId.VMT, API_BASE, PRODUCTS_MAP); super(NetworkId.VMT, API_BASE, PRODUCTS_MAP);
setApiVersion("1.15"); setApiVersion("1.15");
setApiClient("{\"name\":\"VMT\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(jsonApiAuthorization); setApiAuthorization(jsonApiAuthorization);
} }

View file

@ -38,12 +38,13 @@ public class VorProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY,
null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY, null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY,
Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null }; Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"VAO\",\"l\":\"vs_anachb\",\"type\":\"AND\"}";
public VorProvider(final String apiAuthorization) { public VorProvider(final String apiAuthorization) {
super(NetworkId.VOR, API_BASE, PRODUCTS_MAP); super(NetworkId.VOR, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiExt("VAO.9"); setApiExt("VAO.9");
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_anachb\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
setStyles(STYLES); setStyles(STYLES);
} }

View file

@ -35,12 +35,13 @@ public class VvtProvider extends AbstractHafasClientInterfaceProvider {
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.SUBURBAN_TRAIN, Product.SUBWAY,
null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY, null, Product.TRAM, Product.REGIONAL_TRAIN, Product.BUS, Product.BUS, Product.TRAM, Product.FERRY,
Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null }; Product.ON_DEMAND, Product.BUS, Product.REGIONAL_TRAIN, null, null, null };
private static final String DEFAULT_API_CLIENT = "{\"id\":\"VAO\",\"l\":\"vs_vvt\",\"type\":\"AND\"}";
public VvtProvider(final String apiAuthorization) { public VvtProvider(final String apiAuthorization) {
super(NetworkId.VVT, API_BASE, PRODUCTS_MAP); super(NetworkId.VVT, API_BASE, PRODUCTS_MAP);
setApiVersion("1.18"); setApiVersion("1.18");
setApiExt("VAO.6"); setApiExt("VAO.6");
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_vvt\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(apiAuthorization); setApiAuthorization(apiAuthorization);
} }

View file

@ -34,16 +34,17 @@ import okhttp3.HttpUrl;
* @author Andreas Schildbach * @author Andreas Schildbach
*/ */
public class ZvvProvider extends AbstractHafasClientInterfaceProvider { public class ZvvProvider extends AbstractHafasClientInterfaceProvider {
private static final HttpUrl API_BASE = HttpUrl.parse("https://online.fahrplan.zvv.ch/bin/");
private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN, private static final Product[] PRODUCTS_MAP = { Product.HIGH_SPEED_TRAIN, Product.REGIONAL_TRAIN,
Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.FERRY, Product.SUBURBAN_TRAIN, Product.BUS, Product.REGIONAL_TRAIN, Product.REGIONAL_TRAIN, Product.FERRY, Product.SUBURBAN_TRAIN, Product.BUS,
Product.CABLECAR, Product.BUS, Product.TRAM }; Product.CABLECAR, Product.BUS, Product.TRAM };
private static final HttpUrl API_BASE = HttpUrl.parse("https://online.fahrplan.zvv.ch/bin/");
private static final String DEFAULT_API_CLIENT = "{\"id\":\"ZVV\",\"type\":\"AND\"}";
public ZvvProvider(final String jsonApiAuthorization) { public ZvvProvider(final String jsonApiAuthorization) {
super(NetworkId.ZVV, API_BASE, PRODUCTS_MAP); super(NetworkId.ZVV, API_BASE, PRODUCTS_MAP);
setApiVersion("1.15"); setApiVersion("1.15");
setApiExt("ZVV.2"); setApiExt("ZVV.2");
setApiClient("{\"id\":\"ZVV\",\"type\":\"AND\"}"); setApiClient(DEFAULT_API_CLIENT);
setApiAuthorization(jsonApiAuthorization); setApiAuthorization(jsonApiAuthorization);
setStyles(STYLES); setStyles(STYLES);
} }