mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-13 16:20:34 +00:00
AbstractHafasMobileProvider: Require API version 1.11 or higher, and advance all API versions to 1.13.
This commit is contained in:
parent
0bcc9ce640
commit
d5e8c3c422
11 changed files with 13 additions and 15 deletions
|
@ -17,6 +17,7 @@
|
||||||
|
|
||||||
package de.schildbach.pte;
|
package de.schildbach.pte;
|
||||||
|
|
||||||
|
import static com.google.common.base.Preconditions.checkArgument;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import static com.google.common.base.Preconditions.checkState;
|
import static com.google.common.base.Preconditions.checkState;
|
||||||
|
|
||||||
|
@ -84,6 +85,7 @@ public abstract class AbstractHafasMobileProvider extends AbstractHafasProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AbstractHafasMobileProvider setApiVersion(final String apiVersion) {
|
protected AbstractHafasMobileProvider setApiVersion(final String apiVersion) {
|
||||||
|
checkArgument(apiVersion.compareToIgnoreCase("1.11") >= 0, "apiVersion must be 1.11 or higher");
|
||||||
this.apiVersion = apiVersion;
|
this.apiVersion = apiVersion;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -231,9 +233,6 @@ public abstract class AbstractHafasMobileProvider extends AbstractHafasProvider
|
||||||
if ("FAIL".equals(err) && "HCI Service: request failed".equals(errTxt))
|
if ("FAIL".equals(err) && "HCI Service: request failed".equals(errTxt))
|
||||||
return new QueryDeparturesResult(header, QueryDeparturesResult.Status.SERVICE_DOWN);
|
return new QueryDeparturesResult(header, QueryDeparturesResult.Status.SERVICE_DOWN);
|
||||||
throw new RuntimeException(err + " " + errTxt);
|
throw new RuntimeException(err + " " + errTxt);
|
||||||
} else if ("1.10".equals(apiVersion) && svcRes.toString().length() == 170) {
|
|
||||||
// horrible hack, because API version 1.10 doesn't signal invalid stations via error
|
|
||||||
return new QueryDeparturesResult(header, QueryDeparturesResult.Status.INVALID_STATION);
|
|
||||||
}
|
}
|
||||||
final JSONObject res = svcRes.getJSONObject("res");
|
final JSONObject res = svcRes.getJSONObject("res");
|
||||||
|
|
||||||
|
@ -400,7 +399,6 @@ public abstract class AbstractHafasMobileProvider extends AbstractHafasProvider
|
||||||
c.setTime(time);
|
c.setTime(time);
|
||||||
final CharSequence outDate = jsonDate(c);
|
final CharSequence outDate = jsonDate(c);
|
||||||
final CharSequence outTime = jsonTime(c);
|
final CharSequence outTime = jsonTime(c);
|
||||||
final CharSequence outFrwdKey = "1.11".equals(apiVersion) ? "outFrwd" : "frwd";
|
|
||||||
final CharSequence outFrwd = Boolean.toString(dep);
|
final CharSequence outFrwd = Boolean.toString(dep);
|
||||||
final CharSequence jnyFltr = productsString(products);
|
final CharSequence jnyFltr = productsString(products);
|
||||||
final CharSequence jsonContext = moreContext != null ? "\"ctxScr\":" + JSONObject.quote(moreContext) + "," : "";
|
final CharSequence jsonContext = moreContext != null ? "\"ctxScr\":" + JSONObject.quote(moreContext) + "," : "";
|
||||||
|
@ -411,7 +409,7 @@ public abstract class AbstractHafasMobileProvider extends AbstractHafasProvider
|
||||||
+ (via != null ? "\"viaLocL\":[{\"loc\":" + jsonLocation(via) + "}]," : "") //
|
+ (via != null ? "\"viaLocL\":[{\"loc\":" + jsonLocation(via) + "}]," : "") //
|
||||||
+ "\"outDate\":\"" + outDate + "\"," //
|
+ "\"outDate\":\"" + outDate + "\"," //
|
||||||
+ "\"outTime\":\"" + outTime + "\"," //
|
+ "\"outTime\":\"" + outTime + "\"," //
|
||||||
+ "\"" + outFrwdKey + "\":" + outFrwd + "," //
|
+ "\"outFrwd\":" + outFrwd + "," //
|
||||||
+ "\"jnyFltrL\":[{\"value\":\"" + jnyFltr + "\",\"mode\":\"BIT\",\"type\":\"PROD\"}]," //
|
+ "\"jnyFltrL\":[{\"value\":\"" + jnyFltr + "\",\"mode\":\"BIT\",\"type\":\"PROD\"}]," //
|
||||||
+ "\"gisFltrL\":[{\"mode\":\"FB\",\"profile\":{\"type\":\"F\",\"linDistRouting\":false,\"maxdist\":2000},\"type\":\"P\"}]," //
|
+ "\"gisFltrL\":[{\"mode\":\"FB\",\"profile\":{\"type\":\"F\",\"linDistRouting\":false,\"maxdist\":2000},\"type\":\"P\"}]," //
|
||||||
+ "\"getPolyline\":false,\"getPasslist\":true,\"getIST\":false,\"getEco\":false,\"extChgTime\":-1}", //
|
+ "\"getPolyline\":false,\"getPasslist\":true,\"getIST\":false,\"getEco\":false,\"extChgTime\":-1}", //
|
||||||
|
|
|
@ -45,7 +45,7 @@ public final class BvgProvider extends AbstractHafasMobileProvider {
|
||||||
|
|
||||||
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.11");
|
setApiVersion("1.13");
|
||||||
setApiClient("{\"id\":\"BVG\"}");
|
setApiClient("{\"id\":\"BVG\"}");
|
||||||
setApiAuthorization(jsonApiAuthorization);
|
setApiAuthorization(jsonApiAuthorization);
|
||||||
setStyles(STYLES);
|
setStyles(STYLES);
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class OoevvProvider extends AbstractHafasMobileProvider {
|
||||||
|
|
||||||
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.11");
|
setApiVersion("1.13");
|
||||||
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_ooevv\",\"type\":\"AND\"}");
|
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_ooevv\",\"type\":\"AND\"}");
|
||||||
setApiAuthorization(apiAuthorization);
|
setApiAuthorization(apiAuthorization);
|
||||||
httpClient.setSslAcceptAllHostnames(true);
|
httpClient.setSslAcceptAllHostnames(true);
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class ShProvider extends AbstractHafasMobileProvider {
|
||||||
|
|
||||||
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.10");
|
setApiVersion("1.13");
|
||||||
setApiClient("{\"id\":\"NAHSH\"}");
|
setApiClient("{\"id\":\"NAHSH\"}");
|
||||||
setApiAuthorization(apiAuthorization);
|
setApiAuthorization(apiAuthorization);
|
||||||
setStyles(STYLES);
|
setStyles(STYLES);
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class SvvProvider extends AbstractHafasMobileProvider {
|
||||||
|
|
||||||
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.11");
|
setApiVersion("1.13");
|
||||||
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_svv\",\"type\":\"AND\"}");
|
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_svv\",\"type\":\"AND\"}");
|
||||||
setApiAuthorization(apiAuthorization);
|
setApiAuthorization(apiAuthorization);
|
||||||
setStyles(STYLES);
|
setStyles(STYLES);
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class VaoProvider extends AbstractHafasMobileProvider {
|
||||||
|
|
||||||
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.11");
|
setApiVersion("1.13");
|
||||||
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_vvv\",\"type\":\"AND\"}");
|
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_vvv\",\"type\":\"AND\"}");
|
||||||
setApiAuthorization(apiAuthorization);
|
setApiAuthorization(apiAuthorization);
|
||||||
setStyles(STYLES);
|
setStyles(STYLES);
|
||||||
|
|
|
@ -47,7 +47,7 @@ public class VbnProvider extends AbstractHafasMobileProvider {
|
||||||
|
|
||||||
public VbnProvider(final String apiAuthorization) {
|
public VbnProvider(final String apiAuthorization) {
|
||||||
super(NetworkId.VBN, API_BASE, PRODUCTS_MAP);
|
super(NetworkId.VBN, API_BASE, PRODUCTS_MAP);
|
||||||
setApiVersion("1.10");
|
setApiVersion("1.13");
|
||||||
setApiClient("{\"id\":\"VBN\"}");
|
setApiClient("{\"id\":\"VBN\"}");
|
||||||
setApiAuthorization(apiAuthorization);
|
setApiAuthorization(apiAuthorization);
|
||||||
setStyles(STYLES);
|
setStyles(STYLES);
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class VmobilProvider extends AbstractHafasMobileProvider {
|
||||||
|
|
||||||
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.11");
|
setApiVersion("1.13");
|
||||||
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_vvv\",\"type\":\"AND\"}");
|
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_vvv\",\"type\":\"AND\"}");
|
||||||
setApiAuthorization(apiAuthorization);
|
setApiAuthorization(apiAuthorization);
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class VmtProvider extends AbstractHafasMobileProvider {
|
||||||
|
|
||||||
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.10");
|
setApiVersion("1.13");
|
||||||
setApiClient("{\"name\":\"VMT\"}");
|
setApiClient("{\"name\":\"VMT\"}");
|
||||||
setApiAuthorization(jsonApiAuthorization);
|
setApiAuthorization(jsonApiAuthorization);
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class VorProvider extends AbstractHafasMobileProvider {
|
||||||
|
|
||||||
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.11");
|
setApiVersion("1.13");
|
||||||
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_anachb\",\"type\":\"AND\"}");
|
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_anachb\",\"type\":\"AND\"}");
|
||||||
setApiAuthorization(apiAuthorization);
|
setApiAuthorization(apiAuthorization);
|
||||||
setStyles(STYLES);
|
setStyles(STYLES);
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class VvtProvider extends AbstractHafasMobileProvider {
|
||||||
|
|
||||||
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.11");
|
setApiVersion("1.13");
|
||||||
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_vvt\",\"type\":\"AND\"}");
|
setApiClient("{\"id\":\"VAO\",\"l\":\"vs_vvt\",\"type\":\"AND\"}");
|
||||||
setApiAuthorization(apiAuthorization);
|
setApiAuthorization(apiAuthorization);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue