Skip to content

Commit

Permalink
Set permissionLabeler more cleanly
Browse files Browse the repository at this point in the history
  • Loading branch information
ansoncfit committed Oct 4, 2024
1 parent 16f2b03 commit 8c4b2d9
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions src/main/java/com/conveyal/r5/streets/StreetLayer.java
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public class StreetLayer implements Serializable, Cloneable {
// TODO these are only needed when building the network, should we really be keeping them here in the layer?
// We should instead have a network builder that holds references to this transient state. Note initial
// approach of specifying a TraversalPermissionLabeler in TransportNetworkConfig.
private transient TraversalPermissionLabeler permissionLabeler = new USTraversalPermissionLabeler();
private transient TraversalPermissionLabeler permissionLabeler;
private transient LevelOfTrafficStressLabeler stressLabeler = new LevelOfTrafficStressLabeler();
private transient TypeOfEdgeLabeler typeOfEdgeLabeler = new TypeOfEdgeLabeler();
private transient SpeedLabeler speedLabeler;
Expand Down Expand Up @@ -209,15 +209,21 @@ public class StreetLayer implements Serializable, Cloneable {

public StreetLayer() {
speedLabeler = new SpeedLabeler(SpeedConfig.defaultConfig());
permissionLabeler = new USTraversalPermissionLabeler();
}

public StreetLayer(TransportNetworkConfig config) {
this();
if (config != null && config.traversalPermissionLabeler != null) {
// TODO cleaner mapping
if ("sidewalk".equals(config.traversalPermissionLabeler)) {
permissionLabeler = new SidewalkTraversalPermissionLabeler();
}
if (config != null) {
permissionLabeler = switch (config.traversalPermissionLabeler) {
case "sidewalk" -> new SidewalkTraversalPermissionLabeler();
case null -> new USTraversalPermissionLabeler();
default -> throw new IllegalArgumentException(
"Unknown traversal permission labeler: " + config.traversalPermissionLabeler
);
};
} else {
permissionLabeler = new USTraversalPermissionLabeler();
}
}

Expand Down

0 comments on commit 8c4b2d9

Please sign in to comment.