mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-14 08:40:29 +00:00
wheelchair accessibility for connections
git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@806 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
parent
05bdc80e14
commit
6756794c66
2 changed files with 49 additions and 4 deletions
|
@ -27,10 +27,12 @@ import java.util.Currency;
|
|||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.TimeZone;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
@ -1558,7 +1560,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
InputStream is = null;
|
||||
try
|
||||
{
|
||||
is = ParserUtils.scrapeInputStream(uri, null, "HASESSIONID", 3);
|
||||
is = ParserUtils.scrapeInputStream(uri, null, "NSC_", 3);
|
||||
return queryConnections(uri, is);
|
||||
}
|
||||
catch (final XmlPullParserException x)
|
||||
|
@ -1577,7 +1579,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
InputStream is = null;
|
||||
try
|
||||
{
|
||||
is = ParserUtils.scrapeInputStream(uri, null, "HASESSIONID", 3);
|
||||
is = ParserUtils.scrapeInputStream(uri, null, "NSC_", 3);
|
||||
return queryConnections(uri, is);
|
||||
}
|
||||
catch (final XmlPullParserException x)
|
||||
|
@ -1596,6 +1598,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
|
||||
private QueryConnectionsResult queryConnections(final String uri, final InputStream is) throws XmlPullParserException, IOException
|
||||
{
|
||||
// System.out.println(uri);
|
||||
|
||||
final XmlPullParser pp = parserFactory.newPullParser();
|
||||
pp.setInput(is, null);
|
||||
final ResultHeader header = enterItdRequest(pp);
|
||||
|
@ -1836,8 +1840,6 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
+ XmlPullUtil.attr(pp, "project");
|
||||
XmlPullUtil.exit(pp, "itdMeansOfTransport");
|
||||
|
||||
final Line line = new Line(lineId, lineLabel, lineColors(lineLabel));
|
||||
|
||||
if (XmlPullUtil.test(pp, "itdRBLControlled"))
|
||||
XmlPullUtil.next(pp);
|
||||
if (XmlPullUtil.test(pp, "itdInfoTextList"))
|
||||
|
@ -1886,6 +1888,31 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
|
|||
if (XmlPullUtil.test(pp, "itdPathCoordinates"))
|
||||
path = processItdPathCoordinates(pp);
|
||||
|
||||
final Set<Line.Attr> lineAttrs = new HashSet<Line.Attr>();
|
||||
if (XmlPullUtil.test(pp, "genAttrList"))
|
||||
{
|
||||
XmlPullUtil.enter(pp, "genAttrList");
|
||||
while (XmlPullUtil.test(pp, "genAttrElem"))
|
||||
{
|
||||
XmlPullUtil.enter(pp, "genAttrElem");
|
||||
XmlPullUtil.enter(pp, "name");
|
||||
final String name = pp.getText();
|
||||
XmlPullUtil.exit(pp, "name");
|
||||
XmlPullUtil.enter(pp, "value");
|
||||
final String value = pp.getText();
|
||||
XmlPullUtil.exit(pp, "value");
|
||||
XmlPullUtil.exit(pp, "genAttrElem");
|
||||
|
||||
// System.out.println("genAttrElem: name='" + name + "' value='" + value + "'");
|
||||
|
||||
if ("PlanWheelChairAccess".equals(name) && "1".equals(value))
|
||||
lineAttrs.add(Line.Attr.WHEEL_CHAIR_ACCESS);
|
||||
}
|
||||
XmlPullUtil.exit(pp, "genAttrList");
|
||||
}
|
||||
|
||||
final Line line = new Line(lineId, lineLabel, lineColors(lineLabel), lineAttrs);
|
||||
|
||||
parts.add(new Connection.Trip(line, destination, departureTime, departurePosition, departure, arrivalTime, arrivalPosition,
|
||||
arrival, intermediateStops, path));
|
||||
}
|
||||
|
|
|
@ -18,30 +18,48 @@
|
|||
package de.schildbach.pte.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author Andreas Schildbach
|
||||
*/
|
||||
public final class Line implements Serializable, Comparable<Line>
|
||||
{
|
||||
public enum Attr
|
||||
{
|
||||
WHEEL_CHAIR_ACCESS
|
||||
}
|
||||
|
||||
private static final long serialVersionUID = -5642533805998375070L;
|
||||
|
||||
final public String id;
|
||||
final private transient char product; // TODO make true field
|
||||
final public String label;
|
||||
final public int[] colors;
|
||||
final private Set<Attr> attrs;
|
||||
|
||||
private static final String PRODUCT_ORDER = "IRSUTBPFC?";
|
||||
|
||||
public Line(final String id, final String label, final int[] colors)
|
||||
{
|
||||
this(id, label, colors, null);
|
||||
}
|
||||
|
||||
public Line(final String id, final String label, final int[] colors, final Set<Attr> attrs)
|
||||
{
|
||||
this.id = id;
|
||||
this.label = label;
|
||||
this.colors = colors;
|
||||
this.attrs = attrs;
|
||||
|
||||
product = label != null ? label.charAt(0) : '?';
|
||||
}
|
||||
|
||||
public boolean hasAttr(final Attr attr)
|
||||
{
|
||||
return attrs != null && attrs.contains(attr);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue