
org.opentripplanner.standalone.configure.ConstructApplicationModule 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.standalone.configure;
import dagger.Module;
import dagger.Provides;
import io.micrometer.core.instrument.Metrics;
import java.util.List;
import javax.annotation.Nullable;
import org.opentripplanner.astar.spi.TraverseVisitor;
import org.opentripplanner.ext.emissions.EmissionsService;
import org.opentripplanner.ext.geocoder.LuceneIndex;
import org.opentripplanner.ext.interactivelauncher.api.LauncherRequestDecorator;
import org.opentripplanner.ext.ridehailing.RideHailingService;
import org.opentripplanner.ext.stopconsolidation.StopConsolidationService;
import org.opentripplanner.raptor.configure.RaptorConfig;
import org.opentripplanner.routing.algorithm.raptoradapter.transit.TripSchedule;
import org.opentripplanner.routing.graph.Graph;
import org.opentripplanner.service.realtimevehicles.RealtimeVehicleService;
import org.opentripplanner.service.vehiclerental.VehicleRentalService;
import org.opentripplanner.service.worldenvelope.WorldEnvelopeService;
import org.opentripplanner.standalone.api.OtpServerRequestContext;
import org.opentripplanner.standalone.config.RouterConfig;
import org.opentripplanner.standalone.server.DefaultServerRequestContext;
import org.opentripplanner.street.service.StreetLimitationParametersService;
import org.opentripplanner.transit.service.TransitService;
import org.opentripplanner.visualizer.GraphVisualizer;
@Module
public class ConstructApplicationModule {
@Provides
OtpServerRequestContext providesServerContext(
RouterConfig routerConfig,
RaptorConfig raptorConfig,
Graph graph,
TransitService transitService,
WorldEnvelopeService worldEnvelopeService,
RealtimeVehicleService realtimeVehicleService,
VehicleRentalService vehicleRentalService,
List rideHailingServices,
@Nullable StopConsolidationService stopConsolidationService,
StreetLimitationParametersService streetLimitationParametersService,
@Nullable TraverseVisitor, ?> traverseVisitor,
EmissionsService emissionsService,
LauncherRequestDecorator launcherRequestDecorator,
@Nullable LuceneIndex luceneIndex
) {
var defaultRequest = launcherRequestDecorator.intercept(routerConfig.routingRequestDefaults());
return DefaultServerRequestContext.create(
routerConfig.transitTuningConfig(),
defaultRequest,
raptorConfig,
graph,
transitService,
Metrics.globalRegistry,
routerConfig.vectorTileConfig(),
worldEnvelopeService,
realtimeVehicleService,
vehicleRentalService,
emissionsService,
routerConfig.flexParameters(),
rideHailingServices,
stopConsolidationService,
streetLimitationParametersService,
traverseVisitor,
luceneIndex
);
}
@Provides
@Nullable
TraverseVisitor, ?> traverseVisitor(@Nullable GraphVisualizer graphVisualizer) {
return graphVisualizer == null ? null : graphVisualizer.traverseVisitor;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy