workaround for highspeed train product selection

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@580 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2011-04-29 12:33:31 +00:00
parent 36059cc37e
commit 178e877ca2

View file

@ -1935,34 +1935,51 @@ public abstract class AbstractEfaProvider implements NetworkProvider
return location.name; return location.name;
} }
protected static final String productParams(final String products) private static final String productParams(final String products)
{ {
if (products == null) if (products == null)
return ""; return "";
final StringBuilder params = new StringBuilder("&includedMeans=checkbox"); final StringBuilder params = new StringBuilder("&includedMeans=checkbox");
boolean hasI = false;
for (final char p : products.toCharArray()) for (final char p : products.toCharArray())
{ {
if (p == 'I' || p == 'R') if (p == 'I' || p == 'R')
{
params.append("&inclMOT_0=on"); params.append("&inclMOT_0=on");
if (p == 'I')
hasI = true;
}
if (p == 'S') if (p == 'S')
params.append("&inclMOT_1=on"); params.append("&inclMOT_1=on");
if (p == 'U') if (p == 'U')
params.append("&inclMOT_2=on"); params.append("&inclMOT_2=on");
if (p == 'T') if (p == 'T')
params.append("&inclMOT_3=on&inclMOT_4=on"); params.append("&inclMOT_3=on&inclMOT_4=on");
if (p == 'B') if (p == 'B')
params.append("&inclMOT_5=on&inclMOT_6=on&inclMOT_7=on"); params.append("&inclMOT_5=on&inclMOT_6=on&inclMOT_7=on");
if (p == 'P') if (p == 'P')
params.append("&inclMOT_10=on"); params.append("&inclMOT_10=on");
if (p == 'F') if (p == 'F')
params.append("&inclMOT_9=on"); params.append("&inclMOT_9=on");
if (p == 'C') if (p == 'C')
params.append("&inclMOT_8=on"); params.append("&inclMOT_8=on");
params.append("&inclMOT_11=on"); // TODO always show 'others', for now params.append("&inclMOT_11=on"); // TODO always show 'others', for now
} }
// workaround for highspeed trains: fails when you want highspeed, but not regional
if (!hasI)
params.append("&lineRestriction=403"); // means: all but ice
return params.toString(); return params.toString();
} }