mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-13 08:10:46 +00:00
EFA: If there is no <itdServingLine>, we assume the station ID is invalid.
This commit is contained in:
parent
63be2aeb10
commit
40763ef6f6
1 changed files with 42 additions and 35 deletions
|
@ -1497,10 +1497,7 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider {
|
|||
|
||||
XmlPullUtil.optSkip(pp, "itdMessage");
|
||||
|
||||
final Calendar plannedDepartureTime = new GregorianCalendar(timeZone);
|
||||
final Calendar predictedDepartureTime = new GregorianCalendar(timeZone);
|
||||
|
||||
XmlPullUtil.require(pp, "itdServingLines");
|
||||
if (XmlPullUtil.test(pp, "itdServingLines")) {
|
||||
if (!pp.isEmptyElementTag()) {
|
||||
XmlPullUtil.enter(pp, "itdServingLines");
|
||||
while (XmlPullUtil.test(pp, "itdServingLine")) {
|
||||
|
@ -1511,24 +1508,27 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider {
|
|||
final String destinationId = !"-1".equals(destinationIdStr) ? destinationIdStr : null;
|
||||
final Location destination;
|
||||
if (destinationId != null)
|
||||
destination = new Location(LocationType.STATION, destinationId, null, destinationName);
|
||||
destination = new Location(LocationType.STATION, destinationId, null,
|
||||
destinationName);
|
||||
else if (destinationId == null && destinationName != null)
|
||||
destination = new Location(LocationType.ANY, null, null, destinationName);
|
||||
else
|
||||
destination = null;
|
||||
|
||||
final LineDestination line = new LineDestination(processItdServingLine(pp), destination);
|
||||
final LineDestination line = new LineDestination(processItdServingLine(pp),
|
||||
destination);
|
||||
|
||||
StationDepartures assignedStationDepartures;
|
||||
if (assignedStopId == null)
|
||||
assignedStationDepartures = r.stationDepartures.get(0);
|
||||
else
|
||||
assignedStationDepartures = findStationDepartures(r.stationDepartures, assignedStopId);
|
||||
assignedStationDepartures = findStationDepartures(r.stationDepartures,
|
||||
assignedStopId);
|
||||
|
||||
if (assignedStationDepartures == null)
|
||||
assignedStationDepartures = new StationDepartures(
|
||||
new Location(LocationType.STATION, assignedStopId), new LinkedList<Departure>(),
|
||||
new LinkedList<LineDestination>());
|
||||
new Location(LocationType.STATION, assignedStopId),
|
||||
new LinkedList<Departure>(), new LinkedList<LineDestination>());
|
||||
|
||||
final List<LineDestination> assignedStationDeparturesLines = checkNotNull(
|
||||
assignedStationDepartures.lines);
|
||||
|
@ -1539,10 +1539,17 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider {
|
|||
} else {
|
||||
XmlPullUtil.next(pp);
|
||||
}
|
||||
} else {
|
||||
result.set(new QueryDeparturesResult(header, QueryDeparturesResult.Status.INVALID_STATION));
|
||||
return;
|
||||
}
|
||||
|
||||
XmlPullUtil.require(pp, "itdDepartureList");
|
||||
if (!pp.isEmptyElementTag()) {
|
||||
XmlPullUtil.enter(pp, "itdDepartureList");
|
||||
final Calendar plannedDepartureTime = new GregorianCalendar(timeZone);
|
||||
final Calendar predictedDepartureTime = new GregorianCalendar(timeZone);
|
||||
|
||||
while (XmlPullUtil.test(pp, "itdDeparture")) {
|
||||
final String assignedStopId = XmlPullUtil.attr(pp, "stopID");
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue