capacity for connections

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@676 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2011-06-07 07:12:50 +00:00
parent aa70c2b4fb
commit f00c4dd4f0
6 changed files with 41 additions and 8 deletions

View file

@ -1805,7 +1805,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider
XmlPullUtil.exit(pp, "itdFare");
}
connections.add(new Connection(id, uri, firstDepartureTime, lastArrivalTime, firstDeparture, lastArrival, parts,
fares.isEmpty() ? null : fares));
fares.isEmpty() ? null : fares, null));
XmlPullUtil.exit(pp, "itdRoute");
}

View file

@ -623,7 +623,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider
throws IOException
{
// System.out.println(request);
// ParserUtils.printXml(ParserUtils.scrape(apiUri, true, wrap(request), null, false));
// ParserUtils.printXml(ParserUtils.scrape(apiUri, true, wrap(request), null, null));
InputStream is = null;
@ -697,6 +697,35 @@ public abstract class AbstractHafasProvider implements NetworkProvider
while (pp.getName().equals("StAttrList"))
XmlPullUtil.next(pp);
final Location departure = parseLocation(pp);
XmlPullUtil.enter(pp, "Dep");
XmlPullUtil.exit(pp, "Dep");
final int[] capacity;
if (XmlPullUtil.test(pp, "StopPrognosis"))
{
XmlPullUtil.enter(pp, "StopPrognosis");
if (XmlPullUtil.test(pp, "Arr"))
XmlPullUtil.next(pp);
if (XmlPullUtil.test(pp, "Dep"))
XmlPullUtil.next(pp);
XmlPullUtil.enter(pp, "Status");
XmlPullUtil.exit(pp, "Status");
if (XmlPullUtil.test(pp, "Capacity1st"))
{
final int capacity1st = Integer.parseInt(XmlPullUtil.text(pp));
XmlPullUtil.require(pp, "Capacity2nd");
final int capacity2nd = Integer.parseInt(XmlPullUtil.text(pp));
capacity = new int[] { capacity1st, capacity2nd };
}
else
{
capacity = null;
}
XmlPullUtil.exit(pp, "StopPrognosis");
}
else
{
capacity = null;
}
XmlPullUtil.exit(pp, "BasicStop");
XmlPullUtil.exit(pp, "Departure");
@ -893,7 +922,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider
XmlPullUtil.exit(pp, "Connection");
connections.add(new Connection(id, null, firstDepartureTime, lastArrivalTime, departure, arrival, parts, null));
connections.add(new Connection(id, null, firstDepartureTime, lastArrivalTime, departure, arrival, parts, null, capacity));
}
XmlPullUtil.exit(pp);

View file

@ -336,7 +336,7 @@ public final class BahnProvider extends AbstractHafasProvider
if (departureTime.after(arrivalTime))
arrivalTime.add(Calendar.DAY_OF_YEAR, 1);
final Connection connection = new Connection(AbstractHafasProvider.extractConnectionId(link), link, departureTime.getTime(),
arrivalTime.getTime(), from, to, null, null);
arrivalTime.getTime(), from, to, null, null, null);
connections.add(connection);
}
else
@ -486,7 +486,7 @@ public final class BahnProvider extends AbstractHafasProvider
return new GetConnectionDetailsResult(new GregorianCalendar(timeZone()).getTime(), new Connection(
AbstractHafasProvider.extractConnectionId(uri), uri, firstDepartureTime, lastArrivalTime, firstDeparture, lastArrival, parts,
null));
null, null));
}
else
{

View file

@ -850,7 +850,7 @@ public final class BvgProvider extends AbstractHafasProvider
}
}
connections.add(new Connection(id, firstUri, firstDepartureTime, lastArrivalTime, from, to, parts, null));
connections.add(new Connection(id, firstUri, firstDepartureTime, lastArrivalTime, from, to, parts, null, null));
}
else
{

View file

@ -402,7 +402,7 @@ public class OebbProvider extends AbstractHafasProvider
final String link = allDetailsUri; // TODO use print link?
final Connection connection = new Connection(id, link, overviewDepartureTime.getTime(), overviewArrivalTime.getTime(), from, to,
new ArrayList<Connection.Part>(1), null);
new ArrayList<Connection.Part>(1), null, null);
connections.add(connection);
final Matcher mDetCoarse = P_CONNECTION_DETAILS_COARSE.matcher(details);

View file

@ -27,6 +27,8 @@ import java.util.List;
*/
public final class Connection implements Serializable
{
private static final long serialVersionUID = 2508466068307110312L;
public final String id;
public final String link;
public final Date departureTime;
@ -35,9 +37,10 @@ public final class Connection implements Serializable
public final Location to;
public final List<Part> parts;
public final List<Fare> fares;
public final int[] capacity;
public Connection(final String id, final String link, final Date departureTime, final Date arrivalTime, final Location from, final Location to,
final List<Part> parts, final List<Fare> fares)
final List<Part> parts, final List<Fare> fares, final int[] capacity)
{
this.id = id;
this.link = link;
@ -47,6 +50,7 @@ public final class Connection implements Serializable
this.to = to;
this.parts = parts;
this.fares = fares;
this.capacity = capacity;
}
@Override