
org.opentripplanner.apis.gtfs.datafetchers.PlaceImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of otp Show documentation
Show all versions of otp Show documentation
The OpenTripPlanner multimodal journey planning system
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.LegTime;
import org.opentripplanner.model.plan.Place;
import org.opentripplanner.model.plan.StopArrival;
import org.opentripplanner.model.plan.VertexType;
import org.opentripplanner.routing.vehicle_parking.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