
org.opentripplanner.apis.gtfs.datafetchers.VehiclePositionImpl Maven / Gradle / Ivy
The newest version!
package org.opentripplanner.apis.gtfs.datafetchers;
import graphql.schema.DataFetcher;
import graphql.schema.DataFetchingEnvironment;
import org.opentripplanner.apis.gtfs.generated.GraphQLDataFetchers;
import org.opentripplanner.service.realtimevehicles.model.RealtimeVehicle;
import org.opentripplanner.service.realtimevehicles.model.RealtimeVehicle.StopRelationship;
import org.opentripplanner.transit.model.timetable.Trip;
public class VehiclePositionImpl implements GraphQLDataFetchers.GraphQLVehiclePosition {
@Override
public DataFetcher heading() {
return env -> getSource(env).heading().orElse(null);
}
@Override
public DataFetcher label() {
return env -> getSource(env).label().orElse(null);
}
@Override
public DataFetcher lastUpdated() {
return env -> getSource(env).time().map(time -> time.getEpochSecond()).orElse(null);
}
@Override
public DataFetcher lat() {
return env ->
getSource(env).coordinates().map(coordinates -> coordinates.latitude()).orElse(null);
}
@Override
public DataFetcher lon() {
return env ->
getSource(env).coordinates().map(coordinates -> coordinates.longitude()).orElse(null);
}
@Override
public DataFetcher speed() {
return env -> getSource(env).speed().orElse(null);
}
@Override
public DataFetcher stopRelationship() {
return env -> getSource(env).stop().orElse(null);
}
@Override
public DataFetcher trip() {
return env -> getSource(env).trip();
}
@Override
public DataFetcher vehicleId() {
return env -> getSource(env).vehicleId().map(vehicleId -> vehicleId.toString()).orElse(null);
}
private RealtimeVehicle getSource(DataFetchingEnvironment environment) {
return environment.getSource();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy