From 229e88eaf4e6b279e672627232afd3cd7082525c Mon Sep 17 00:00:00 2001 From: Andreas Schildbach Date: Fri, 8 Nov 2013 17:02:14 +0100 Subject: [PATCH] Fix extxml handling --- enabler/src/de/schildbach/pte/AbstractHafasProvider.java | 9 ++++++++- enabler/src/de/schildbach/pte/InvgProvider.java | 3 ++- enabler/src/de/schildbach/pte/SbbProvider.java | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java index eb6aeab2..be8c81ee 100644 --- a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java @@ -92,6 +92,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider private boolean dominantPlanStopTime = false; private boolean canDoEquivs = true; private boolean useIso8601 = false; + private String extXmlEndpoint = null; private static class Context implements QueryTripsContext { @@ -195,6 +196,11 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider this.useIso8601 = useIso8601; } + protected void setExtXmlEndpoint(final String extXmlEndpoint) + { + this.extXmlEndpoint = extXmlEndpoint; + } + protected TimeZone timeZone() { return TimeZone.getTimeZone("CET"); @@ -1058,7 +1064,8 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider try { - reader = new InputStreamReader(ParserUtils.scrapeInputStream(queryEndpoint, wrap(request, null), null, null, null, 3), ISO_8859_1); + final String endpoint = extXmlEndpoint != null ? extXmlEndpoint : queryEndpoint; + reader = new InputStreamReader(ParserUtils.scrapeInputStream(endpoint, wrap(request, null), null, null, null, 3), ISO_8859_1); final XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null); final XmlPullParser pp = factory.newPullParser(); diff --git a/enabler/src/de/schildbach/pte/InvgProvider.java b/enabler/src/de/schildbach/pte/InvgProvider.java index b897165f..44eb6504 100644 --- a/enabler/src/de/schildbach/pte/InvgProvider.java +++ b/enabler/src/de/schildbach/pte/InvgProvider.java @@ -54,9 +54,10 @@ public class InvgProvider extends AbstractHafasProvider public InvgProvider() { - super(API_BASE + "stboard.exe/dn", null, API_BASE + "extxml.exe", 10); + super(API_BASE + "stboard.exe/dn", null, API_BASE + "query.exe/dn", 10); setStyles(STYLES); + setExtXmlEndpoint(API_BASE + "extxml.exe"); } public NetworkId id() diff --git a/enabler/src/de/schildbach/pte/SbbProvider.java b/enabler/src/de/schildbach/pte/SbbProvider.java index a0319872..18a315eb 100644 --- a/enabler/src/de/schildbach/pte/SbbProvider.java +++ b/enabler/src/de/schildbach/pte/SbbProvider.java @@ -37,9 +37,10 @@ public class SbbProvider extends AbstractHafasProvider public SbbProvider(final String accessId) { - super(API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "extxml.exe", 10); + super(API_BASE + "stboard.exe/dn", API_BASE + "ajax-getstop.exe/dn", API_BASE + "query.exe/dn", 10); setAccessId(accessId); + setExtXmlEndpoint(API_BASE + "extxml.exe"); } public NetworkId id()