From a844c5bc5642a051493d6a6936d31c5ae43d1603 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Mon, 7 Nov 2016 22:22:14 +0100 Subject: [PATCH] EFA: Parse serverID from . --- .../src/de/schildbach/pte/AbstractEfaProvider.java | 11 +++++++---- .../de/schildbach/pte/AbstractHafasProvider.java | 14 +++++++------- .../de/schildbach/pte/AbstractNavitiaProvider.java | 10 +++++----- enabler/src/de/schildbach/pte/VrsProvider.java | 7 +++---- .../src/de/schildbach/pte/dto/ResultHeader.java | 9 ++++++--- 5 files changed, 28 insertions(+), 23 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index 31cb9cb8..e29436f4 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -3141,6 +3141,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider { final String serverVersion = XmlPullUtil.attr(pp, "version"); final String now = XmlPullUtil.optAttr(pp, "now", null); final String sessionId = XmlPullUtil.attr(pp, "sessionID"); + final String serverId = XmlPullUtil.attr(pp, "serverID"); final long serverTime; if (now != null) { @@ -3152,7 +3153,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider { serverTime = 0; } - final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, serverVersion, serverTime, sessionId); + final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, serverVersion, serverId, serverTime, + sessionId); XmlPullUtil.enter(pp, "itdRequest"); @@ -3183,11 +3185,12 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider { ParserUtils.parseEuropeanTime(serverTime, now.substring(11)); final Map params = processPas(pp); - final String sessionId = params.get("sessionID"); final String requestId = params.get("requestID"); + final String sessionId = params.get("sessionID"); + final String serverId = params.get("serverID"); - final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, null, serverTime.getTimeInMillis(), - new String[] { sessionId, requestId }); + final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, null, serverId, + serverTime.getTimeInMillis(), new String[] { sessionId, requestId }); return header; } diff --git a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java index 0df344e8..97b74790 100644 --- a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java @@ -836,7 +836,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider { final String headErr = head.optString("err", null); if (headErr != null) throw new RuntimeException(headErr); - final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, head.getString("ver"), 0, null); + final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, head.getString("ver"), null, 0, null); final JSONArray svcResList = head.getJSONArray("svcResL"); checkState(svcResList.length() == 1); @@ -901,7 +901,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider { final String headErr = head.optString("err", null); if (headErr != null) throw new RuntimeException(headErr); - final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, head.getString("ver"), 0, null); + final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, head.getString("ver"), null, 0, null); final QueryDeparturesResult result = new QueryDeparturesResult(header); final JSONArray svcResList = head.getJSONArray("svcResL"); @@ -1000,7 +1000,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider { final String headErr = head.optString("err", null); if (headErr != null) throw new RuntimeException(headErr); - final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, head.getString("ver"), 0, null); + final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, head.getString("ver"), null, 0, null); final JSONArray svcResList = head.getJSONArray("svcResL"); checkState(svcResList.length() == 1); @@ -1092,7 +1092,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider { final String headErr = head.optString("err", null); if (headErr != null) throw new RuntimeException(headErr); - final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, head.getString("ver"), 0, null); + final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, head.getString("ver"), null, 0, null); final JSONArray svcResList = head.getJSONArray("svcResL"); checkState(svcResList.length() == 1); @@ -1516,7 +1516,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider { XmlPullUtil.require(pp, "ResC"); final String product = XmlPullUtil.attr(pp, "prod").split(" ")[0]; - final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, product, 0, null); + final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, product, null, 0, null); XmlPullUtil.enter(pp, "ResC"); if (XmlPullUtil.test(pp, "Err")) { @@ -2168,8 +2168,8 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider { final int version = is.readShortReverse(); if (version != 6 && version != 5) throw new IllegalStateException("unknown version: " + version + ", first chars: " + bodyPeek); - final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, Integer.toString(version), 0, - null); + final ResultHeader header = new ResultHeader(network, SERVER_PRODUCT, Integer.toString(version), null, + 0, null); // quick seek for pointers is.reset(); diff --git a/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java b/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java index dd0a95a5..9e6c16b1 100644 --- a/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java @@ -668,7 +668,7 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider { @Override public NearbyLocationsResult queryNearbyLocations(final EnumSet types, final Location location, int maxDistance, final int maxLocations) throws IOException { - final ResultHeader resultHeader = new ResultHeader(network, SERVER_PRODUCT, SERVER_VERSION, 0, null); + final ResultHeader resultHeader = new ResultHeader(network, SERVER_PRODUCT, SERVER_VERSION, null, 0, null); // Build query uri depending of location type. final StringBuilder queryUri = new StringBuilder(uri()); @@ -739,7 +739,7 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider { final int maxDepartures, final boolean equivs) throws IOException { checkNotNull(Strings.emptyToNull(stationId)); - final ResultHeader resultHeader = new ResultHeader(network, SERVER_PRODUCT, SERVER_VERSION, 0, null); + final ResultHeader resultHeader = new ResultHeader(network, SERVER_PRODUCT, SERVER_VERSION, null, 0, null); try { final QueryDeparturesResult result = new QueryDeparturesResult(resultHeader, @@ -863,7 +863,7 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider { } } - final ResultHeader resultHeader = new ResultHeader(network, SERVER_PRODUCT, SERVER_VERSION, 0, null); + final ResultHeader resultHeader = new ResultHeader(network, SERVER_PRODUCT, SERVER_VERSION, null, 0, null); return new SuggestLocationsResult(resultHeader, locations); } catch (final JSONException jsonExc) { throw new ParserException(jsonExc); @@ -875,7 +875,7 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider { final Date date, final boolean dep, final @Nullable Set products, final @Nullable Optimize optimize, final @Nullable WalkSpeed walkSpeed, final @Nullable Accessibility accessibility, final @Nullable Set