finalized migration to Location objects

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@511 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2011-02-28 11:37:36 +00:00
parent 943f1c6016
commit 23a10a4de2
7 changed files with 87 additions and 127 deletions

View file

@ -1263,9 +1263,9 @@ public abstract class AbstractEfaProvider implements NetworkProvider
XmlPullUtil.enter(pp, "itdPartialRouteList");
final List<Connection.Part> parts = new LinkedList<Connection.Part>();
String firstDeparture = null;
Location firstDeparture = null;
Date firstDepartureTime = null;
String lastArrival = null;
Location lastArrival = null;
Date lastArrivalTime = null;
while (XmlPullUtil.test(pp, "itdPartialRoute"))
@ -1276,7 +1276,8 @@ public abstract class AbstractEfaProvider implements NetworkProvider
if (!"departure".equals(pp.getAttributeValue(null, "usage")))
throw new IllegalStateException();
final int departureId = Integer.parseInt(pp.getAttributeValue(null, "stopID"));
final String departure = normalizeLocationName(pp.getAttributeValue(null, "name"));
final String departureName = normalizeLocationName(pp.getAttributeValue(null, "name"));
final Location departure = new Location(LocationType.STATION, departureId, null, departureName);
if (firstDeparture == null)
firstDeparture = departure;
final String departurePosition = normalizePlatform(pp.getAttributeValue(null, "platform"),
@ -1294,7 +1295,8 @@ public abstract class AbstractEfaProvider implements NetworkProvider
if (!"arrival".equals(pp.getAttributeValue(null, "usage")))
throw new IllegalStateException();
final int arrivalId = Integer.parseInt(pp.getAttributeValue(null, "stopID"));
final String arrival = normalizeLocationName(pp.getAttributeValue(null, "name"));
final String arrivalName = normalizeLocationName(pp.getAttributeValue(null, "name"));
final Location arrival = new Location(LocationType.STATION, arrivalId, null, arrivalName);
lastArrival = arrival;
final String arrivalPosition = normalizePlatform(pp.getAttributeValue(null, "platform"),
pp.getAttributeValue(null, "platformName"));
@ -1327,12 +1329,11 @@ public abstract class AbstractEfaProvider implements NetworkProvider
final Connection.Footway lastFootway = (Connection.Footway) parts.remove(parts.size() - 1);
if (path != null && lastFootway.path != null)
path.addAll(0, lastFootway.path);
parts.add(new Connection.Footway(lastFootway.min + min, lastFootway.departureId, lastFootway.departure, arrivalId,
arrival, path));
parts.add(new Connection.Footway(lastFootway.min + min, lastFootway.departure, arrival, path));
}
else
{
parts.add(new Connection.Footway(min, departureId, departure, arrivalId, arrival, path));
parts.add(new Connection.Footway(min, departure, arrival, path));
}
}
else if ("gesicherter Anschluss".equals(productName) || "nicht umsteigen".equals(productName)) // type97
@ -1401,8 +1402,8 @@ public abstract class AbstractEfaProvider implements NetworkProvider
if (XmlPullUtil.test(pp, "itdPathCoordinates"))
path = processItdPathCoordinates(pp);
parts.add(new Connection.Trip(line, destination, departureTime.getTime(), departurePosition, departureId, departure,
arrivalTime.getTime(), arrivalPosition, arrivalId, arrival, intermediateStops, path));
parts.add(new Connection.Trip(line, destination, departureTime.getTime(), departurePosition, departure, arrivalTime
.getTime(), arrivalPosition, arrival, intermediateStops, path));
}
XmlPullUtil.exit(pp, "itdPartialRoute");
@ -1447,8 +1448,8 @@ public abstract class AbstractEfaProvider implements NetworkProvider
}
XmlPullUtil.exit(pp, "itdFare");
}
connections.add(new Connection(id, uri, firstDepartureTime, lastArrivalTime, 0, firstDeparture, 0, lastArrival, parts, fares
.isEmpty() ? null : fares));
connections.add(new Connection(id, uri, firstDepartureTime, lastArrivalTime, firstDeparture, lastArrival, parts,
fares.isEmpty() ? null : fares));
XmlPullUtil.exit(pp, "itdRoute");
}

View file

@ -447,21 +447,19 @@ public abstract class AbstractHafasProvider implements NetworkProvider
if (min == 0 || line != null)
{
parts.add(new Connection.Trip(line, destination, departureTime, departurePos, sectionDeparture.id, sectionDeparture.name,
arrivalTime, arrivalPos, sectionArrival.id, sectionArrival.name, null, null));
parts.add(new Connection.Trip(line, destination, departureTime, departurePos, sectionDeparture, arrivalTime, arrivalPos,
sectionArrival, null, null));
}
else
{
if (parts.size() > 0 && parts.get(parts.size() - 1) instanceof Connection.Footway)
{
final Connection.Footway lastFootway = (Connection.Footway) parts.remove(parts.size() - 1);
parts.add(new Connection.Footway(lastFootway.min + min, lastFootway.departureId, lastFootway.departure,
sectionArrival.id, sectionArrival.name, null));
parts.add(new Connection.Footway(lastFootway.min + min, lastFootway.departure, sectionArrival, null));
}
else
{
parts.add(new Connection.Footway(min, sectionDeparture.id, sectionDeparture.name, sectionArrival.id, sectionArrival.name,
null));
parts.add(new Connection.Footway(min, sectionDeparture, sectionArrival, null));
}
}
@ -474,8 +472,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider
XmlPullUtil.exit(pp);
connections.add(new Connection(id, null, firstDepartureTime, lastArrivalTime, departure.id, departure.name, arrival.id, arrival.name,
parts, null));
connections.add(new Connection(id, null, firstDepartureTime, lastArrivalTime, departure, arrival, parts, null));
}
XmlPullUtil.exit(pp);

View file

@ -266,7 +266,7 @@ public final class BahnProvider extends AbstractHafasProvider
if (departureTime.after(arrivalTime))
arrivalTime = ParserUtils.addDays(arrivalTime, 1);
final Connection connection = new Connection(AbstractHafasProvider.extractConnectionId(link), link, departureTime, arrivalTime,
0, from.name, 0, to.name, null, null);
from, to, null, null);
connections.add(connection);
}
else
@ -325,9 +325,9 @@ public final class BahnProvider extends AbstractHafasProvider
final List<Connection.Part> parts = new ArrayList<Connection.Part>(4);
Date firstDepartureTime = null;
String firstDeparture = null;
Location firstDeparture = null;
Date lastArrivalTime = null;
String lastArrival = null;
Location lastArrival = null;
Connection.Trip lastTrip = null;
final Matcher mDetCoarse = P_CONNECTION_DETAILS_COARSE.matcher(mHead.group(1));
@ -343,7 +343,7 @@ public final class BahnProvider extends AbstractHafasProvider
final Matcher mDetFine = P_CONNECTION_DETAILS_FINE.matcher(section);
if (mDetFine.matches())
{
final String departure = ParserUtils.resolveEntities(mDetFine.group(1));
final Location departure = new Location(LocationType.ANY, 0, null, ParserUtils.resolveEntities(mDetFine.group(1)));
if (departure != null && firstDeparture == null)
firstDeparture = departure;
@ -357,7 +357,7 @@ public final class BahnProvider extends AbstractHafasProvider
final Date departureDate = ParserUtils.parseDate(mDetFine.group(5));
final String arrival = ParserUtils.resolveEntities(mDetFine.group(6));
final Location arrival = new Location(LocationType.ANY, 0, null, ParserUtils.resolveEntities(mDetFine.group(6)));
final Date arrivalTime = ParserUtils.parseTime(mDetFine.group(7));
@ -367,8 +367,8 @@ public final class BahnProvider extends AbstractHafasProvider
final Date departureDateTime = ParserUtils.joinDateTime(departureDate, departureTime);
final Date arrivalDateTime = ParserUtils.joinDateTime(arrivalDate, arrivalTime);
lastTrip = new Connection.Trip(line, null, departureDateTime, departurePosition, 0, departure, arrivalDateTime,
arrivalPosition, 0, arrival, null, null);
lastTrip = new Connection.Trip(line, null, departureDateTime, departurePosition, departure, arrivalDateTime,
arrivalPosition, arrival, null, null);
parts.add(lastTrip);
if (firstDepartureTime == null)
@ -381,25 +381,25 @@ public final class BahnProvider extends AbstractHafasProvider
{
final String min = mDetFine.group(10);
final String arrival = ParserUtils.resolveEntities(mDetFine.group(11));
final Location arrival = new Location(LocationType.ANY, 0, null, ParserUtils.resolveEntities(mDetFine.group(11)));
if (parts.size() > 0 && parts.get(parts.size() - 1) instanceof Connection.Footway)
{
final Connection.Footway lastFootway = (Connection.Footway) parts.remove(parts.size() - 1);
parts.add(new Connection.Footway(lastFootway.min + Integer.parseInt(min), 0, lastFootway.departure, 0, arrival, null));
parts.add(new Connection.Footway(lastFootway.min + Integer.parseInt(min), lastFootway.departure, arrival, null));
}
else
{
parts.add(new Connection.Footway(Integer.parseInt(min), 0, departure, 0, arrival, null));
parts.add(new Connection.Footway(Integer.parseInt(min), departure, arrival, null));
}
lastArrival = arrival;
}
else
{
final String arrival = ParserUtils.resolveEntities(mDetFine.group(12));
final Location arrival = new Location(LocationType.ANY, 0, null, ParserUtils.resolveEntities(mDetFine.group(12)));
parts.add(new Connection.Footway(0, 0, departure, 0, arrival, null));
parts.add(new Connection.Footway(0, departure, arrival, null));
}
}
else
@ -414,7 +414,7 @@ public final class BahnProvider extends AbstractHafasProvider
throw new IllegalStateException("could not parse all parts of:\n" + mHead.group(1) + "\n" + parts);
return new GetConnectionDetailsResult(new Date(), new Connection(AbstractHafasProvider.extractConnectionId(uri), uri, firstDepartureTime,
lastArrivalTime, 0, firstDeparture, 0, lastArrival, parts, null));
lastArrivalTime, firstDeparture, lastArrival, parts, null));
}
else
{

View file

@ -421,7 +421,7 @@ public final class BvgProvider extends AbstractHafasProvider
if (departureTime.after(arrivalTime))
arrivalTime = ParserUtils.addDays(arrivalTime, 1);
final Connection connection = new Connection(AbstractHafasProvider.extractConnectionId(link), link, departureTime, arrivalTime,
0, from.name, 0, to.name, null, null);
from, to, null, null);
connections.add(connection);
}
else
@ -471,11 +471,9 @@ public final class BvgProvider extends AbstractHafasProvider
final List<Connection.Part> parts = new ArrayList<Connection.Part>(4);
Date firstDepartureTime = null;
String firstDeparture = null;
int firstDepartureId = 0;
Location firstDeparture = null;
Date lastArrivalTime = null;
String lastArrival = null;
int lastArrivalId = 0;
Location lastArrival = null;
final Matcher mDetCoarse = P_CONNECTION_DETAILS_COARSE.matcher(page);
while (mDetCoarse.find())
@ -483,23 +481,20 @@ public final class BvgProvider extends AbstractHafasProvider
final Matcher mDetFine = P_CONNECTION_DETAILS_FINE.matcher(mDetCoarse.group(1));
if (mDetFine.matches())
{
int departureId = 0;
String departure = ParserUtils.resolveEntities(mDetFine.group(2));
if (departure == null)
final String departureName = ParserUtils.resolveEntities(mDetFine.group(2));
final Location departure;
if (departureName != null)
{
departure = lastArrival;
departureId = lastArrivalId;
final int departureId = Integer.parseInt(mDetFine.group(1));
departure = new Location(departureId != 0 ? LocationType.STATION : LocationType.ANY, departureId, null, departureName);
}
else
{
departureId = Integer.parseInt(mDetFine.group(1));
departure = lastArrival;
}
if (departure != null && firstDeparture == null)
{
firstDeparture = departure;
firstDepartureId = departureId;
}
final String min = mDetFine.group(11);
if (min == null)
@ -522,43 +517,42 @@ public final class BvgProvider extends AbstractHafasProvider
final int arrivalId = Integer.parseInt(mDetFine.group(9));
final String arrival = ParserUtils.resolveEntities(mDetFine.group(10));
final Location arrival = new Location(LocationType.STATION, arrivalId, null, ParserUtils.resolveEntities(mDetFine.group(10)));
parts.add(new Connection.Trip(line, destination, departureTime, departurePosition, departureId, departure, arrivalTime,
arrivalPosition, arrivalId, arrival, null, null));
parts.add(new Connection.Trip(line, destination, departureTime, departurePosition, departure, arrivalTime, arrivalPosition,
arrival, null, null));
if (firstDepartureTime == null)
firstDepartureTime = departureTime;
lastArrival = arrival;
lastArrivalId = arrivalId;
lastArrivalTime = arrivalTime;
}
else
{
final int arrivalId = mDetFine.group(12) != null ? Integer.parseInt(mDetFine.group(12)) : 0;
final String arrival = ParserUtils.resolveEntities(ParserUtils.selectNotNull(mDetFine.group(13), mDetFine.group(16),
mDetFine.group(17)));
final int arrivalLon = mDetFine.group(14) != null ? Integer.parseInt(mDetFine.group(14)) : 0;
final int arrivalLat = mDetFine.group(15) != null ? Integer.parseInt(mDetFine.group(15)) : 0;
final String arrivalName = ParserUtils.resolveEntities(ParserUtils.selectNotNull(mDetFine.group(13), mDetFine.group(16),
mDetFine.group(17)));
final Location arrival = new Location(arrivalId != 0 ? LocationType.STATION : LocationType.ANY, arrivalId, arrivalLat,
arrivalLon, null, arrivalName);
if (parts.size() > 0 && parts.get(parts.size() - 1) instanceof Connection.Footway)
{
final Connection.Footway lastFootway = (Connection.Footway) parts.remove(parts.size() - 1);
parts.add(new Connection.Footway(lastFootway.min + Integer.parseInt(min), lastFootway.departureId, lastFootway.departure,
arrivalId, arrival, arrivalLat, arrivalLon, null));
parts.add(new Connection.Footway(lastFootway.min + Integer.parseInt(min), lastFootway.departure, arrival, null));
}
else
{
parts.add(new Connection.Footway(Integer.parseInt(min), departureId, departure, arrivalId, arrival, arrivalLat,
arrivalLon, null));
parts.add(new Connection.Footway(Integer.parseInt(min), departure, arrival, null));
}
lastArrival = arrival;
lastArrivalId = arrivalId;
}
}
else
@ -569,7 +563,7 @@ public final class BvgProvider extends AbstractHafasProvider
if (firstDepartureTime != null && lastArrivalTime != null)
return new GetConnectionDetailsResult(currentDate, new Connection(AbstractHafasProvider.extractConnectionId(uri), uri,
firstDepartureTime, lastArrivalTime, firstDepartureId, firstDeparture, lastArrivalId, lastArrival, parts, null));
firstDepartureTime, lastArrivalTime, firstDeparture, lastArrival, parts, null));
else
return new GetConnectionDetailsResult(currentDate, null);
}

View file

@ -410,7 +410,7 @@ public class OebbProvider extends AbstractHafasProvider
: overviewDepartureDate, ParserUtils.parseTime(mConFine.group(4)));
final String link = allDetailsUri; // TODO use print link?
final Connection connection = new Connection(id, link, overviewDepartureTime, overviewArrivalTime, 0, from.name, 0, to.name,
final Connection connection = new Connection(id, link, overviewDepartureTime, overviewArrivalTime, from, to,
new ArrayList<Connection.Part>(1), null);
connections.add(connection);
@ -424,7 +424,8 @@ public class OebbProvider extends AbstractHafasProvider
{
final int departureId = mDetFine.group(1) != null ? Integer.parseInt(mDetFine.group(1)) : 0;
final String departure = ParserUtils.resolveEntities(mDetFine.group(2));
final Location departure = new Location(departureId != 0 ? LocationType.STATION : LocationType.ANY, departureId, null,
ParserUtils.resolveEntities(mDetFine.group(2)));
Date detailsDepartureDate = mDetFine.group(3) != null ? ParserUtils.parseDate(mDetFine.group(3)) : lastDate;
if (detailsDepartureDate != null)
@ -437,7 +438,8 @@ public class OebbProvider extends AbstractHafasProvider
final int arrivalId = mDetFine.group(8) != null ? Integer.parseInt(mDetFine.group(8)) : 0;
final String arrival = ParserUtils.resolveEntities(mDetFine.group(9));
final Location arrival = new Location(arrivalId != 0 ? LocationType.STATION : LocationType.ANY, arrivalId, null,
ParserUtils.resolveEntities(mDetFine.group(9)));
Date detailsArrivalDate = mDetFine.group(10) != null ? ParserUtils.parseDate(mDetFine.group(10)) : lastDate;
if (detailsArrivalDate != null)
@ -464,14 +466,14 @@ public class OebbProvider extends AbstractHafasProvider
ParserUtils.resolveEntities(mDetFine.group(13))) : null;
final Connection.Trip trip = new Connection.Trip(line, destination, detailsDepartureDateTime, departurePosition,
departureId, departure, detailsArrivalDateTime, arrivalPosition, arrivalId, arrival, null, null);
departure, detailsArrivalDateTime, arrivalPosition, arrival, null, null);
connection.parts.add(trip);
}
else
{
final int min = (int) (detailsArrivalDateTime.getTime() - detailsDepartureDateTime.getTime()) / 1000 / 60;
final Connection.Footway footway = new Connection.Footway(min, departureId, departure, arrivalId, arrival, null);
final Connection.Footway footway = new Connection.Footway(min, departure, arrival, null);
connection.parts.add(footway);
}
}

View file

@ -285,8 +285,7 @@ public class RmvProvider extends AbstractHafasProvider
Date arrivalTime = ParserUtils.joinDateTime(currentDate, ParserUtils.parseTime(mConFine.group(3)));
if (departureTime.after(arrivalTime))
arrivalTime = ParserUtils.addDays(arrivalTime, 1);
final Connection connection = new Connection(extractConnectionId(link), link, departureTime, arrivalTime, 0, from.name, 0,
to.name, null, null);
final Connection connection = new Connection(extractConnectionId(link), link, departureTime, arrivalTime, from, to, null, null);
connections.add(connection);
}
else
@ -334,7 +333,7 @@ public class RmvProvider extends AbstractHafasProvider
final Matcher mHead = P_CONNECTION_DETAILS_HEAD.matcher(page);
if (mHead.matches())
{
final String firstDeparture = ParserUtils.resolveEntities(mHead.group(1));
final Location firstDeparture = new Location(LocationType.ANY, 0, null, ParserUtils.resolveEntities(mHead.group(1)));
final Date currentDate = ParserUtils.parseDate(mHead.group(2));
final List<Connection.Part> parts = new ArrayList<Connection.Part>(4);
@ -342,7 +341,7 @@ public class RmvProvider extends AbstractHafasProvider
Date firstDepartureTime = null;
Date lastArrivalTime = null;
String lastArrival = null;
Location lastArrival = null;
Connection.Trip lastTrip = null;
final Matcher mDetCoarse = P_CONNECTION_DETAILS_COARSE.matcher(page);
@ -351,9 +350,9 @@ public class RmvProvider extends AbstractHafasProvider
final Matcher mDetFine = P_CONNECTION_DETAILS_FINE.matcher(mDetCoarse.group(1));
if (mDetFine.matches())
{
final String departure = lastArrival != null ? lastArrival : firstDeparture;
final Location departure = lastArrival != null ? lastArrival : firstDeparture;
final String arrival = ParserUtils.resolveEntities(mDetFine.group(8));
final Location arrival = new Location(LocationType.ANY, 0, null, ParserUtils.resolveEntities(mDetFine.group(8)));
lastArrival = arrival;
final String min = mDetFine.group(7);
@ -371,8 +370,8 @@ public class RmvProvider extends AbstractHafasProvider
final String arrivalPosition = ParserUtils.resolveEntities(mDetFine.group(6));
lastTrip = new Connection.Trip(line, destination, departureTime, departurePosition, 0, departure, arrivalTime,
arrivalPosition, 0, arrival, null, null);
lastTrip = new Connection.Trip(line, destination, departureTime, departurePosition, departure, arrivalTime, arrivalPosition,
arrival, null, null);
parts.add(lastTrip);
if (firstDepartureTime == null)
@ -385,11 +384,11 @@ public class RmvProvider extends AbstractHafasProvider
if (parts.size() > 0 && parts.get(parts.size() - 1) instanceof Connection.Footway)
{
final Connection.Footway lastFootway = (Connection.Footway) parts.remove(parts.size() - 1);
parts.add(new Connection.Footway(lastFootway.min + Integer.parseInt(min), 0, lastFootway.departure, 0, arrival, null));
parts.add(new Connection.Footway(lastFootway.min + Integer.parseInt(min), lastFootway.departure, arrival, null));
}
else
{
parts.add(new Connection.Footway(Integer.parseInt(min), 0, departure, 0, arrival, null));
parts.add(new Connection.Footway(Integer.parseInt(min), departure, arrival, null));
}
}
}
@ -399,8 +398,8 @@ public class RmvProvider extends AbstractHafasProvider
}
}
return new GetConnectionDetailsResult(currentDate, new Connection(extractConnectionId(uri), uri, firstDepartureTime, lastArrivalTime, 0,
firstDeparture, 0, lastArrival, parts, null));
return new GetConnectionDetailsResult(currentDate, new Connection(extractConnectionId(uri), uri, firstDepartureTime, lastArrivalTime,
firstDeparture, lastArrival, parts, null));
}
else
{

View file

@ -31,23 +31,19 @@ public final class Connection implements Serializable
public final String link;
public final Date departureTime;
public final Date arrivalTime;
public final int fromId;
public final String from;
public final int toId;
public final String to;
public final Location from;
public final Location to;
public final List<Part> parts;
public final List<Fare> fares;
public Connection(final String id, final String link, final Date departureTime, final Date arrivalTime, final int fromId, final String from,
final int toId, final String to, final List<Part> parts, final List<Fare> fares)
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)
{
this.id = id;
this.link = link;
this.departureTime = departureTime;
this.arrivalTime = arrivalTime;
this.fromId = fromId;
this.from = from;
this.toId = toId;
this.to = to;
this.parts = parts;
this.fares = fares;
@ -79,10 +75,14 @@ public final class Connection implements Serializable
public static class Part implements Serializable
{
public final Location departure;
public final Location arrival;
public final List<Point> path;
public Part(final List<Point> path)
public Part(final Location departure, final Location arrival, final List<Point> path)
{
this.departure = departure;
this.arrival = arrival;
this.path = path;
}
}
@ -93,30 +93,22 @@ public final class Connection implements Serializable
public final Location destination;
public final Date departureTime;
public final String departurePosition;
public final int departureId;
public final String departure;
public final Date arrivalTime;
public final String arrivalPosition;
public final int arrivalId;
public final String arrival;
public final List<Stop> intermediateStops;
public Trip(final String line, final Location destination, final Date departureTime, final String departurePosition, final int departureId,
final String departure, final Date arrivalTime, final String arrivalPosition, final int arrivalId, final String arrival,
public Trip(final String line, final Location destination, final Date departureTime, final String departurePosition,
final Location departure, final Date arrivalTime, final String arrivalPosition, final Location arrival,
final List<Stop> intermediateStops, final List<Point> path)
{
super(path);
super(departure, arrival, path);
this.line = line;
this.destination = destination;
this.departureTime = departureTime;
this.departurePosition = departurePosition;
this.departureId = departureId;
this.departure = departure;
this.arrivalTime = arrivalTime;
this.arrivalPosition = arrivalPosition;
this.arrivalId = arrivalId;
this.arrival = arrival;
this.intermediateStops = intermediateStops;
}
@ -128,10 +120,10 @@ public final class Connection implements Serializable
builder.append(",");
builder.append("destination=").append(destination).append("/").append(destination.id);
builder.append(",");
builder.append("departure=").append(departureTime).append("/").append(departurePosition).append("/").append(departureId).append("/")
builder.append("departure=").append(departureTime).append("/").append(departurePosition).append("/").append(departure).append("/")
.append(departure);
builder.append(",");
builder.append("arrival=").append(arrivalTime).append("/").append(arrivalPosition).append("/").append(arrivalId).append("/")
builder.append("arrival=").append(arrivalTime).append("/").append(arrivalPosition).append("/").append(arrival).append("/")
.append(arrival);
builder.append("]");
return builder.toString();
@ -141,37 +133,12 @@ public final class Connection implements Serializable
public final static class Footway extends Part
{
public final int min;
public final int departureId;
public final String departure;
public final int arrivalId;
public final String arrival;
public final int arrivalLat, arrivalLon;
public Footway(final int min, final int departureId, final String departure, final int arrivalId, final String arrival, final int arrivalLat,
final int arrivalLon, final List<Point> path)
public Footway(final int min, final Location departure, final Location arrival, final List<Point> path)
{
super(path);
super(departure, arrival, path);
this.min = min;
this.departureId = departureId;
this.departure = departure;
this.arrivalId = arrivalId;
this.arrival = arrival;
this.arrivalLat = arrivalLat;
this.arrivalLon = arrivalLon;
}
public Footway(final int min, final int departureId, final String departure, final int arrivalId, final String arrival, final List<Point> path)
{
super(path);
this.min = min;
this.departureId = departureId;
this.departure = departure;
this.arrivalId = arrivalId;
this.arrival = arrival;
this.arrivalLat = 0;
this.arrivalLon = 0;
}
@Override
@ -180,9 +147,9 @@ public final class Connection implements Serializable
final StringBuilder builder = new StringBuilder(getClass().getName() + "[");
builder.append("min=").append(min);
builder.append(",");
builder.append("departure=").append(departureId).append("/").append(departure);
builder.append("departure=").append(departure);
builder.append(",");
builder.append("arrival=").append(arrivalId).append("/").append(arrival).append("/").append(arrivalLat).append(",").append(arrivalLon);
builder.append("arrival=").append(arrival);
builder.append("]");
return builder.toString();
}