From 10d04bcb39aae3a59d0d6ef5314d52873daeada8 Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Fri, 4 Sep 2015 16:54:09 +0200 Subject: [PATCH] Hafas: Use setters for non-standard character encodings, rather than the constructor parameter. --- .../src/de/schildbach/pte/AbstractHafasProvider.java | 12 ++---------- enabler/src/de/schildbach/pte/BvgProvider.java | 5 +++-- enabler/src/de/schildbach/pte/InvgProvider.java | 4 +++- enabler/src/de/schildbach/pte/JetProvider.java | 5 ++++- enabler/src/de/schildbach/pte/LuProvider.java | 5 ++++- enabler/src/de/schildbach/pte/NasaProvider.java | 4 +++- enabler/src/de/schildbach/pte/NvvProvider.java | 5 ++++- enabler/src/de/schildbach/pte/PlProvider.java | 5 ++++- enabler/src/de/schildbach/pte/RsagProvider.java | 4 +++- enabler/src/de/schildbach/pte/RtProvider.java | 3 ++- enabler/src/de/schildbach/pte/SeProvider.java | 4 +++- enabler/src/de/schildbach/pte/ShProvider.java | 5 ++++- enabler/src/de/schildbach/pte/VbbProvider.java | 4 +++- enabler/src/de/schildbach/pte/VbnProvider.java | 5 ++++- enabler/src/de/schildbach/pte/VsnProvider.java | 5 ++++- enabler/src/de/schildbach/pte/ZvvProvider.java | 4 +++- 16 files changed, 53 insertions(+), 26 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java index 740b33f4..aab61d23 100644 --- a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java @@ -98,9 +98,9 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider private Product[] productsMap; private @Nullable String accessId = null; private @Nullable String clientType = "ANDROID"; - private Charset jsonGetStopsEncoding; + private Charset jsonGetStopsEncoding = Charsets.ISO_8859_1; private boolean jsonGetStopsUseWeight = true; - private Charset jsonNearbyLocationsEncoding; + private Charset jsonNearbyLocationsEncoding = Charsets.ISO_8859_1; private boolean dominantPlanStopTime = false; private boolean useIso8601 = false; private @Nullable String extXmlEndpoint = null; @@ -164,12 +164,6 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider public AbstractHafasProvider(final NetworkId network, final String stationBoardEndpoint, final String getStopEndpoint, final String queryEndpoint, final Product[] productsMap) - { - this(network, stationBoardEndpoint, getStopEndpoint, queryEndpoint, productsMap, Charsets.ISO_8859_1); - } - - public AbstractHafasProvider(final NetworkId network, final String stationBoardEndpoint, final String getStopEndpoint, final String queryEndpoint, - final Product[] productsMap, final Charset jsonEncoding) { super(network); @@ -177,8 +171,6 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider this.getStopEndpoint = getStopEndpoint; this.queryEndpoint = queryEndpoint; this.productsMap = productsMap; - this.jsonGetStopsEncoding = jsonEncoding; - this.jsonNearbyLocationsEncoding = jsonEncoding; } protected void setClientType(final String clientType) diff --git a/enabler/src/de/schildbach/pte/BvgProvider.java b/enabler/src/de/schildbach/pte/BvgProvider.java index 9b6e71c7..4f7edfee 100644 --- a/enabler/src/de/schildbach/pte/BvgProvider.java +++ b/enabler/src/de/schildbach/pte/BvgProvider.java @@ -44,10 +44,11 @@ public final class BvgProvider extends AbstractHafasProvider public BvgProvider() { - super(NetworkId.BVG, API_BASE_STATION_BOARD + "stboard.exe/dn", API_BASE + "ajax-getstop.bin/dny", API_BASE + "query.bin/dn", PRODUCTS_MAP, - Charsets.UTF_8); + super(NetworkId.BVG, API_BASE_STATION_BOARD + "stboard.exe/dn", API_BASE + "ajax-getstop.bin/dny", API_BASE + "query.bin/dn", PRODUCTS_MAP); setJsonGetStopsUseWeight(false); + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); setStyles(STYLES); } diff --git a/enabler/src/de/schildbach/pte/InvgProvider.java b/enabler/src/de/schildbach/pte/InvgProvider.java index b6879000..bf2a61ff 100644 --- a/enabler/src/de/schildbach/pte/InvgProvider.java +++ b/enabler/src/de/schildbach/pte/InvgProvider.java @@ -66,9 +66,11 @@ public class InvgProvider extends AbstractHafasProvider public InvgProvider() { - super(NetworkId.INVG, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.INVG, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP); setStationBoardCanDoEquivs(false); + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); setStyles(STYLES); setExtXmlEndpoint(API_BASE + "extxml.exe"); } diff --git a/enabler/src/de/schildbach/pte/JetProvider.java b/enabler/src/de/schildbach/pte/JetProvider.java index d163d6fe..4a0d2ccb 100644 --- a/enabler/src/de/schildbach/pte/JetProvider.java +++ b/enabler/src/de/schildbach/pte/JetProvider.java @@ -42,7 +42,10 @@ public class JetProvider extends AbstractHafasProvider public JetProvider() { - super(NetworkId.JET, API_BASE + "stboard.bin/yn", API_BASE + "ajax-getstop.bin/yn", API_BASE + "query.bin/yn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.JET, API_BASE + "stboard.bin/yn", API_BASE + "ajax-getstop.bin/yn", API_BASE + "query.bin/yn", PRODUCTS_MAP); + + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); } @Override diff --git a/enabler/src/de/schildbach/pte/LuProvider.java b/enabler/src/de/schildbach/pte/LuProvider.java index d11af67a..be27ba7f 100644 --- a/enabler/src/de/schildbach/pte/LuProvider.java +++ b/enabler/src/de/schildbach/pte/LuProvider.java @@ -34,7 +34,10 @@ public class LuProvider extends AbstractHafasProvider public LuProvider() { - super(NetworkId.LU, API_BASE + "stboard.exe/fn", API_BASE + "ajax-getstop.exe/fn", API_BASE + "query.exe/fn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.LU, API_BASE + "stboard.exe/fn", API_BASE + "ajax-getstop.exe/fn", API_BASE + "query.exe/fn", PRODUCTS_MAP); + + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); } @Override diff --git a/enabler/src/de/schildbach/pte/NasaProvider.java b/enabler/src/de/schildbach/pte/NasaProvider.java index 9b763805..f08fb586 100644 --- a/enabler/src/de/schildbach/pte/NasaProvider.java +++ b/enabler/src/de/schildbach/pte/NasaProvider.java @@ -40,8 +40,10 @@ public class NasaProvider extends AbstractHafasProvider public NasaProvider() { - super(NetworkId.NASA, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.NASA, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP); + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); setStationBoardHasLocation(true); } diff --git a/enabler/src/de/schildbach/pte/NvvProvider.java b/enabler/src/de/schildbach/pte/NvvProvider.java index 7951c911..77ec541a 100644 --- a/enabler/src/de/schildbach/pte/NvvProvider.java +++ b/enabler/src/de/schildbach/pte/NvvProvider.java @@ -41,7 +41,10 @@ public class NvvProvider extends AbstractHafasProvider public NvvProvider() { - super(NetworkId.NVV, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.NVV, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP); + + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); } private static final String[] PLACES = { "Frankfurt (Main)", "Offenbach (Main)", "Mainz", "Wiesbaden", "Marburg", "Kassel", "Hanau", "Göttingen", diff --git a/enabler/src/de/schildbach/pte/PlProvider.java b/enabler/src/de/schildbach/pte/PlProvider.java index dffcd788..95ed61cd 100644 --- a/enabler/src/de/schildbach/pte/PlProvider.java +++ b/enabler/src/de/schildbach/pte/PlProvider.java @@ -35,7 +35,10 @@ public class PlProvider extends AbstractHafasProvider public PlProvider() { - super(NetworkId.PL, API_BASE + "stboard.exe/pn", API_BASE + "ajax-getstop.exe/pn", API_BASE + "query.exe/pn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.PL, API_BASE + "stboard.exe/pn", API_BASE + "ajax-getstop.exe/pn", API_BASE + "query.exe/pn", PRODUCTS_MAP); + + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); } private static final String[] PLACES = { "Warszawa", "Kraków" }; diff --git a/enabler/src/de/schildbach/pte/RsagProvider.java b/enabler/src/de/schildbach/pte/RsagProvider.java index b8c40ade..1090d656 100644 --- a/enabler/src/de/schildbach/pte/RsagProvider.java +++ b/enabler/src/de/schildbach/pte/RsagProvider.java @@ -40,8 +40,10 @@ public class RsagProvider extends AbstractHafasProvider public RsagProvider() { - super(NetworkId.RSAG, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.RSAG, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP); + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); setStyles(STYLES); } diff --git a/enabler/src/de/schildbach/pte/RtProvider.java b/enabler/src/de/schildbach/pte/RtProvider.java index 9f3c5e8e..27befaf3 100644 --- a/enabler/src/de/schildbach/pte/RtProvider.java +++ b/enabler/src/de/schildbach/pte/RtProvider.java @@ -35,8 +35,9 @@ public class RtProvider extends AbstractHafasProvider public RtProvider() { - super(NetworkId.RT, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.RT, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP); + setJsonGetStopsEncoding(Charsets.UTF_8); setJsonNearbyLocationsEncoding(Charsets.ISO_8859_1); setStationBoardHasStationTable(false); } diff --git a/enabler/src/de/schildbach/pte/SeProvider.java b/enabler/src/de/schildbach/pte/SeProvider.java index 7fc12fd3..9f5bb0bf 100644 --- a/enabler/src/de/schildbach/pte/SeProvider.java +++ b/enabler/src/de/schildbach/pte/SeProvider.java @@ -40,8 +40,10 @@ public class SeProvider extends AbstractHafasProvider public SeProvider() { - super(NetworkId.SE, API_BASE + "stboard.exe/sn", API_BASE + "ajax-getstop.exe/sny", API_BASE + "query.exe/sn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.SE, API_BASE + "stboard.exe/sn", API_BASE + "ajax-getstop.exe/sny", API_BASE + "query.exe/sn", PRODUCTS_MAP); + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); setUseIso8601(true); setStationBoardHasStationTable(false); setStationBoardCanDoEquivs(false); diff --git a/enabler/src/de/schildbach/pte/ShProvider.java b/enabler/src/de/schildbach/pte/ShProvider.java index b6e1bbd5..f9879135 100644 --- a/enabler/src/de/schildbach/pte/ShProvider.java +++ b/enabler/src/de/schildbach/pte/ShProvider.java @@ -36,7 +36,10 @@ public class ShProvider extends AbstractHafasProvider public ShProvider() { - super(NetworkId.SH, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.SH, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP); + + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); } private static final String[] PLACES = { "Hamburg", "Kiel", "Lübeck", "Flensburg", "Neumünster" }; diff --git a/enabler/src/de/schildbach/pte/VbbProvider.java b/enabler/src/de/schildbach/pte/VbbProvider.java index 9f091895..6e47685e 100644 --- a/enabler/src/de/schildbach/pte/VbbProvider.java +++ b/enabler/src/de/schildbach/pte/VbbProvider.java @@ -40,9 +40,11 @@ public class VbbProvider extends AbstractHafasProvider public VbbProvider() { - super(NetworkId.VBB, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.VBB, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP); setJsonGetStopsUseWeight(false); + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); } private static final Pattern P_SPLIT_NAME_SU = Pattern.compile("(.*?)(?:\\s+\\((S|U|S\\+U)\\))?"); diff --git a/enabler/src/de/schildbach/pte/VbnProvider.java b/enabler/src/de/schildbach/pte/VbnProvider.java index 53f0af6d..580be28d 100644 --- a/enabler/src/de/schildbach/pte/VbnProvider.java +++ b/enabler/src/de/schildbach/pte/VbnProvider.java @@ -32,7 +32,10 @@ public class VbnProvider extends AbstractHafasProvider public VbnProvider() { - super(NetworkId.VBN, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dny", API_BASE + "query.exe/dn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.VBN, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dny", API_BASE + "query.exe/dn", PRODUCTS_MAP); + + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); } private static final String[] PLACES = { "Bremen", "Bremerhaven", "Oldenburg(Oldb)", "Osnabrück", "Göttingen" }; diff --git a/enabler/src/de/schildbach/pte/VsnProvider.java b/enabler/src/de/schildbach/pte/VsnProvider.java index b06829ba..d225fdd7 100644 --- a/enabler/src/de/schildbach/pte/VsnProvider.java +++ b/enabler/src/de/schildbach/pte/VsnProvider.java @@ -38,7 +38,10 @@ public class VsnProvider extends AbstractHafasProvider public VsnProvider() { - super(NetworkId.VSN, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.VSN, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP); + + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); } private static final String[] PLACES = { "Göttingen" }; diff --git a/enabler/src/de/schildbach/pte/ZvvProvider.java b/enabler/src/de/schildbach/pte/ZvvProvider.java index 7da8ba07..de242076 100644 --- a/enabler/src/de/schildbach/pte/ZvvProvider.java +++ b/enabler/src/de/schildbach/pte/ZvvProvider.java @@ -39,8 +39,10 @@ public class ZvvProvider extends AbstractHafasProvider public ZvvProvider() { - super(NetworkId.ZVV, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP, Charsets.UTF_8); + super(NetworkId.ZVV, API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", PRODUCTS_MAP); + setJsonGetStopsEncoding(Charsets.UTF_8); + setJsonNearbyLocationsEncoding(Charsets.UTF_8); setStyles(STYLES); }