mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-18 16:29:51 +00:00
AbstractHafasClientInterfaceProvider: parse 'CHKI' (check-in) and 'CHKO' (check-out) leg types
This commit is contained in:
parent
4faef721bd
commit
889ceb5994
2 changed files with 15 additions and 1 deletions
|
@ -109,6 +109,8 @@ public abstract class AbstractHafasClientInterfaceProvider extends AbstractHafas
|
||||||
private static final String SECTION_TYPE_TRANSFER = "TRSF";
|
private static final String SECTION_TYPE_TRANSFER = "TRSF";
|
||||||
private static final String SECTION_TYPE_TELE_TAXI = "TETA";
|
private static final String SECTION_TYPE_TELE_TAXI = "TETA";
|
||||||
private static final String SECTION_TYPE_DEVI = "DEVI";
|
private static final String SECTION_TYPE_DEVI = "DEVI";
|
||||||
|
private static final String SECTION_TYPE_CHECK_IN = "CHKI";
|
||||||
|
private static final String SECTION_TYPE_CHECK_OUT = "CHKO";
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
private static final HashFunction MD5 = Hashing.md5();
|
private static final HashFunction MD5 = Hashing.md5();
|
||||||
private static final BaseEncoding HEX = BaseEncoding.base16().lowerCase();
|
private static final BaseEncoding HEX = BaseEncoding.base16().lowerCase();
|
||||||
|
@ -747,6 +749,18 @@ public abstract class AbstractHafasClientInterfaceProvider extends AbstractHafas
|
||||||
leg = new Trip.Individual(Trip.Individual.Type.TRANSFER, departureStop.location,
|
leg = new Trip.Individual(Trip.Individual.Type.TRANSFER, departureStop.location,
|
||||||
departureStop.getDepartureTime(), arrivalStop.location, arrivalStop.getArrivalTime(),
|
departureStop.getDepartureTime(), arrivalStop.location, arrivalStop.getArrivalTime(),
|
||||||
null, distance);
|
null, distance);
|
||||||
|
} else if (SECTION_TYPE_CHECK_IN.equals(secType)) {
|
||||||
|
final JSONObject gis = sec.optJSONObject("gis");
|
||||||
|
final int distance = gis != null ? gis.optInt("dist", 0) : 0;
|
||||||
|
leg = new Trip.Individual(Trip.Individual.Type.CHECK_IN, departureStop.location,
|
||||||
|
departureStop.getDepartureTime(), arrivalStop.location, arrivalStop.getArrivalTime(),
|
||||||
|
null, distance);
|
||||||
|
} else if (SECTION_TYPE_CHECK_OUT.equals(secType)) {
|
||||||
|
final JSONObject gis = sec.optJSONObject("gis");
|
||||||
|
final int distance = gis != null ? gis.optInt("dist", 0) : 0;
|
||||||
|
leg = new Trip.Individual(Trip.Individual.Type.CHECK_OUT, departureStop.location,
|
||||||
|
departureStop.getDepartureTime(), arrivalStop.location, arrivalStop.getArrivalTime(),
|
||||||
|
null, distance);
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalStateException("cannot handle type: " + secType);
|
throw new IllegalStateException("cannot handle type: " + secType);
|
||||||
}
|
}
|
||||||
|
|
|
@ -457,7 +457,7 @@ public final class Trip implements Serializable {
|
||||||
|
|
||||||
public final static class Individual extends Leg {
|
public final static class Individual extends Leg {
|
||||||
public enum Type {
|
public enum Type {
|
||||||
WALK, BIKE, CAR, TRANSFER
|
WALK, BIKE, CAR, TRANSFER, CHECK_IN, CHECK_OUT
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final long serialVersionUID = -6651381862837233925L;
|
private static final long serialVersionUID = -6651381862837233925L;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue