Skip to content

Commit 6b3749e

Browse files
Merge pull request #96 from daniel-heppner-ibigroup/main
Remove default values for reluctances
2 parents 23d3aa3 + cabb5e5 commit 6b3749e

File tree

4 files changed

+50
-24
lines changed

4 files changed

+50
-24
lines changed

Diff for: src/main/java/org/opentripplanner/client/OtpApiClient.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ public TripPlan plan(TripPlanParameters req) throws IOException {
6666
req.time().toLocalTime().truncatedTo(ChronoUnit.SECONDS).toString(),
6767
req.searchDirection().isArriveBy(),
6868
req.searchWindow().map(sw -> "searchWindow : %d".formatted(sw.toSeconds())).orElse(""),
69-
req.walkReluctance(),
70-
req.carReluctance(),
71-
req.bikeReluctance(),
72-
req.bikeWalkingReluctance(),
69+
req.walkReluctance().map(Object::toString).orElse("null"),
70+
req.carReluctance().map(Object::toString).orElse("null"),
71+
req.bikeReluctance().map(Object::toString).orElse("null"),
72+
req.bikeWalkingReluctance().map(Object::toString).orElse("null"),
7373
req.wheelchair(),
7474
req.banned().map(banned -> "banned : %s".formatted(banned)).orElse(""),
7575
req.optimize(),

Diff for: src/main/java/org/opentripplanner/client/parameters/TripPlanParameters.java

+16-16
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ public final class TripPlanParameters {
1919
private final Set<RequestMode> modes;
2020
private final SearchDirection searchDirection;
2121
@Nullable private final Duration searchWindow;
22-
private final float walkReluctance;
23-
private final float carReluctance;
24-
private final float bikeReluctance;
25-
private final float bikeWalkingReluctance;
22+
@Nullable private final Float walkReluctance;
23+
@Nullable private final Float carReluctance;
24+
@Nullable private final Float bikeReluctance;
25+
@Nullable private final Float bikeWalkingReluctance;
2626
private final boolean wheelchair;
2727
@Nullable private final InputBanned banned;
2828
private final OptimizeType optimize;
@@ -36,10 +36,10 @@ public TripPlanParameters(
3636
Set<RequestMode> modes,
3737
SearchDirection searchDirection,
3838
@Nullable Duration searchWindow,
39-
float walkReluctance,
40-
float carReluctance,
41-
float bikeReluctance,
42-
float bikeWalkingReluctance,
39+
@Nullable Float walkReluctance,
40+
@Nullable Float carReluctance,
41+
@Nullable Float bikeReluctance,
42+
@Nullable Float bikeWalkingReluctance,
4343
boolean wheelchair,
4444
@Nullable InputBanned banned,
4545
OptimizeType optimize,
@@ -110,20 +110,20 @@ public SearchDirection searchDirection() {
110110
return searchDirection;
111111
}
112112

113-
public float walkReluctance() {
114-
return walkReluctance;
113+
public Optional<Float> walkReluctance() {
114+
return Optional.ofNullable(walkReluctance);
115115
}
116116

117-
public float carReluctance() {
118-
return carReluctance;
117+
public Optional<Float> carReluctance() {
118+
return Optional.ofNullable(carReluctance);
119119
}
120120

121-
public float bikeReluctance() {
122-
return bikeReluctance;
121+
public Optional<Float> bikeReluctance() {
122+
return Optional.ofNullable(bikeReluctance);
123123
}
124124

125-
public float bikeWalkingReluctance() {
126-
return bikeWalkingReluctance;
125+
public Optional<Float> bikeWalkingReluctance() {
126+
return Optional.ofNullable(bikeWalkingReluctance);
127127
}
128128

129129
public boolean wheelchair() {

Diff for: src/main/java/org/opentripplanner/client/parameters/TripPlanParametersBuilder.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ public class TripPlanParametersBuilder {
1717
private Set<RequestMode> modes;
1818
private SearchDirection searchDirection = SearchDirection.DEPART_AT;
1919
private Duration searchWindow;
20-
private float walkReluctance = 1.4f;
21-
private float carReluctance = 3.0f;
22-
private float bikeReluctance = 2.0f;
23-
private float bikeWalkingReluctance = 5.0f;
20+
private Float walkReluctance;
21+
private Float carReluctance;
22+
private Float bikeReluctance;
23+
private Float bikeWalkingReluctance;
2424
private OptimizeType optimize = OptimizeType.QUICK;
2525
private InputTriangle triangle;
2626
private int numItineraries = 5;

Diff for: src/test/java/org/opentripplanner/IntegrationTest.java

+26
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import java.time.LocalDateTime;
1616
import java.time.ZoneId;
1717
import java.util.List;
18+
import java.util.Optional;
1819
import java.util.Set;
1920
import java.util.function.Predicate;
2021
import org.junit.jupiter.api.Disabled;
@@ -214,6 +215,31 @@ public void planPlaceToPlaceWithTriangle() throws IOException {
214215
assertTrue(fastLeg.duration().getSeconds() < saveLeg.duration().getSeconds());
215216
}
216217

218+
@Test
219+
public void planWithReluctance() throws IOException {
220+
TripPlanParametersBuilder builder =
221+
TripPlanParameters.builder()
222+
.withFrom(OSLO_WEST)
223+
.withTo(OSLO_EAST)
224+
.withTime(LocalDateTime.now())
225+
.withModes(Set.of(RequestMode.WALK, RequestMode.TRANSIT));
226+
227+
assertEquals(Optional.empty(), builder.build().walkReluctance());
228+
assertEquals(Optional.empty(), builder.build().bikeReluctance());
229+
assertEquals(Optional.empty(), builder.build().carReluctance());
230+
assertEquals(Optional.empty(), builder.build().bikeWalkingReluctance());
231+
232+
// Plan with high walk reluctance - should prefer transit
233+
builder.withWalkReluctance(5.0f);
234+
builder.withBikeReluctance(4.0f);
235+
builder.withCarReluctance(3.0f);
236+
builder.withBikeWalkingReluctance(2.0f);
237+
assertEquals(Optional.of(5.0f), builder.build().walkReluctance());
238+
assertEquals(Optional.of(4.0f), builder.build().bikeReluctance());
239+
assertEquals(Optional.of(3.0f), builder.build().carReluctance());
240+
assertEquals(Optional.of(2.0f), builder.build().bikeWalkingReluctance());
241+
}
242+
217243
@Test
218244
public void arriveByPlan() throws IOException {
219245

0 commit comments

Comments
 (0)