mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-18 16:29:51 +00:00
connection path for hafas based providers
This commit is contained in:
parent
0eb1ac9da9
commit
69e2451f60
1 changed files with 23 additions and 2 deletions
|
@ -50,6 +50,7 @@ import de.schildbach.pte.dto.Line;
|
||||||
import de.schildbach.pte.dto.Location;
|
import de.schildbach.pte.dto.Location;
|
||||||
import de.schildbach.pte.dto.LocationType;
|
import de.schildbach.pte.dto.LocationType;
|
||||||
import de.schildbach.pte.dto.NearbyStationsResult;
|
import de.schildbach.pte.dto.NearbyStationsResult;
|
||||||
|
import de.schildbach.pte.dto.Point;
|
||||||
import de.schildbach.pte.dto.QueryConnectionsResult;
|
import de.schildbach.pte.dto.QueryConnectionsResult;
|
||||||
import de.schildbach.pte.dto.QueryDeparturesResult;
|
import de.schildbach.pte.dto.QueryDeparturesResult;
|
||||||
import de.schildbach.pte.dto.ResultHeader;
|
import de.schildbach.pte.dto.ResultHeader;
|
||||||
|
@ -751,7 +752,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
|
||||||
productsStr.append(allProductsString());
|
productsStr.append(allProductsString());
|
||||||
}
|
}
|
||||||
|
|
||||||
final StringBuilder request = new StringBuilder("<ConReq>");
|
final StringBuilder request = new StringBuilder("<ConReq deliverPolyline=\"1\">");
|
||||||
request.append("<Start>").append(locationXml(from));
|
request.append("<Start>").append(locationXml(from));
|
||||||
request.append("<Prod prod=\"").append(productsStr).append("\" bike=\"0\" couchette=\"0\" direct=\"0\" sleeper=\"0\"/>");
|
request.append("<Prod prod=\"").append(productsStr).append("\" bike=\"0\" couchette=\"0\" direct=\"0\" sleeper=\"0\"/>");
|
||||||
request.append("</Start>");
|
request.append("</Start>");
|
||||||
|
@ -1053,6 +1054,26 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
|
||||||
throw new IllegalStateException("cannot handle: " + pp.getName());
|
throw new IllegalStateException("cannot handle: " + pp.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// polyline
|
||||||
|
final List<Point> path;
|
||||||
|
if (XmlPullUtil.test(pp, "Polyline"))
|
||||||
|
{
|
||||||
|
path = new LinkedList<Point>();
|
||||||
|
XmlPullUtil.enter(pp, "Polyline");
|
||||||
|
while (XmlPullUtil.test(pp, "Point"))
|
||||||
|
{
|
||||||
|
final int x = Integer.parseInt(pp.getAttributeValue(null, "x"));
|
||||||
|
final int y = Integer.parseInt(pp.getAttributeValue(null, "y"));
|
||||||
|
path.add(new Point(y, x));
|
||||||
|
XmlPullUtil.next(pp);
|
||||||
|
}
|
||||||
|
XmlPullUtil.exit(pp, "Polyline");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
path = null;
|
||||||
|
}
|
||||||
|
|
||||||
// arrival
|
// arrival
|
||||||
XmlPullUtil.enter(pp, "Arrival");
|
XmlPullUtil.enter(pp, "Arrival");
|
||||||
XmlPullUtil.enter(pp, "BasicStop");
|
XmlPullUtil.enter(pp, "BasicStop");
|
||||||
|
@ -1081,7 +1102,7 @@ public abstract class AbstractHafasProvider extends AbstractNetworkProvider
|
||||||
if (min == 0 || line != null)
|
if (min == 0 || line != null)
|
||||||
{
|
{
|
||||||
parts.add(new Connection.Trip(line, destination, departureTime, null, departurePos, sectionDeparture, arrivalTime, null,
|
parts.add(new Connection.Trip(line, destination, departureTime, null, departurePos, sectionDeparture, arrivalTime, null,
|
||||||
arrivalPos, sectionArrival, intermediateStops, null));
|
arrivalPos, sectionArrival, intermediateStops, path));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue