
org.opentripplanner.apis.gtfs.datafetchers.PlaceImpl 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.apis.gtfs.generated.GraphQLTypes.GraphQLVertexType;
import org.opentripplanner.apis.gtfs.model.StopPosition;
import org.opentripplanner.apis.gtfs.model.StopPosition.PositionAtStop;
import org.opentripplanner.framework.graphql.GraphQLUtils;
import org.opentripplanner.model.plan.LegCallTime;
import org.opentripplanner.model.plan.Place;
import org.opentripplanner.model.plan.StopArrival;
import org.opentripplanner.model.plan.VertexType;
import org.opentripplanner.service.vehicleparking.model.VehicleParking;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalPlace;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalStation;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalVehicle;
public class PlaceImpl implements GraphQLDataFetchers.GraphQLPlace {
@Override
public DataFetcher arrival() {
return environment -> getSource(environment).arrival;
}
@Deprecated
@Override
public DataFetcher arrivalTime() {
return environment -> {
StopArrival stopArrival = getSource(environment);
return stopArrival.arrival.time().toInstant().toEpochMilli();
};
}
@Override
public DataFetcher bikePark() {
return this::getBikePark;
}
@Override
public DataFetcher bikeRentalStation() {
return environment -> {
StopArrival stopArrival = getSource(environment);
Place place = stopArrival.place;
if (!place.vertexType.equals(VertexType.VEHICLERENTAL)) {
return null;
}
return place.vehicleRentalPlace;
};
}
@Override
public DataFetcher carPark() {
return this::getCarPark;
}
@Deprecated
@Override
public DataFetcher departure() {
return environment -> getSource(environment).departure;
}
@Override
public DataFetcher departureTime() {
return environment -> {
StopArrival stopArrival = getSource(environment);
return stopArrival.departure.time().toInstant().toEpochMilli();
};
}
@Override
public DataFetcher lat() {
return environment -> {
StopArrival stopArrival = getSource(environment);
return stopArrival.place.coordinate.latitude();
};
}
@Override
public DataFetcher lon() {
return environment -> {
StopArrival stopArrival = getSource(environment);
return stopArrival.place.coordinate.longitude();
};
}
@Override
public DataFetcher name() {
return environment -> {
StopArrival stopArrival = getSource(environment);
return GraphQLUtils.getTranslation(stopArrival.place.name, environment);
};
}
@Override
public DataFetcher rentalVehicle() {
return environment -> {
StopArrival stopArrival = getSource(environment);
Place place = stopArrival.place;
if (
!place.vertexType.equals(VertexType.VEHICLERENTAL) ||
!(place.vehicleRentalPlace instanceof VehicleRentalVehicle)
) {
return null;
}
return (VehicleRentalVehicle) place.vehicleRentalPlace;
};
}
@Override
public DataFetcher
© 2015 - 2025 Weber Informatics LLC | Privacy Policy