Hafas: Use setters for non-standard character encodings, rather than the constructor parameter.

This commit is contained in:
Andreas Schildbach 2015-09-04 16:54:09 +02:00
parent 27f60db22b
commit 10d04bcb39
16 changed files with 53 additions and 26 deletions

View file

@ -98,9 +98,9 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
private Product[] productsMap; private Product[] productsMap;
private @Nullable String accessId = null; private @Nullable String accessId = null;
private @Nullable String clientType = "ANDROID"; private @Nullable String clientType = "ANDROID";
private Charset jsonGetStopsEncoding; private Charset jsonGetStopsEncoding = Charsets.ISO_8859_1;
private boolean jsonGetStopsUseWeight = true; private boolean jsonGetStopsUseWeight = true;
private Charset jsonNearbyLocationsEncoding; private Charset jsonNearbyLocationsEncoding = Charsets.ISO_8859_1;
private boolean dominantPlanStopTime = false; private boolean dominantPlanStopTime = false;
private boolean useIso8601 = false; private boolean useIso8601 = false;
private @Nullable String extXmlEndpoint = null; 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, public AbstractHafasProvider(final NetworkId network, final String stationBoardEndpoint, final String getStopEndpoint, final String queryEndpoint,
final Product[] productsMap) 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); super(network);
@ -177,8 +171,6 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
this.getStopEndpoint = getStopEndpoint; this.getStopEndpoint = getStopEndpoint;
this.queryEndpoint = queryEndpoint; this.queryEndpoint = queryEndpoint;
this.productsMap = productsMap; this.productsMap = productsMap;
this.jsonGetStopsEncoding = jsonEncoding;
this.jsonNearbyLocationsEncoding = jsonEncoding;
} }
protected void setClientType(final String clientType) protected void setClientType(final String clientType)

View file

@ -44,10 +44,11 @@ public final class BvgProvider extends AbstractHafasProvider
public BvgProvider() 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, 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);
setJsonGetStopsUseWeight(false); setJsonGetStopsUseWeight(false);
setJsonGetStopsEncoding(Charsets.UTF_8);
setJsonNearbyLocationsEncoding(Charsets.UTF_8);
setStyles(STYLES); setStyles(STYLES);
} }

View file

@ -66,9 +66,11 @@ public class InvgProvider extends AbstractHafasProvider
public InvgProvider() 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); setStationBoardCanDoEquivs(false);
setJsonGetStopsEncoding(Charsets.UTF_8);
setJsonNearbyLocationsEncoding(Charsets.UTF_8);
setStyles(STYLES); setStyles(STYLES);
setExtXmlEndpoint(API_BASE + "extxml.exe"); setExtXmlEndpoint(API_BASE + "extxml.exe");
} }

View file

@ -42,7 +42,10 @@ public class JetProvider extends AbstractHafasProvider
public JetProvider() 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 @Override

View file

@ -34,7 +34,10 @@ public class LuProvider extends AbstractHafasProvider
public LuProvider() 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 @Override

View file

@ -40,8 +40,10 @@ public class NasaProvider extends AbstractHafasProvider
public NasaProvider() 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); setStationBoardHasLocation(true);
} }

View file

@ -41,7 +41,10 @@ public class NvvProvider extends AbstractHafasProvider
public NvvProvider() 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", private static final String[] PLACES = { "Frankfurt (Main)", "Offenbach (Main)", "Mainz", "Wiesbaden", "Marburg", "Kassel", "Hanau", "Göttingen",

View file

@ -35,7 +35,10 @@ public class PlProvider extends AbstractHafasProvider
public PlProvider() 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" }; private static final String[] PLACES = { "Warszawa", "Kraków" };

View file

@ -40,8 +40,10 @@ public class RsagProvider extends AbstractHafasProvider
public RsagProvider() 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); setStyles(STYLES);
} }

View file

@ -35,8 +35,9 @@ public class RtProvider extends AbstractHafasProvider
public RtProvider() 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); setJsonNearbyLocationsEncoding(Charsets.ISO_8859_1);
setStationBoardHasStationTable(false); setStationBoardHasStationTable(false);
} }

View file

@ -40,8 +40,10 @@ public class SeProvider extends AbstractHafasProvider
public SeProvider() 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); setUseIso8601(true);
setStationBoardHasStationTable(false); setStationBoardHasStationTable(false);
setStationBoardCanDoEquivs(false); setStationBoardCanDoEquivs(false);

View file

@ -36,7 +36,10 @@ public class ShProvider extends AbstractHafasProvider
public ShProvider() 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" }; private static final String[] PLACES = { "Hamburg", "Kiel", "Lübeck", "Flensburg", "Neumünster" };

View file

@ -40,9 +40,11 @@ public class VbbProvider extends AbstractHafasProvider
public VbbProvider() 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); 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)\\))?"); private static final Pattern P_SPLIT_NAME_SU = Pattern.compile("(.*?)(?:\\s+\\((S|U|S\\+U)\\))?");

View file

@ -32,7 +32,10 @@ public class VbnProvider extends AbstractHafasProvider
public VbnProvider() 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" }; private static final String[] PLACES = { "Bremen", "Bremerhaven", "Oldenburg(Oldb)", "Osnabrück", "Göttingen" };

View file

@ -38,7 +38,10 @@ public class VsnProvider extends AbstractHafasProvider
public VsnProvider() 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" }; private static final String[] PLACES = { "Göttingen" };

View file

@ -39,8 +39,10 @@ public class ZvvProvider extends AbstractHafasProvider
public ZvvProvider() 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); setStyles(STYLES);
} }