diff --git a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java index be8c81ee..9a5ccc71 100644 --- a/enabler/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractHafasProvider.java @@ -78,7 +78,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider { protected final static String SERVER_PRODUCT = "hafas"; - private static final String PROD = "hafas"; + private static final String REQC_PROD = "hafas"; protected final String stationBoardEndpoint; protected final String getStopEndpoint; @@ -237,10 +237,10 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider return new String[] { null, name }; } - private final String wrap(final String request, final Charset encoding) + private final String wrapReqC(final CharSequence request, final Charset encoding) { return "" // - + "" // + + "" // + request // + ""; } @@ -320,15 +320,16 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider public List xmlLocValReq(final CharSequence constraint) throws IOException { - final String request = ""; + final String locValReq = ""; + final String request = wrapReqC(locValReq, null); - // System.out.println(ParserUtils.scrape(apiUri, true, wrap(request), null, false)); + // System.out.println(ParserUtils.scrape(apiUri, true, request, null, false)); Reader reader = null; try { - reader = new InputStreamReader(ParserUtils.scrapeInputStream(queryEndpoint, wrap(request, null), null, null, null, 3), ISO_8859_1); + reader = new InputStreamReader(ParserUtils.scrapeInputStream(queryEndpoint, request, null, null, null, 3), ISO_8859_1); final List results = new ArrayList(); @@ -544,17 +545,16 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider protected final List xmlMLcReq(final CharSequence constraint) throws IOException { - final String request = ""; - final String wrappedRequest = wrap(request, xmlMlcResEncoding); + final String mlcReq = ""; + final String request = wrapReqC(mlcReq, xmlMlcResEncoding); - // ParserUtils.printXml(ParserUtils.scrape(apiUri, wrappedRequest, xmlMlcResEncoding, null)); + // ParserUtils.printXml(ParserUtils.scrape(apiUri, request, xmlMlcResEncoding, null)); Reader reader = null; try { - reader = new InputStreamReader(ParserUtils.scrapeInputStream(queryEndpoint, wrappedRequest, xmlMlcResEncoding, null, null, 3), - xmlMlcResEncoding); + reader = new InputStreamReader(ParserUtils.scrapeInputStream(queryEndpoint, request, xmlMlcResEncoding, null, null, 3), xmlMlcResEncoding); final XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null); final XmlPullParser pp = factory.newPullParser(); @@ -1007,38 +1007,38 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider final char bikeChar = (options != null && options.contains(Option.BIKE)) ? '1' : '0'; - final StringBuilder request = new StringBuilder(""); - request.append("").append(locationXml(from)); - request.append(""); + conReq.append("").append(locationXml(from)); + conReq.append(""); - request.append(""); + conReq.append(""); if (via != null) { - request.append("").append(locationXml(via)); + conReq.append("").append(locationXml(via)); if (via.type != LocationType.ADDRESS) - request.append(""); - request.append(""); + conReq.append(""); } - request.append("").append(locationXml(to)).append(""); - request.append("").append(locationXml(to)).append(""); + conReq.append(""); - request.append(""); - request.append(""); + conReq.append(" sMode=\"N\"/>"); + conReq.append(""); - return queryTripsXml(null, true, request.toString(), from, via, to); + return queryTripsXml(null, true, conReq, from, via, to); } protected final QueryTripsResult queryMoreTripsXml(final QueryTripsContext contextObj, final boolean later, final int numTrips) @@ -1046,26 +1046,28 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider { final Context context = (Context) contextObj; - final StringBuilder request = new StringBuilder(""); - request.append("").append(later ? context.laterContext : context.earlierContext).append(""); - request.append(""); + conScrReq.append("").append(later ? context.laterContext : context.earlierContext).append(""); + conScrReq.append(""); - return queryTripsXml(context, later, request.toString(), null, null, null); + return queryTripsXml(context, later, conScrReq, null, null, null); } - private QueryTripsResult queryTripsXml(final Context previousContext, final boolean later, final String request, final Location from, + private QueryTripsResult queryTripsXml(final Context previousContext, final boolean later, final CharSequence conReq, final Location from, final Location via, final Location to) throws IOException { + final String request = wrapReqC(conReq, null); + // System.out.println(request); - // ParserUtils.printXml(ParserUtils.scrape(queryEndpoint, wrap(request, null), null, null)); + // ParserUtils.printXml(ParserUtils.scrape(queryEndpoint, request, null, null)); Reader reader = null; try { final String endpoint = extXmlEndpoint != null ? extXmlEndpoint : queryEndpoint; - reader = new InputStreamReader(ParserUtils.scrapeInputStream(endpoint, wrap(request, null), null, null, null, 3), ISO_8859_1); + reader = new InputStreamReader(ParserUtils.scrapeInputStream(endpoint, request, null, null, null, 3), ISO_8859_1); final XmlPullParserFactory factory = XmlPullParserFactory.newInstance(System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null); final XmlPullParser pp = factory.newPullParser();