mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-19 16:59:51 +00:00
prepare for parsing target times
git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@581 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
parent
178e877ca2
commit
8f0bc6552d
1 changed files with 34 additions and 14 deletions
|
@ -1468,9 +1468,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
}
|
}
|
||||||
XmlPullUtil.exit(pp, "itdDateTime");
|
XmlPullUtil.exit(pp, "itdDateTime");
|
||||||
|
|
||||||
final Calendar departureTime = new GregorianCalendar(timeZone());
|
final Calendar time = new GregorianCalendar(timeZone());
|
||||||
final Calendar arrivalTime = new GregorianCalendar(timeZone());
|
|
||||||
final Calendar stopTime = new GregorianCalendar(timeZone());
|
|
||||||
final List<Connection> connections = new ArrayList<Connection>();
|
final List<Connection> connections = new ArrayList<Connection>();
|
||||||
|
|
||||||
if (XmlPullUtil.jumpToStartTag(pp, null, "itdRouteList"))
|
if (XmlPullUtil.jumpToStartTag(pp, null, "itdRouteList"))
|
||||||
|
@ -1512,9 +1510,20 @@ public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
if (XmlPullUtil.test(pp, "itdMapItemList"))
|
if (XmlPullUtil.test(pp, "itdMapItemList"))
|
||||||
XmlPullUtil.next(pp);
|
XmlPullUtil.next(pp);
|
||||||
XmlPullUtil.require(pp, "itdDateTime");
|
XmlPullUtil.require(pp, "itdDateTime");
|
||||||
processItdDateTime(pp, departureTime);
|
processItdDateTime(pp, time);
|
||||||
|
final Date departureTime = time.getTime();
|
||||||
if (firstDepartureTime == null)
|
if (firstDepartureTime == null)
|
||||||
firstDepartureTime = departureTime.getTime();
|
firstDepartureTime = departureTime;
|
||||||
|
final Date departureTargetTime;
|
||||||
|
if (XmlPullUtil.test(pp, "itdDateTimeTarget"))
|
||||||
|
{
|
||||||
|
processItdDateTime(pp, time);
|
||||||
|
departureTargetTime = time.getTime();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
departureTargetTime = null;
|
||||||
|
}
|
||||||
XmlPullUtil.exit(pp, "itdPoint");
|
XmlPullUtil.exit(pp, "itdPoint");
|
||||||
|
|
||||||
XmlPullUtil.test(pp, "itdPoint");
|
XmlPullUtil.test(pp, "itdPoint");
|
||||||
|
@ -1530,15 +1539,26 @@ public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
if (XmlPullUtil.test(pp, "itdMapItemList"))
|
if (XmlPullUtil.test(pp, "itdMapItemList"))
|
||||||
XmlPullUtil.next(pp);
|
XmlPullUtil.next(pp);
|
||||||
XmlPullUtil.require(pp, "itdDateTime");
|
XmlPullUtil.require(pp, "itdDateTime");
|
||||||
processItdDateTime(pp, arrivalTime);
|
processItdDateTime(pp, time);
|
||||||
lastArrivalTime = arrivalTime.getTime();
|
final Date arrivalTime = time.getTime();
|
||||||
|
lastArrivalTime = arrivalTime;
|
||||||
|
final Date arrivalTargetTime;
|
||||||
|
if (XmlPullUtil.test(pp, "itdDateTimeTarget"))
|
||||||
|
{
|
||||||
|
processItdDateTime(pp, time);
|
||||||
|
arrivalTargetTime = time.getTime();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
arrivalTargetTime = null;
|
||||||
|
}
|
||||||
XmlPullUtil.exit(pp, "itdPoint");
|
XmlPullUtil.exit(pp, "itdPoint");
|
||||||
|
|
||||||
XmlPullUtil.test(pp, "itdMeansOfTransport");
|
XmlPullUtil.test(pp, "itdMeansOfTransport");
|
||||||
final String productName = pp.getAttributeValue(null, "productName");
|
final String productName = pp.getAttributeValue(null, "productName");
|
||||||
if ("Fussweg".equals(productName) || "Taxi".equals(productName))
|
if ("Fussweg".equals(productName) || "Taxi".equals(productName))
|
||||||
{
|
{
|
||||||
final int min = (int) (arrivalTime.getTimeInMillis() - departureTime.getTimeInMillis()) / 1000 / 60;
|
final int min = (int) (arrivalTime.getTime() - departureTime.getTime()) / 1000 / 60;
|
||||||
|
|
||||||
XmlPullUtil.enter(pp, "itdMeansOfTransport");
|
XmlPullUtil.enter(pp, "itdMeansOfTransport");
|
||||||
XmlPullUtil.exit(pp, "itdMeansOfTransport");
|
XmlPullUtil.exit(pp, "itdMeansOfTransport");
|
||||||
|
@ -1609,13 +1629,13 @@ public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
pp.getAttributeValue(null, "platformName"));
|
pp.getAttributeValue(null, "platformName"));
|
||||||
XmlPullUtil.enter(pp, "itdPoint");
|
XmlPullUtil.enter(pp, "itdPoint");
|
||||||
XmlPullUtil.require(pp, "itdDateTime");
|
XmlPullUtil.require(pp, "itdDateTime");
|
||||||
final boolean success1 = processItdDateTime(pp, stopTime);
|
final boolean success1 = processItdDateTime(pp, time);
|
||||||
final boolean success2 = XmlPullUtil.test(pp, "itdDateTime") ? processItdDateTime(pp, stopTime) : false;
|
final boolean success2 = XmlPullUtil.test(pp, "itdDateTime") ? processItdDateTime(pp, time) : false;
|
||||||
XmlPullUtil.exit(pp, "itdPoint");
|
XmlPullUtil.exit(pp, "itdPoint");
|
||||||
|
|
||||||
if (success1 || success2)
|
if (success1 || success2)
|
||||||
intermediateStops.add(new Stop(new Location(LocationType.STATION, stopId, null, stopName), stopPosition,
|
intermediateStops.add(new Stop(new Location(LocationType.STATION, stopId, null, stopName), stopPosition, time
|
||||||
stopTime.getTime()));
|
.getTime()));
|
||||||
}
|
}
|
||||||
XmlPullUtil.exit(pp, "itdStopSeq");
|
XmlPullUtil.exit(pp, "itdStopSeq");
|
||||||
|
|
||||||
|
@ -1637,8 +1657,8 @@ public abstract class AbstractEfaProvider implements NetworkProvider
|
||||||
if (XmlPullUtil.test(pp, "itdPathCoordinates"))
|
if (XmlPullUtil.test(pp, "itdPathCoordinates"))
|
||||||
path = processItdPathCoordinates(pp);
|
path = processItdPathCoordinates(pp);
|
||||||
|
|
||||||
parts.add(new Connection.Trip(line, destination, departureTime.getTime(), departurePosition, departure, arrivalTime
|
parts.add(new Connection.Trip(line, destination, departureTime, departurePosition, departure, arrivalTime,
|
||||||
.getTime(), arrivalPosition, arrival, intermediateStops, path));
|
arrivalPosition, arrival, intermediateStops, path));
|
||||||
}
|
}
|
||||||
|
|
||||||
XmlPullUtil.exit(pp, "itdPartialRoute");
|
XmlPullUtil.exit(pp, "itdPartialRoute");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue