diff --git a/src/main/java/org/opentripplanner/gtfs/graphbuilder/GtfsFeedParameters.java b/src/main/java/org/opentripplanner/gtfs/graphbuilder/GtfsFeedParameters.java index fa23e02bac5..68b8874d5e6 100644 --- a/src/main/java/org/opentripplanner/gtfs/graphbuilder/GtfsFeedParameters.java +++ b/src/main/java/org/opentripplanner/gtfs/graphbuilder/GtfsFeedParameters.java @@ -24,9 +24,6 @@ public record GtfsFeedParameters( implements DataSourceConfig { public static final boolean DEFAULT_REMOVE_REPEATED_STOPS = true; - public static final StopTransferPriority DEFAULT_STATION_TRANSFER_PREFERENCE = - StopTransferPriority.ALLOWED; - public static final boolean DEFAULT_DISCARD_MIN_TRANSFER_TIMES = false; public static final boolean DEFAULT_BLOCK_BASED_INTERLINING = true; diff --git a/src/main/java/org/opentripplanner/gtfs/graphbuilder/GtfsFeedParametersBuilder.java b/src/main/java/org/opentripplanner/gtfs/graphbuilder/GtfsFeedParametersBuilder.java index 9dd3ad3a25e..1e799dbecbb 100644 --- a/src/main/java/org/opentripplanner/gtfs/graphbuilder/GtfsFeedParametersBuilder.java +++ b/src/main/java/org/opentripplanner/gtfs/graphbuilder/GtfsFeedParametersBuilder.java @@ -18,7 +18,7 @@ public class GtfsFeedParametersBuilder { public GtfsFeedParametersBuilder() { this.removeRepeatedStops = GtfsFeedParameters.DEFAULT_REMOVE_REPEATED_STOPS; - this.stationTransferPreference = GtfsFeedParameters.DEFAULT_STATION_TRANSFER_PREFERENCE; + this.stationTransferPreference = StopTransferPriority.defaultValue(); this.discardMinTransferTimes = GtfsFeedParameters.DEFAULT_DISCARD_MIN_TRANSFER_TIMES; this.blockBasedInterlining = GtfsFeedParameters.DEFAULT_BLOCK_BASED_INTERLINING; this.maxInterlineDistance = GtfsFeedParameters.DEFAULT_MAX_INTERLINE_DISTANCE; diff --git a/src/main/java/org/opentripplanner/routing/algorithm/raptoradapter/transit/mappers/TransitLayerMapper.java b/src/main/java/org/opentripplanner/routing/algorithm/raptoradapter/transit/mappers/TransitLayerMapper.java index 546a97b1d6e..91bdd78f396 100644 --- a/src/main/java/org/opentripplanner/routing/algorithm/raptoradapter/transit/mappers/TransitLayerMapper.java +++ b/src/main/java/org/opentripplanner/routing/algorithm/raptoradapter/transit/mappers/TransitLayerMapper.java @@ -191,7 +191,7 @@ static int[] createStopBoardAlightTransferCosts( return null; } int defaultCost = RaptorCostConverter.toRaptorCost( - tuningParams.stopBoardAlightDuringTransferCost(StopTransferPriority.ALLOWED) + tuningParams.stopBoardAlightDuringTransferCost(StopTransferPriority.defaultValue()) ); int[] stopBoardAlightTransferCosts = new int[stops.stopIndexSize()]; diff --git a/src/main/java/org/opentripplanner/transit/model/site/RegularStop.java b/src/main/java/org/opentripplanner/transit/model/site/RegularStop.java index 4c1638e7bae..9f3327beff9 100644 --- a/src/main/java/org/opentripplanner/transit/model/site/RegularStop.java +++ b/src/main/java/org/opentripplanner/transit/model/site/RegularStop.java @@ -127,7 +127,9 @@ public Point getGeometry() { @Override @Nonnull public StopTransferPriority getPriority() { - return isPartOfStation() ? getParentStation().getPriority() : StopTransferPriority.ALLOWED; + return isPartOfStation() + ? getParentStation().getPriority() + : StopTransferPriority.defaultValue(); } @Override diff --git a/src/main/java/org/opentripplanner/transit/model/site/Station.java b/src/main/java/org/opentripplanner/transit/model/site/Station.java index 3bfbcb7594e..68ce2d6d5a2 100644 --- a/src/main/java/org/opentripplanner/transit/model/site/Station.java +++ b/src/main/java/org/opentripplanner/transit/model/site/Station.java @@ -30,8 +30,6 @@ public class Station extends AbstractTransitEntity implements StopLocationsGroup, LogInfo { - public static final StopTransferPriority DEFAULT_PRIORITY = StopTransferPriority.ALLOWED; - private final I18NString name; private final String code; private final I18NString description; @@ -52,7 +50,8 @@ public class Station // Required fields this.name = Objects.requireNonNull(builder.getName()); this.coordinate = Objects.requireNonNull(builder.getCoordinate()); - this.priority = Objects.requireNonNullElse(builder.getPriority(), DEFAULT_PRIORITY); + this.priority = + Objects.requireNonNullElse(builder.getPriority(), StopTransferPriority.defaultValue()); this.transfersNotAllowed = builder.isTransfersNotAllowed(); // Optional fields diff --git a/src/main/java/org/opentripplanner/transit/model/site/StopLocation.java b/src/main/java/org/opentripplanner/transit/model/site/StopLocation.java index a3cbd1a8014..9cb4411437c 100644 --- a/src/main/java/org/opentripplanner/transit/model/site/StopLocation.java +++ b/src/main/java/org/opentripplanner/transit/model/site/StopLocation.java @@ -142,7 +142,7 @@ default ZoneId getTimeZone() { @Nonnull default StopTransferPriority getPriority() { - return StopTransferPriority.ALLOWED; + return StopTransferPriority.defaultValue(); } boolean isPartOfSameStationAs(StopLocation alternativeStop); diff --git a/src/main/java/org/opentripplanner/transit/model/site/StopTransferPriority.java b/src/main/java/org/opentripplanner/transit/model/site/StopTransferPriority.java index 1bc214fd47e..0e072c19ed6 100644 --- a/src/main/java/org/opentripplanner/transit/model/site/StopTransferPriority.java +++ b/src/main/java/org/opentripplanner/transit/model/site/StopTransferPriority.java @@ -9,31 +9,35 @@ */ public enum StopTransferPriority { /** - * Block transfers from/to this stop. In OTP this is not a definitive block, just a huge penalty - * is added to the cost function. + * Preferred place to transfer, strongly recommended. *

- * NeTEx equivalent is NO_INTERCHANGE. + * NeTEx equivalent is PREFERRED_INTERCHANGE. */ - DISCOURAGED, - + PREFERRED, + /** + * Recommended stop place. + *

+ * NeTEx equivalent is RECOMMENDED_INTERCHANGE. + */ + RECOMMENDED, /** * Allow transfers from/to this stop. This is the default. *

* NeTEx equivalent is INTERCHANGE_ALLOWED. */ ALLOWED, - /** - * Recommended stop place. + * Block transfers from/to this stop. In OTP this is not a definitive block, just a huge penalty + * is added to the cost function. *

- * NeTEx equivalent is RECOMMENDED_INTERCHANGE. + * NeTEx equivalent is NO_INTERCHANGE. */ - RECOMMENDED, + DISCOURAGED; /** - * Preferred place to transfer, strongly recommended. - *

- * NeTEx equivalent is PREFERRED_INTERCHANGE. + * The {@link #ALLOWED} is used as default value in cases where the value is not set. */ - PREFERRED, + public static StopTransferPriority defaultValue() { + return ALLOWED; + } }