Fix parse error for a no-trips case (EFA).

This commit is contained in:
Andreas Schildbach 2014-06-22 14:08:04 +02:00
parent f96c5df431
commit 133c8c5525

View file

@ -2435,10 +2435,14 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
{
XmlPullUtil.enter(pp, "itdItinerary");
final Calendar time = new GregorianCalendar(timeZone());
XmlPullUtil.optSkip(pp, "itdLegTTs");
if (XmlPullUtil.test(pp, "itdRouteList"))
{
XmlPullUtil.enter(pp, "itdRouteList");
final Calendar time = new GregorianCalendar(timeZone());
while (XmlPullUtil.test(pp, "itdRoute"))
{
final String id = useRouteIndexAsTripId ? pp.getAttributeValue(null, "routeIndex") + "-"
@ -2538,8 +2542,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
final Trip.Individual lastIndividual = (Trip.Individual) legs.remove(legs.size() - 1);
if (path != null && lastIndividual.path != null)
path.addAll(0, lastIndividual.path);
legs.add(new Trip.Individual(type, lastIndividual.departure, lastIndividual.departureTime, arrivalLocation, arrivalTime,
path, distance));
legs.add(new Trip.Individual(type, lastIndividual.departure, lastIndividual.departureTime, arrivalLocation,
arrivalTime, path, distance));
}
else
{
@ -2757,8 +2761,8 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
lineAttrs.add(Line.Attr.WHEEL_CHAIR_ACCESS);
final Line line = new Line(lineId, lineLabel, lineStyle(divaNetwork, lineLabel), lineAttrs);
final Stop departure = new Stop(departureLocation, true, departureTargetTime != null ? departureTargetTime : departureTime,
departureTime != null ? departureTime : null, departurePosition, null);
final Stop departure = new Stop(departureLocation, true, departureTargetTime != null ? departureTargetTime
: departureTime, departureTime != null ? departureTime : null, departurePosition, null);
final Stop arrival = new Stop(arrivalLocation, false, arrivalTargetTime != null ? arrivalTargetTime : arrivalTime,
arrivalTime != null ? arrivalTime : null, arrivalPosition, null);
@ -2829,13 +2833,15 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider
XmlPullUtil.exit(pp, "itdRoute");
final Trip trip = new Trip(id, firstDepartureLocation, lastArrivalLocation, legs, fares.isEmpty() ? null : fares, null, numChanges);
final Trip trip = new Trip(id, firstDepartureLocation, lastArrivalLocation, legs, fares.isEmpty() ? null : fares, null,
numChanges);
if (!cancelled)
trips.add(trip);
}
XmlPullUtil.exit(pp, "itdRouteList");
}
XmlPullUtil.exit(pp, "itdItinerary");
}
else