1 package org.matsim.core.router;
3 import com.google.inject.Inject;
18 import java.util.Collections;
19 import java.util.List;
21 class FallbackRoutingModuleDefaultImpl
implements FallbackRoutingModule {
24 public static final String _fallback =
"_fallback";
26 @Inject
private RoutingConfigGroup pcrCfg;
27 @Inject
private Config config ;
28 @Inject
private Population population ;
29 @Inject
private Network network ;
31 @Override
public List<? extends PlanElement> calcRoute( RoutingRequest request ){
32 final Facility fromFacility = request.getFromFacility();
33 final Facility toFacility = request.getToFacility();
34 final double departureTime = request.getDepartureTime();
35 final Person person = request.getPerson();
37 Leg leg = population.getFactory().createLeg( TransportMode.walk ) ;
38 Coord fromCoord = FacilitiesUtils.decideOnCoord( fromFacility, network, config );
39 Coord toCoord = FacilitiesUtils.decideOnCoord( toFacility, network, config ) ;
40 Id<Link> dpLinkId = FacilitiesUtils.decideOnLink( fromFacility, network ).getId() ;
41 Id<Link> arLinkId = FacilitiesUtils.decideOnLink( toFacility, network ).getId() ;
47 NetworkRoutingInclAccessEgressModule.routeBushwhackingLeg( person, leg, fromCoord, toCoord, departureTime, dpLinkId, arLinkId, population.getFactory(),
48 pcrCfg.getModeRoutingParams().get(TransportMode.walk) ) ;
49 return Collections.singletonList( leg ) ;