All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opentripplanner.standalone.configure.ConstructApplicationModule Maven / Gradle / Ivy

There is a newer version: 2.6.0
Show newest version
package org.opentripplanner.standalone.configure;

import dagger.Module;
import dagger.Provides;
import io.micrometer.core.instrument.Metrics;
import javax.annotation.Nullable;
import org.opentripplanner.routing.algorithm.astar.TraverseVisitor;
import org.opentripplanner.routing.algorithm.raptoradapter.transit.TripSchedule;
import org.opentripplanner.routing.graph.Graph;
import org.opentripplanner.standalone.api.OtpServerRequestContext;
import org.opentripplanner.standalone.config.RouterConfig;
import org.opentripplanner.standalone.server.DefaultServerRequestContext;
import org.opentripplanner.transit.raptor.configure.RaptorConfig;
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,
    @Nullable TraverseVisitor traverseVisitor
  ) {
    return DefaultServerRequestContext.create(
      routerConfig,
      raptorConfig,
      graph,
      transitService,
      Metrics.globalRegistry,
      traverseVisitor
    );
  }

  @Provides
  @Nullable
  TraverseVisitor traverseVisitor(@Nullable GraphVisualizer graphVisualizer) {
    return graphVisualizer == null ? null : graphVisualizer.traverseVisitor;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy