Skip to content

Commit 2b6a489

Browse files
authored
Merge pull request #7565 from HSLdevcom/move-nearby-stop-finder
Move nearby stop and place finder classes to a new package and move nearby stop finding to happen in one interface
2 parents 1952ec5 + 2b031b9 commit 2b6a489

100 files changed

Lines changed: 561 additions & 495 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

application/src/ext-test/java/org/opentripplanner/ext/carpooling/service/DefaultCarpoolingServiceAccessEgressTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.opentripplanner.routing.algorithm.raptoradapter.router.street.AccessEgressType;
2727
import org.opentripplanner.routing.api.request.RouteRequest;
2828
import org.opentripplanner.routing.api.request.request.StreetRequest;
29-
import org.opentripplanner.routing.graphfinder.TransitServiceResolver;
3029
import org.opentripplanner.routing.linking.VertexLinkerTestFactory;
3130
import org.opentripplanner.routing.linking.internal.VertexCreationService;
3231
import org.opentripplanner.street.geometry.WgsCoordinate;
@@ -39,6 +38,7 @@
3938
import org.opentripplanner.street.service.StreetLimitationParametersService;
4039
import org.opentripplanner.transit.service.DefaultTransitService;
4140
import org.opentripplanner.transit.service.TransitService;
41+
import org.opentripplanner.transit.service.TransitServiceResolver;
4242

4343
/**
4444
* Integration tests for {@link DefaultCarpoolingService#routeAccessEgress}.

application/src/ext-test/java/org/opentripplanner/ext/flex/FlexRouterTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import java.util.Map;
1010
import java.util.Set;
1111
import java.util.stream.Collectors;
12-
import org.jspecify.annotations.NonNull;
1312
import org.junit.jupiter.api.AfterAll;
1413
import org.junit.jupiter.api.BeforeAll;
1514
import org.junit.jupiter.api.Test;
@@ -87,7 +86,7 @@ private void assertTripsForDate(
8786
assertEquals(Set.of(expectedTripIds), actualTripIds);
8887
}
8988

90-
private @NonNull FlexRouter setupEnvironment(TripRequest tripRequest) {
89+
private FlexRouter setupEnvironment(TripRequest tripRequest) {
9190
// Test FlexTrip running day -> service date aggregation using three trips:
9291
// trip1 runs on it's service day
9392
// trip2 runs on it's service day and the day after

application/src/ext-test/java/org/opentripplanner/ext/flex/template/ClosestTripTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import org.opentripplanner.core.model.id.FeedScopedId;
1717
import org.opentripplanner.ext.flex.trip.FlexTrip;
1818
import org.opentripplanner.ext.flex.trip.UnscheduledTrip;
19-
import org.opentripplanner.routing.graphfinder.NearbyStop;
19+
import org.opentripplanner.place.api.NearbyStop;
2020
import org.opentripplanner.street.model.vertex.TransitStopVertex;
2121
import org.opentripplanner.transfer.regular.model.PathTransfer;
2222
import org.opentripplanner.transit.api.request.TripRequest;

application/src/ext-test/java/org/opentripplanner/ext/flex/template/FlexTemplateFactoryTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import org.opentripplanner.ext.flex.trip.UnscheduledTrip;
2828
import org.opentripplanner.model.PickDrop;
2929
import org.opentripplanner.model.StopTime;
30-
import org.opentripplanner.routing.graphfinder.NearbyStop;
30+
import org.opentripplanner.place.api.NearbyStop;
3131
import org.opentripplanner.street.model.vertex.StreetLocation;
3232
import org.opentripplanner.street.search.request.StreetSearchRequest;
3333
import org.opentripplanner.street.search.state.State;

application/src/ext-test/java/org/opentripplanner/ext/ojp/service/CallAtStopServiceTest.java

Lines changed: 20 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,27 @@
1313
import org.junit.jupiter.params.provider.MethodSource;
1414
import org.locationtech.jts.geom.Coordinate;
1515
import org.opentripplanner.core.model.id.FeedScopedId;
16-
import org.opentripplanner.routing.graphfinder.DirectGraphFinder;
17-
import org.opentripplanner.routing.graphfinder.GraphFinder;
18-
import org.opentripplanner.routing.graphfinder.NearbyStop;
19-
import org.opentripplanner.routing.graphfinder.PlaceAtDistance;
20-
import org.opentripplanner.routing.graphfinder.PlaceType;
16+
import org.opentripplanner.place.NearbyStopFinder;
17+
import org.opentripplanner.place.api.NearbyStop;
18+
import org.opentripplanner.place.nearbystopfinder.StraightLineNearbyStopFinder;
19+
import org.opentripplanner.routing.api.request.RouteRequest;
2120
import org.opentripplanner.street.geometry.WgsCoordinate;
21+
import org.opentripplanner.street.model.StreetMode;
22+
import org.opentripplanner.street.model.vertex.Vertex;
2223
import org.opentripplanner.street.search.state.TestStateBuilder;
2324
import org.opentripplanner.transit.model._data.TransitTestEnvironment;
2425
import org.opentripplanner.transit.model._data.TransitTestEnvironmentBuilder;
2526
import org.opentripplanner.transit.model._data.TripInput;
26-
import org.opentripplanner.transit.model.basic.TransitMode;
2727
import org.opentripplanner.transit.model.framework.EntityNotFoundException;
2828
import org.opentripplanner.transit.model.site.RegularStop;
2929
import org.opentripplanner.transit.service.ArrivalDeparture;
30-
import org.opentripplanner.transit.service.TransitService;
3130

3231
class CallAtStopServiceTest {
3332

3433
private final TransitTestEnvironmentBuilder envBuilder = TransitTestEnvironment.of();
34+
private static final NearbyStopFinder NEARBY_STOP_FINDER = new StraightLineNearbyStopFinder(e ->
35+
List.of()
36+
);
3537

3638
private static final String STOP_A_ID = "A";
3739
private static final String STOP_B_ID = "B";
@@ -74,10 +76,7 @@ public static List<FeedScopedId> stopPointRefCases() {
7476
@MethodSource("stopPointRefCases")
7577
void stopPointRef(FeedScopedId ref) {
7678
var env = envBuilder.addTrip(TRIP_INPUT).build();
77-
var service = new CallAtStopService(
78-
env.transitService(),
79-
new DirectGraphFinder(e -> List.of())
80-
);
79+
var service = new CallAtStopService(env.transitService(), NEARBY_STOP_FINDER);
8180
var result = service.findCallsAtStop(ref, params(env, 100));
8281
assertThat(result).hasSize(1);
8382
var stopId = result.getFirst().tripTimeOnDate().getStop().getId();
@@ -87,20 +86,17 @@ void stopPointRef(FeedScopedId ref) {
8786
@Test
8887
void notFound() {
8988
var env = envBuilder.addTrip(TRIP_INPUT).build();
90-
var service = new CallAtStopService(
91-
env.transitService(),
92-
new DirectGraphFinder(e -> List.of())
93-
);
89+
var service = new CallAtStopService(env.transitService(), NEARBY_STOP_FINDER);
9490
assertThrows(EntityNotFoundException.class, () ->
9591
service.findCallsAtStop(id("unknown"), params(env, 100))
9692
);
9793
}
9894

9995
@Test
10096
void coordinates() {
101-
var finder = new GraphFinder() {
97+
var finder = new NearbyStopFinder() {
10298
@Override
103-
public List<NearbyStop> findClosestStops(Coordinate coordinate, double radiusMeters) {
99+
public List<NearbyStop> findNearbyStops(Coordinate coordinate, double radiusMeters) {
104100
return List.of(
105101
new NearbyStop(
106102
STOP_A.getId(),
@@ -112,19 +108,11 @@ public List<NearbyStop> findClosestStops(Coordinate coordinate, double radiusMet
112108
}
113109

114110
@Override
115-
public List<PlaceAtDistance> findClosestPlaces(
116-
double lat,
117-
double lon,
118-
double radiusMeters,
119-
int maxResults,
120-
List<TransitMode> filterByModes,
121-
List<PlaceType> filterByPlaceTypes,
122-
List<FeedScopedId> filterByStops,
123-
List<FeedScopedId> filterByStations,
124-
List<FeedScopedId> filterByRoutes,
125-
List<String> filterByBikeRentalStations,
126-
List<String> filterByNetwork,
127-
TransitService transitService
111+
public List<NearbyStop> findNearbyStops(
112+
Vertex vertex,
113+
RouteRequest routingRequest,
114+
StreetMode streetMode,
115+
boolean reverseDirection
128116
) {
129117
return List.of();
130118
}
@@ -145,10 +133,7 @@ void numberOfDeparturesLimitsResultsForStation() {
145133
.addStop(STOP_C, "12:15", "12:16");
146134

147135
var env = envBuilder.addTrip(TRIP_INPUT).addTrip(trip2).build();
148-
var service = new CallAtStopService(
149-
env.transitService(),
150-
new DirectGraphFinder(e -> List.of())
151-
);
136+
var service = new CallAtStopService(env.transitService(), NEARBY_STOP_FINDER);
152137

153138
// Station OMEGA has two child stops (A, D), each with a departure.
154139
// Requesting 1 departure should return exactly 1, not 2.
@@ -163,10 +148,7 @@ void numberOfDeparturesLimitsResultsForStation() {
163148
@Test
164149
void tooManyDepartures() {
165150
var env = envBuilder.addTrip(TRIP_INPUT).build();
166-
var service = new CallAtStopService(
167-
env.transitService(),
168-
new DirectGraphFinder(e -> List.of())
169-
);
151+
var service = new CallAtStopService(env.transitService(), NEARBY_STOP_FINDER);
170152
assertThrows(IllegalArgumentException.class, () ->
171153
service.findCallsAtStop(STOP_A.getId(), params(env, 101))
172154
);

application/src/ext/java/org/opentripplanner/ext/carpooling/CarpoolingService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import org.opentripplanner.routing.algorithm.raptoradapter.router.street.AccessEgressType;
88
import org.opentripplanner.routing.api.request.RouteRequest;
99
import org.opentripplanner.routing.api.request.request.StreetRequest;
10-
import org.opentripplanner.routing.graphfinder.TransitServiceResolver;
10+
import org.opentripplanner.transit.service.TransitServiceResolver;
1111

1212
/**
1313
* Service for finding carpooling options by matching passenger requests with available driver trips.

application/src/ext/java/org/opentripplanner/ext/carpooling/routing/InsertionCandidate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import org.opentripplanner.astar.model.GraphPath;
77
import org.opentripplanner.ext.carpooling.model.CarpoolTrip;
88
import org.opentripplanner.ext.carpooling.util.GraphPathUtils;
9-
import org.opentripplanner.routing.graphfinder.NearbyStop;
9+
import org.opentripplanner.place.api.NearbyStop;
1010
import org.opentripplanner.street.model.edge.Edge;
1111
import org.opentripplanner.street.model.vertex.Vertex;
1212
import org.opentripplanner.street.search.state.State;

application/src/ext/java/org/opentripplanner/ext/carpooling/routing/InsertionEvaluator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import javax.annotation.Nullable;
1010
import org.opentripplanner.astar.model.GraphPath;
1111
import org.opentripplanner.ext.carpooling.constraints.PassengerDelayConstraints;
12+
import org.opentripplanner.place.api.NearbyStop;
1213
import org.opentripplanner.routing.algorithm.raptoradapter.router.street.AccessEgressType;
13-
import org.opentripplanner.routing.graphfinder.NearbyStop;
1414
import org.opentripplanner.street.model.edge.Edge;
1515
import org.opentripplanner.street.model.vertex.Vertex;
1616
import org.opentripplanner.street.search.state.State;

application/src/ext/java/org/opentripplanner/ext/carpooling/routing/ViableAccessEgress.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import java.util.List;
44
import javax.annotation.Nullable;
55
import org.opentripplanner.astar.model.GraphPath;
6+
import org.opentripplanner.place.api.NearbyStop;
67
import org.opentripplanner.routing.algorithm.raptoradapter.router.street.AccessEgressType;
7-
import org.opentripplanner.routing.graphfinder.NearbyStop;
88
import org.opentripplanner.street.model.edge.Edge;
99
import org.opentripplanner.street.model.vertex.Vertex;
1010
import org.opentripplanner.street.search.state.State;

application/src/ext/java/org/opentripplanner/ext/carpooling/service/DefaultCarpoolingService.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,17 @@
2929
import org.opentripplanner.ext.carpooling.util.GraphPathUtils;
3030
import org.opentripplanner.ext.carpooling.util.StreetVertexUtils;
3131
import org.opentripplanner.framework.model.TimeAndCost;
32-
import org.opentripplanner.graph_builder.module.nearbystops.StreetNearbyStopFinder;
3332
import org.opentripplanner.model.GenericLocation;
3433
import org.opentripplanner.model.plan.Itinerary;
34+
import org.opentripplanner.place.api.NearbyStop;
35+
import org.opentripplanner.place.nearbystopfinder.StreetNearbyStopFinder;
3536
import org.opentripplanner.routing.algorithm.raptoradapter.router.street.AccessEgressType;
3637
import org.opentripplanner.routing.api.request.RouteRequest;
3738
import org.opentripplanner.routing.api.request.request.StreetRequest;
3839
import org.opentripplanner.routing.api.response.InputField;
3940
import org.opentripplanner.routing.api.response.RoutingError;
4041
import org.opentripplanner.routing.api.response.RoutingErrorCode;
4142
import org.opentripplanner.routing.error.RoutingValidationException;
42-
import org.opentripplanner.routing.graphfinder.NearbyStop;
43-
import org.opentripplanner.routing.graphfinder.TransitServiceResolver;
4443
import org.opentripplanner.routing.linking.internal.VertexCreationService;
4544
import org.opentripplanner.street.geometry.WgsCoordinate;
4645
import org.opentripplanner.street.linking.TemporaryVerticesContainer;
@@ -50,6 +49,7 @@
5049
import org.opentripplanner.streetadapter.StreetSearchRequestMapper;
5150
import org.opentripplanner.transit.model.site.AreaStop;
5251
import org.opentripplanner.transit.service.TransitService;
52+
import org.opentripplanner.transit.service.TransitServiceResolver;
5353
import org.opentripplanner.utils.time.TimeUtils;
5454
import org.slf4j.Logger;
5555
import org.slf4j.LoggerFactory;
@@ -430,6 +430,7 @@ public List<CarpoolAccessEgress> routeAccessEgress(
430430
}
431431

432432
var streetNearbyStopFinder = StreetNearbyStopFinder.of(
433+
null,
433434
MAX_SEARCH_DURATION_FOR_NEARBY_STOPS_FOR_ACCESS_EGRESS,
434435
0
435436
);

0 commit comments

Comments
 (0)