From 528bf29b362689d0e47bf4ff3580e450f7167530 Mon Sep 17 00:00:00 2001 From: "andreas.schildbach" Date: Wed, 28 Jul 2010 08:59:14 +0000 Subject: [PATCH] first take at connectionsQueryUri() git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@32 0924bc21-9374-b0fa-ee44-9ff1593b38f0 --- src/de/schildbach/pte/SbbProvider.java | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/de/schildbach/pte/SbbProvider.java b/src/de/schildbach/pte/SbbProvider.java index a0c61d98..d2506337 100644 --- a/src/de/schildbach/pte/SbbProvider.java +++ b/src/de/schildbach/pte/SbbProvider.java @@ -18,6 +18,8 @@ package de.schildbach.pte; import java.io.IOException; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -86,7 +88,29 @@ public class SbbProvider implements NetworkProvider public String connectionsQueryUri(final String from, final String via, final String to, final Date date, final boolean dep) { - throw new UnsupportedOperationException(); + final DateFormat DATE_FORMAT = new SimpleDateFormat("dd.MM.yy"); + final DateFormat TIME_FORMAT = new SimpleDateFormat("HH:mm"); + final StringBuilder uri = new StringBuilder(); + + uri.append("http://fahrplan.sbb.ch/bin/query.exe/dn"); + uri.append("?REQ0HafasInitialSelection=0"); + uri.append("&REQ0JourneyStopsS0G=").append(ParserUtils.urlEncode(from)); + uri.append("&REQ0JourneyStopsS0A=1"); + uri.append("&REQ0JourneyStopsS0ID="); + if (via != null) + { + uri.append("&REQ0JourneyStops1.0G=").append(ParserUtils.urlEncode(via)); + uri.append("&REQ0JourneyStops1.0A=1"); + } + uri.append("&REQ0JourneyStopsZ0G=").append(ParserUtils.urlEncode(to)); + uri.append("&REQ0JourneyStopsZ0A=1"); + uri.append("&REQ0JourneyStopsZ0ID="); + uri.append("&REQ0HafasSearchForw=").append(dep ? "1" : "0"); + uri.append("&REQ0JourneyDate=").append(ParserUtils.urlEncode(DATE_FORMAT.format(date))); + uri.append("&REQ0JourneyTime=").append(ParserUtils.urlEncode(TIME_FORMAT.format(date))); + uri.append("&start=Suchen"); + + return uri.toString(); } public CheckConnectionsQueryResult checkConnectionsQuery(final String queryUri) throws IOException