build options in common connections query uri method

This commit is contained in:
Andreas Schildbach 2012-08-01 01:13:03 +02:00
parent ec4d242ec9
commit 661bb1b32b
3 changed files with 9 additions and 8 deletions

View file

@ -746,7 +746,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
} }
protected final void appendConnectionsQueryUri(final StringBuilder uri, final Location from, final Location via, final Location to, protected final void appendConnectionsQueryUri(final StringBuilder uri, final Location from, final Location via, final Location to,
final Date date, final boolean dep, final String products) final Date date, final boolean dep, final String products, final Set<Option> options)
{ {
uri.append("?start=Suchen"); uri.append("?start=Suchen");
@ -800,6 +800,9 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
productsStr.append(allProductsString()); productsStr.append(allProductsString());
} }
uri.append("&REQ0JourneyProduct_prod_list_1=").append(productsStr); uri.append("&REQ0JourneyProduct_prod_list_1=").append(productsStr);
if (options != null && options.contains(Option.BIKE))
uri.append("&REQ0JourneyProduct_opt3=1");
} }
protected final QueryConnectionsResult queryConnectionsXml(Location from, Location via, Location to, final Date date, final boolean dep, protected final QueryConnectionsResult queryConnectionsXml(Location from, Location via, Location to, final Date date, final boolean dep,

View file

@ -203,7 +203,7 @@ public final class BahnProvider extends AbstractHafasProvider
final StringBuilder uri = new StringBuilder(API_BASE); final StringBuilder uri = new StringBuilder(API_BASE);
uri.append("query.exe/dox"); uri.append("query.exe/dox");
appendConnectionsQueryUri(uri, from, via, to, date, dep, products); appendConnectionsQueryUri(uri, from, via, to, date, dep, products, options);
uri.append("&REQ0HafasOptimize1=0:1"); uri.append("&REQ0HafasOptimize1=0:1");
uri.append("&REQ0Tariff_Class=2"); uri.append("&REQ0Tariff_Class=2");
@ -212,9 +212,6 @@ public final class BahnProvider extends AbstractHafasProvider
uri.append("&existOptimizePrice=1"); uri.append("&existOptimizePrice=1");
uri.append("&existProductNahverkehr=yes"); uri.append("&existProductNahverkehr=yes");
if (options != null && options.contains(Option.BIKE))
uri.append("&REQ0JourneyProduct_opt3=1");
return uri.toString(); return uri.toString();
} }

View file

@ -31,6 +31,7 @@ import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import de.schildbach.pte.NetworkProvider.Option;
import de.schildbach.pte.dto.Connection; import de.schildbach.pte.dto.Connection;
import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Departure;
import de.schildbach.pte.dto.Line; import de.schildbach.pte.dto.Line;
@ -492,12 +493,12 @@ public final class BvgProvider extends AbstractHafasProvider
} }
private String connectionsQueryUri(final Location from, final Location via, final Location to, final Date date, final boolean dep, private String connectionsQueryUri(final Location from, final Location via, final Location to, final Date date, final boolean dep,
final String products) final String products, final Set<Option> options)
{ {
final StringBuilder uri = new StringBuilder(API_BASE); final StringBuilder uri = new StringBuilder(API_BASE);
uri.append("query.bin/dn"); uri.append("query.bin/dn");
appendConnectionsQueryUri(uri, from, via, to, date, dep, products); appendConnectionsQueryUri(uri, from, via, to, date, dep, products, options);
if (additionalQueryParameter != null) if (additionalQueryParameter != null)
uri.append('&').append(additionalQueryParameter); uri.append('&').append(additionalQueryParameter);
@ -520,7 +521,7 @@ public final class BvgProvider extends AbstractHafasProvider
final int numConnections, final String products, final WalkSpeed walkSpeed, final Accessibility accessibility, final Set<Option> options) final int numConnections, final String products, final WalkSpeed walkSpeed, final Accessibility accessibility, final Set<Option> options)
throws IOException throws IOException
{ {
final String uri = connectionsQueryUri(from, via, to, date, dep, products); final String uri = connectionsQueryUri(from, via, to, date, dep, products, options);
final CharSequence page = ParserUtils.scrape(uri); final CharSequence page = ParserUtils.scrape(uri);
List<Location> fromAddresses = null; List<Location> fromAddresses = null;