AbstractHafasClientInterfaceProvider: parse 'CHKI' (check-in) and 'CHKO' (check-out) leg types

This commit is contained in:
Andreas Schildbach 2022-09-13 10:18:27 +02:00
parent 4faef721bd
commit 889ceb5994
2 changed files with 15 additions and 1 deletions

View file

@ -109,6 +109,8 @@ public abstract class AbstractHafasClientInterfaceProvider extends AbstractHafas
private static final String SECTION_TYPE_TRANSFER = "TRSF";
private static final String SECTION_TYPE_TELE_TAXI = "TETA";
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")
private static final HashFunction MD5 = Hashing.md5();
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,
departureStop.getDepartureTime(), arrivalStop.location, arrivalStop.getArrivalTime(),
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 {
throw new IllegalStateException("cannot handle type: " + secType);
}

View file

@ -457,7 +457,7 @@ public final class Trip implements Serializable {
public final static class Individual extends Leg {
public enum Type {
WALK, BIKE, CAR, TRANSFER
WALK, BIKE, CAR, TRANSFER, CHECK_IN, CHECK_OUT
}
private static final long serialVersionUID = -6651381862837233925L;