Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
185 commits
Select commit Hold shift + click to select a range
041b7ab
Fix CalendarServiceData snapshots sharing mutable service-date sets
t2gran Aug 14, 2026
a4c5798
Replace TripCalendars/DefaultTripCalendars with an immutable value type
t2gran Aug 14, 2026
7aa206e
Fold TripCalendars into TimetableRepository/TimetableRepositorySnapshot
t2gran Aug 14, 2026
6df6c87
Make TransitService fully read-only by moving getOrCreateServiceIdFor…
t2gran Aug 14, 2026
e5aa85e
Fix Kryo serialization of unmodifiable Map/Set/SortedSet/SortedMap
t2gran Aug 14, 2026
47f0a8e
Cache startDate/endDate in TripCalendars
t2gran Aug 15, 2026
d7b9521
Rename initializeServiceCodes to initializeServiceCodesRunningForDate
t2gran Aug 15, 2026
402d4b4
Mention Iterable in naming convention
leonardehrenfried Aug 18, 2026
12b7c40
Efficiently iterate over all graph edges
leonardehrenfried Aug 16, 2026
f2fe1b6
Rename method, add test
leonardehrenfried Aug 17, 2026
bc71054
Rename method
leonardehrenfried Aug 18, 2026
ced11c0
Add note about concurrent modification
leonardehrenfried Aug 19, 2026
2ee90e9
Split ElevatorTest into multiple focussed module tests
leonardehrenfried Aug 18, 2026
66b9df0
Remove getStreetEdges
leonardehrenfried Aug 19, 2026
d22958d
Revert "Fix CalendarServiceData snapshots sharing mutable service-dat…
t2gran Aug 19, 2026
fd83518
Move getEdgesOfType to GraphSummarizer
leonardehrenfried Aug 19, 2026
06cdafa
Replace ListUtils.ofIterable with truth
leonardehrenfried Aug 19, 2026
cacc9fd
test: Add tests for Kryo serialization of unmodifiable collections
t2gran Aug 19, 2026
945ff46
Add StreamUtils.ofIterable
leonardehrenfried Aug 19, 2026
097095a
feat: add `elevatorRefTags` build config option to extract elevator i…
jessicaKoehnke Aug 18, 2026
50176cb
refactor: Rename toIntermediate/create to toKryoSerializedObject/from…
t2gran Aug 19, 2026
2d193b1
Merge remote-tracking branch 'otp/dev-2.x' into trip-calendar-cleanup
t2gran Aug 19, 2026
b155ec5
Update application/src/main/java/org/opentripplanner/transit/model/ca…
t2gran Aug 19, 2026
014e46a
Add runningTimeRanges filter to canceledTrips queries
optionsome Aug 13, 2026
22afbda
Add runningTimeRanges filter to canceledCalls
optionsome Aug 13, 2026
bc68c96
Replace validityPeriod with validityPeriods in the Transmodel API
optionsome Aug 20, 2026
00d20bc
Deprecate effectiveEnd/StartDate in favor of activePeriods in the GTF…
optionsome Aug 20, 2026
8d53a70
Run prettier through spotless instead of prettier maven plugin
optionsome Aug 20, 2026
2092058
Use spotless to remove unused imports before checkstyle runs
optionsome Aug 20, 2026
9eaaae2
Rename method to 'listEdges'
leonardehrenfried Aug 20, 2026
d2ec769
Add tests for StreamUtils.ofIterable and ListUtils.ofIterable
leonardehrenfried Aug 20, 2026
08602d0
Refactor time period matching to be slightly more optimized
optionsome Aug 21, 2026
4e5d901
Unify running time computation
optionsome Aug 21, 2026
7202491
Remove TripOnServiceDateMatcherFactory factory method without running…
optionsome Aug 21, 2026
4358a75
Exclude node_modules from spotless
optionsome Aug 21, 2026
200c652
refactor: update logger initialization in DefaultTransferService
t2gran Aug 20, 2026
4709e6e
refactor: Improve hashCode implementation, and make it consistent wit…
t2gran Aug 21, 2026
53c052a
refactor: In the BuildConfig constructor, prefix all fields in assign…
t2gran Aug 21, 2026
8ee5b55
doc: Enhance descriptions for maxTransferDuration parameters in Regul…
t2gran Aug 21, 2026
d5e0a8b
Update geotools.version to v34.5
renovate[bot] Aug 24, 2026
8a22e73
doc: remove stale OtpServerRequestContext reference from javadoc
t2gran Aug 12, 2026
e57534b
refactor: decouple RefetchItineraryService from OtpServerRequestContext
t2gran Aug 12, 2026
f26a936
refactor: decouple org.opentripplanner.warmup module from OtpServerRe…
t2gran Aug 12, 2026
5ac836f
refactor: rename GraphQLRequestContext to GtfsGraphQLRequestContext a…
t2gran Aug 12, 2026
982e4ab
refactor: decouple org.opentripplanner.apis.transmodel package from O…
t2gran Aug 12, 2026
90661fd
refactor: decouple UpdaterStatusResource from OtpServerRequestContext
t2gran Aug 12, 2026
c09bacc
refactor: decouple org.opentripplanner.apis.gtfs package from OtpServ…
t2gran Aug 12, 2026
6af0d75
refactor: stop bridging OtpServerRequestContext into HK2/Jersey
t2gran Aug 12, 2026
4b9cfae
refactor: remove OtpServerRequestContext from RequestScopedModule/Req…
t2gran Aug 12, 2026
01ccab5
refactor: decouple SpeedTest from OtpServerRequestContext/DefaultServ…
t2gran Aug 12, 2026
4fc3faa
refactor: decouple GtfsTest from OtpServerRequestContext
t2gran Aug 12, 2026
17b7563
refactor: decouple VectorTileResponseFactoryTest from OtpServerReques…
t2gran Aug 12, 2026
593c073
test: build a fresh VehicleRentalService per test instead of sharing …
t2gran Aug 12, 2026
5eef84e
refactor: decouple SnapshotTestBase from OtpServerRequestContext
t2gran Aug 12, 2026
4a6e0ec
refactor: decouple ScheduledDeviatedTripIntegrationTest from OtpServe…
t2gran Aug 12, 2026
fdf1efb
refactor: decouple FlexIntegrationTest from OtpServerRequestContext
t2gran Aug 12, 2026
255c607
refactor: decouple TripRequestMapperTest from OtpServerRequestContext
t2gran Aug 12, 2026
be29c5e
refactor: decouple DebugVectorTilesResourceTest from OtpServerRequest…
t2gran Aug 12, 2026
e9a5246
refactor: decouple VectorTilesResourceTest from OtpServerRequestContext
t2gran Aug 12, 2026
6f48275
refactor: decouple CarRoutingTest from OtpServerRequestContext
t2gran Aug 12, 2026
5936160
refactor: decouple BarrierRoutingTest from OtpServerRequestContext
t2gran Aug 12, 2026
35558e1
refactor: decouple WalkRoutingTest from OtpServerRequestContext
t2gran Aug 12, 2026
840bdb0
refactor: decouple SplitEdgeTurnRestrictionsTest from OtpServerReques…
t2gran Aug 12, 2026
d6ce6d8
refactor: decouple BicycleRoutingTest from OtpServerRequestContext
t2gran Aug 12, 2026
0a0c1dc
Use latest spotless version
optionsome Aug 24, 2026
26083ec
Apply review feedback
optionsome Aug 24, 2026
69b32a4
Reject alerts with no activity periods
optionsome Aug 24, 2026
82dab01
Fix formatting
optionsome Aug 24, 2026
edd2885
refactor: remove OtpServerRequestContext and DefaultServerRequestContext
t2gran Aug 12, 2026
2af934f
Update dependency com.hivemq:hivemq-mqtt-client to v1.4.0
renovate[bot] Aug 25, 2026
1bce672
Disable architecture test
leonardehrenfried Aug 25, 2026
2ef7a3c
Merge pull request #7915 from leonardehrenfried/iterable-naming
leonardehrenfried Aug 25, 2026
fd7202c
Revert "Disable architecture test" [ci skip]
leonardehrenfried Aug 25, 2026
fa0ba0b
Update Javadocs
leonardehrenfried Aug 25, 2026
1156e21
Merge pull request #7930 from HSLdevcom/prettier-update
optionsome Aug 25, 2026
8f1dfde
Merge pull request #7919 from leonardehrenfried/elevator-module-tests
leonardehrenfried Aug 25, 2026
d7fb331
refactor: simplify `getCompoundTagValues` with `flatMap` and rename `…
jessicaKoehnke Aug 25, 2026
c64ad15
Merge pull request #7938 from opentripplanner/renovate/hive-mqtt-client
leonardehrenfried Aug 25, 2026
b77ae35
Clarify some docs
optionsome Aug 25, 2026
2cc8250
Change the canceledCalls filtering to only consider the call times in…
optionsome Aug 25, 2026
70d1d9f
Fix merge conflicts
leonardehrenfried Aug 25, 2026
b86c9aa
refactor: change `elevatorRefTags` to return first matching id instea…
jessicaKoehnke Aug 25, 2026
34d9733
fix: Reject custom comparators when serializing SortedSet/SortedMap
t2gran Aug 25, 2026
546406b
Document when alerts are added to legs
leonardehrenfried Aug 26, 2026
5d233e2
refactor: move elevator ref tag tests to dedicated `ElevatorIdTest` c…
jessicaKoehnke Aug 26, 2026
c97e7a3
Merge branch 'dev-2.x' into read-osm-elevator-ids
jessicaKoehnke Aug 26, 2026
0024f0a
Merge pull request #7890 from entur/request-scoped-6-rm-otp-server-re…
t2gran Aug 26, 2026
8d0f9f1
Rename OpenEndedOffsetDateTimeRange -> OffsetDateTimeRange
optionsome Aug 26, 2026
95edceb
Fix docs
optionsome Aug 26, 2026
08942b0
Apply suggestions from code review
t2gran Aug 26, 2026
f3e0cc7
Update highly trusted dependencies (patch)
renovate[bot] Aug 26, 2026
905393e
Merge pull request #7949 from opentripplanner/renovate/highly-trusted…
renovate[bot] Aug 27, 2026
0f5fc11
Add TODO comment
optionsome Aug 27, 2026
9c52e03
Merge pull request #7899 from HSLdevcom/canceled-trips-time-filtering
optionsome Aug 27, 2026
7989a34
Add changelog entry for #7899 [ci skip]
Aug 27, 2026
d2c3653
Extract alerts filter into own class
optionsome Jan 29, 2026
be07f71
Add alertsConnection Query
optionsome Mar 30, 2026
90ad2f9
Deprecate old alerts query
optionsome Aug 6, 2026
ec46bca
Explain why both incoming and outgoing are returned
leonardehrenfried Aug 27, 2026
9bf40d5
Clarify terminology around time range bounds
optionsome Aug 27, 2026
f781385
Only add stop connectivity graph build module, when both street and t…
leonardehrenfried Aug 27, 2026
f1c6f45
Fix flaky test in StreetEdgeSplittingTest.
VillePihlava Aug 27, 2026
1b6f75e
Merge pull request #7926 from HSLdevcom/alert-active-period-api-fix
optionsome Aug 27, 2026
a414228
refactor: use assertThat
jessicaKoehnke Aug 27, 2026
38914b3
Upgrade debug client to version 2026/08/2026-08-27T14:03
Aug 27, 2026
b33e398
Add changelog entry for #7926 [ci skip]
Aug 27, 2026
a52a664
Fix EstimatedTime's delay logic
optionsome Aug 27, 2026
534ad5f
Merge pull request #7953 from HSLdevcom/fix-call-realtime
optionsome Aug 28, 2026
a9fb338
Add changelog entry for #7953 [ci skip]
Aug 28, 2026
e633295
Update application/src/main/resources/org/opentripplanner/apis/gtfs/s…
leonardehrenfried Aug 28, 2026
ec7785f
Apply batched suggestions from code review
leonardehrenfried Aug 28, 2026
ddeaa8c
Drop 'The'
leonardehrenfried Aug 28, 2026
eec969b
Use 'field', not 'resolver'
leonardehrenfried Aug 28, 2026
48c7454
Apply review feedback
leonardehrenfried Aug 28, 2026
2e1bd80
Merge pull request #7936 from entur/small-transfer-related-cleanups
t2gran Aug 29, 2026
402dd71
Merge pull request #7934 from opentripplanner/renovate/geotools.version
leonardehrenfried Aug 31, 2026
4db5b41
Bump serialization version id for #7934
Aug 31, 2026
63078c7
Finetune boarding/alighting language
leonardehrenfried Aug 31, 2026
1030710
Remove street notes
leonardehrenfried Aug 26, 2026
fd7dca0
Deprecate field
leonardehrenfried Aug 27, 2026
736ba90
Delete empty files
leonardehrenfried Aug 31, 2026
65afa0f
Merge remote-tracking branch 'upstream/dev-2.x' into read-osm-elevato…
jessicaKoehnke Aug 31, 2026
c8cf82b
refactor: replace JUnit assertions with Truth assertions in new eleva…
jessicaKoehnke Aug 31, 2026
1974d4d
Apply review feedback
optionsome Aug 31, 2026
cdfe5d6
Merge pull request #7906 from opentripplanner/vertex-iterator
leonardehrenfried Aug 31, 2026
626899f
Apply batched suggestions from code review
optionsome Aug 31, 2026
8d3ba9f
Remove dead code
optionsome Aug 31, 2026
83998a5
refactor: Mark Edge hashCode method as final
t2gran Aug 31, 2026
2a5ae00
Make some test alerts static
optionsome Aug 31, 2026
98d3a52
refactor: Avoid materializing Graph edges unless the caller needs a c…
t2gran Aug 31, 2026
51229c7
Merge pull request #7952 from HSLdevcom/fix-flaky-StreetEdgeSplitting…
VillePihlava Sep 1, 2026
ac48e3c
Introduce model package for OSM graph building entities
leonardehrenfried Jul 27, 2026
d82de90
Move record to test code
leonardehrenfried Jul 29, 2026
04fe546
Add new package 'storage'
leonardehrenfried Aug 25, 2026
9c94e00
Move tests
leonardehrenfried Aug 26, 2026
a84276c
Introduce 'internal' package
leonardehrenfried Sep 1, 2026
207275b
Move street check into module itself
leonardehrenfried Sep 1, 2026
3eeec15
Merge pull request #7898 from entur/trip-calendar-cleanup
t2gran Sep 1, 2026
3ae32bd
Bump serialization version id for #7898
Sep 1, 2026
9460449
Apply sorting to alerts returned from the alertsConnection query
optionsome Sep 1, 2026
367a563
Merge remote-tracking branch 'upstream/dev-2.x' into alerts-paging
optionsome Sep 1, 2026
44b6223
Fix logging of JAXB elements
leonardehrenfried Sep 2, 2026
b1e140a
Move naming
leonardehrenfried Sep 2, 2026
9a1c319
Remove references to questionable SIRI-only stop conditions
leonardehrenfried Sep 2, 2026
426a97c
Remove a few mentions of notes
leonardehrenfried Sep 3, 2026
2d5e608
Remove comment
leonardehrenfried Sep 3, 2026
1eea46b
Merge pull request #7944 from ibi-group/alert-docs
leonardehrenfried Sep 3, 2026
92f320f
Merge pull request #7959 from leonardehrenfried/remove-notes
leonardehrenfried Sep 3, 2026
2d3cd0d
Add changelog entry for #7959 [ci skip]
Sep 3, 2026
aff7598
Bump serialization version id for #7959
Sep 3, 2026
558ae3f
Merge pull request #7924 from HSLdevcom/alerts-paging
tkalvas Sep 3, 2026
b8e2e60
Add changelog entry for #7924 [ci skip]
Sep 3, 2026
d3ebdeb
Apply review feedback
leonardehrenfried Sep 3, 2026
8b2aa96
Add carpool to the Transmodel TransportMode enum
arnljot Sep 3, 2026
d6fef88
Update dependency mkdocs-material to v9.7.7 [SECURITY]
renovate[bot] Sep 4, 2026
61d34a5
Update dependency ch.qos.logback:logback-classic to v1.6.3
renovate[bot] Sep 4, 2026
f018b20
Merge pull request #7966 from opentripplanner/renovate/pypi-mkdocs-ma…
renovate[bot] Sep 4, 2026
929fc9e
Merge pull request #7967 from opentripplanner/renovate/logging-depend…
renovate[bot] Sep 4, 2026
67471e8
Move interfaces to osm package
leonardehrenfried Sep 4, 2026
55f97b7
refactor: Support multiple iterations for Graph#listEdges()
t2gran Sep 4, 2026
472d437
Merge pull request #7960 from entur/patch-kryo-serialization-performance
t2gran Sep 4, 2026
a78cc19
Bump serialization version id for #7960
Sep 4, 2026
35c6706
Update prettier and prettier-java versions
optionsome Aug 24, 2026
af496c1
Move comments slightly to prevent prettier from putting them on wrong…
optionsome Aug 24, 2026
98d5fe7
Apply formatting changes
optionsome Sep 4, 2026
477d527
Put formatting commit to .git-blame-ignore-revs
optionsome Sep 4, 2026
0c776b8
Merge pull request #7964 from leonardehrenfried/fix-jaxb-logging
leonardehrenfried Sep 4, 2026
eeef9af
Merge pull request #7935 from HSLdevcom/prettier-java-update
t2gran Sep 4, 2026
9fd5b1c
Merge remote-tracking branch 'upstream/dev-2.x' into osm-model
leonardehrenfried Sep 4, 2026
46b6de1
Merge pull request #7946 from leonardehrenfried/osm-model
leonardehrenfried Sep 4, 2026
d6188ff
Update logging dependencies to v2.0.19
renovate[bot] Sep 4, 2026
0a1549d
Merge pull request #7971 from opentripplanner/renovate/logging-depend…
renovate[bot] Sep 4, 2026
f952a9a
Remove unnecessary checkstyle rule
optionsome Sep 4, 2026
58d1f05
Merge pull request #7950 from leonardehrenfried/stop-connectivity
leonardehrenfried Sep 7, 2026
045d889
Merge pull request #7951 from entur/transmodel-missing-transport-modes
vpaturet Sep 7, 2026
02c0b4b
Upgrade debug client to version 2026/09/2026-09-07T12:25
Sep 7, 2026
f0f78c5
Merge branch 'dev-2.x' into read-osm-elevator-ids
jessicaKoehnke Sep 7, 2026
0f0e849
Update dependency com.google.cloud:libraries-bom to v26.88.0
renovate[bot] Sep 7, 2026
db9158c
Update dependency com.google.guava:guava to v33.7.1-jre
renovate[bot] Sep 7, 2026
5d3b811
Merge pull request #7921 from HBTGmbH/read-osm-elevator-ids
jessicaKoehnke Sep 8, 2026
6987be9
Merge pull request #7976 from opentripplanner/renovate/guava-monorepo
leonardehrenfried Sep 8, 2026
e59c364
Merge pull request #7974 from HSLdevcom/simplify-checkstyle
optionsome Sep 8, 2026
bb2d557
Merge pull request #7975 from opentripplanner/renovate/com.google.clo…
leonardehrenfried Sep 8, 2026
0cf2c66
Merge remote-tracking branch 'upstream/dev-2.x' into upstream-merge-2…
leonardehrenfried Sep 8, 2026
0c9fba7
Format code
leonardehrenfried Sep 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,6 @@ beeac076c0b9f0a8aaa1424ef1d6df3a6fa8f6ab

# use prettier to force lf line endings
7bee4cbeebb91dea4bf438af44509573948e6a56

# update prettier version
98d5fe7f7cc1d49ec613086b3a15523087daa213
7 changes: 2 additions & 5 deletions .github/workflows/cibuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,7 @@ jobs:
with:
fetch-depth: 0

# nodejs is needed because the dynamic download of it via the prettier maven plugin often
# times out
# Example: https://github.com/opentripplanner/OpenTripPlanner/actions/runs/4490450225/jobs/7897533439
# nodejs is needed because Spotless runs Prettier through node/npm
- uses: actions/setup-node@v6
with:
node-version: 24
Expand All @@ -46,9 +44,8 @@ jobs:
# to Maven Central open which then hang during the package phase because the Azure (Github Actions)
# NAT drops them
# https://github.com/actions/runner-images/issues/1499
# we set nodePath and npmPath to skip downloading the node binary, which frequently times out
run: |
mvn jacoco:prepare-agent test jacoco:report -P prettierCheck,unit-tests -Dprettier.nodePath=node -Dprettier.npmPath=npm
mvn jacoco:prepare-agent test jacoco:report -P prettierCheck,unit-tests
mvn package -Dmaven.test.skip -P prettierSkip,checkstyleSkip

- name: Send coverage data to codecov.io
Expand Down
14 changes: 0 additions & 14 deletions .prettierrc.yml

This file was deleted.

14 changes: 9 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,15 @@ mvn clean -Pclean-test-snapshots

## Code Formatting & Quality

Quality gates run in the Maven `validate` phase and fail the build on violations:

- **Prettier** auto-formats Java (`.prettierrc.yml`: 100-char width, 2-space indent). CI enforces
it; check with `mvn prettier:check`. Skip locally with `-Dps`.
- **Checkstyle** runs against `checkstyle.xml`. Skip with `-Dcs` (or `-PcheckstyleSkip`).
Quality gates run in the Maven `validate` / `process-sources` phases and fail the build on
violations:

- **Prettier**, run through the **Spotless** Maven plugin, auto-formats Java (100-char width,
2-space indent; the options are configured in the root `pom.xml`). Spotless also removes unused
imports (Javadoc-only references are kept). Requires `node`/`npm` on the `PATH`. CI enforces it;
check with `mvn spotless:check`, format with `mvn spotless:apply`. Skip locally with `-Dps`.
- **Checkstyle** runs against `checkstyle.xml` in the `process-sources` phase (after Spotless). Skip
with `-Dcs` (or `-PcheckstyleSkip`).

OpenRewrite (recipes in `openrewrite.yml`, e.g. removing unused imports) does **not** run
automatically — invoke it explicitly with `mvn validate -Prewrite` (or the `-Drw` shortcut).
Expand Down
22 changes: 6 additions & 16 deletions application/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@
<dependency>
<groupId>org.onebusaway</groupId>
<artifactId>onebusaway-gtfs</artifactId>
<version>14.2.1</version>
<version>14.2.2</version>
</dependency>
<!-- Used in DegreeGridNEDTileSource to fetch tiles from Amazon S3 -->
<dependency>
Expand Down Expand Up @@ -343,7 +343,7 @@
<dependency>
<groupId>com.hivemq</groupId>
<artifactId>hivemq-mqtt-client</artifactId>
<version>1.3.17</version>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>io.github.ci-cmg</groupId>
Expand All @@ -363,12 +363,12 @@
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-messaging-servicebus</artifactId>
<version>7.17.19</version>
<version>7.17.20</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.18.4</version>
<version>1.18.5</version>
<scope>compile</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -503,18 +503,8 @@
</configuration>
</plugin>
<plugin>
<groupId>com.hubspot.maven.plugins</groupId>
<artifactId>prettier-maven-plugin</artifactId>
<configuration>
<inputGlobs combine.children="append">
<!-- Additional patterns specific to the application module -->
<inputGlob>src/ext/java/**/*.java</inputGlob>
<inputGlob>src/ext-test/java/**/*.java</inputGlob>
<inputGlob>src/**/*.json</inputGlob>
<inputGlob>src/test/resources/org/opentripplanner/apis/**/*.graphql</inputGlob>
<inputGlob>!src/test/resources/org/opentripplanner/apis/vectortiles/style.json</inputGlob>
</inputGlobs>
</configuration>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Expand Down
4 changes: 2 additions & 2 deletions application/src/client/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
<link rel="icon" type="image/svg+xml" href="/img/otp-logo.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>OTP Debug</title>
<script type="module" crossorigin src="https://www.opentripplanner.org/debug-client-assets/2026/08/2026-08-24T15:19/assets/index-B1-tE5DO.js"></script>
<link rel="stylesheet" crossorigin href="https://www.opentripplanner.org/debug-client-assets/2026/08/2026-08-24T15:19/assets/index-GO7pvg6c.css">
<script type="module" crossorigin src="https://www.opentripplanner.org/debug-client-assets/2026/09/2026-09-07T12:25/assets/index-B1VUfEow.js"></script>
<link rel="stylesheet" crossorigin href="https://www.opentripplanner.org/debug-client-assets/2026/09/2026-09-07T12:25/assets/index-GO7pvg6c.css">
</head>
<body>
<div id="root"></div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ void sizesEachLegFromItsDurationAndSmallestDownstreamBudget() {
stop(Duration.ofMinutes(40))
);

var limits = DefaultCarpoolingService.driverLegTreeLimits(
trip,
new Duration[] { Duration.ofMinutes(60), Duration.ofMinutes(100) }
);
var limits = DefaultCarpoolingService.driverLegTreeLimits(trip, new Duration[] {
Duration.ofMinutes(60),
Duration.ofMinutes(100),
});

assertEquals(2, limits.length);
// Leg 0 allowance = min(downstream budgets) = min(5, 40) = 5.
Expand All @@ -78,10 +78,10 @@ void sizesShortLegsWellBelowNearbyStopRadius() {
stop(Duration.ofMinutes(2))
);

var limits = DefaultCarpoolingService.driverLegTreeLimits(
trip,
new Duration[] { Duration.ofMinutes(5), Duration.ofMinutes(5) }
);
var limits = DefaultCarpoolingService.driverLegTreeLimits(trip, new Duration[] {
Duration.ofMinutes(5),
Duration.ofMinutes(5),
});

var leg = expectedLimit(Duration.ofMinutes(5), Duration.ofMinutes(2));
assertEquals(leg, limits[0]);
Expand All @@ -96,10 +96,9 @@ void sizesShortLegsWellBelowNearbyStopRadius() {
void twoWaypointTripSizesTheSingleLeg() {
var trip = trip(stop(BUDGET), stop(BUDGET));

var limits = DefaultCarpoolingService.driverLegTreeLimits(
trip,
new Duration[] { Duration.ofMinutes(60) }
);
var limits = DefaultCarpoolingService.driverLegTreeLimits(trip, new Duration[] {
Duration.ofMinutes(60),
});

assertEquals(1, limits.length);
assertEquals(expectedLimit(Duration.ofMinutes(60), BUDGET), limits[0]);
Expand All @@ -112,10 +111,9 @@ void capsEachLegLimitAtMaxTripDuration() {
// request could expand a multi-hour street tree.
var trip = trip(stop(BUDGET), stop(BUDGET));

var limits = DefaultCarpoolingService.driverLegTreeLimits(
trip,
new Duration[] { Duration.ofHours(4) }
);
var limits = DefaultCarpoolingService.driverLegTreeLimits(trip, new Duration[] {
Duration.ofHours(4),
});

assertEquals(CarpoolTrip.MAX_TRIP_DURATION, limits[0]);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
import org.junit.jupiter.params.provider.MethodSource;
import org.opentripplanner.core.model.i18n.I18NString;
import org.opentripplanner.graph_builder.issue.api.DataImportIssueStore;
import org.opentripplanner.graph_builder.module.osm.OsmDatabase;
import org.opentripplanner.graph_builder.module.osm.StreetEdgePair;
import org.opentripplanner.graph_builder.services.osm.EdgeNamer;
import org.opentripplanner.graph_builder.module.osm.EdgeNamer;
import org.opentripplanner.graph_builder.module.osm.model.StreetEdgePair;
import org.opentripplanner.graph_builder.module.osm.storage.OsmDatabase;
import org.opentripplanner.osm.TestOsmProvider;
import org.opentripplanner.osm.model.OsmWay;
import org.opentripplanner.street.geometry.WgsCoordinate;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import static org.junit.jupiter.api.Assertions.assertInstanceOf;

import org.junit.jupiter.api.Test;
import org.opentripplanner.graph_builder.services.osm.DefaultNamer;
import org.opentripplanner.graph_builder.services.osm.EdgeNamer.EdgeNamerType;
import org.opentripplanner.graph_builder.module.osm.EdgeNamer.EdgeNamerType;
import org.opentripplanner.graph_builder.module.osm.internal.naming.DefaultNamer;

class EdgeNamerTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
import org.junit.jupiter.api.Test;
import org.opentripplanner.core.model.i18n.I18NString;
import org.opentripplanner.graph_builder.issue.api.DataImportIssueStore;
import org.opentripplanner.graph_builder.module.osm.OsmDatabase;
import org.opentripplanner.graph_builder.module.osm.StreetEdgePair;
import org.opentripplanner.graph_builder.services.osm.EdgeNamer;
import org.opentripplanner.graph_builder.module.osm.EdgeNamer;
import org.opentripplanner.graph_builder.module.osm.model.StreetEdgePair;
import org.opentripplanner.graph_builder.module.osm.storage.OsmDatabase;
import org.opentripplanner.osm.WayTestData;
import org.opentripplanner.osm.model.OsmWay;
import org.opentripplanner.street.geometry.WgsCoordinate;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
class RouteParserTest {

private static final String DATA = """
route_id, avg_co2_per_vehicle_per_km, avg_passenger_count
R:1, 2.0, 20.0
R:2, 3.0, 24.0
""";
route_id, avg_co2_per_vehicle_per_km, avg_passenger_count
R:1, 2.0, 20.0
R:2, 3.0, 24.0
""";

@Test
void test() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
class TripHopsCsvParserTest {

private static final String DATA = """
trip_id, from_stop_id, from_stop_sequence, not_used, co2
F:1, NSR:Quay:1, 1, xyz, 28.0
F:1, NSR:Quay:2, 2, abc, 38.0
""";
trip_id, from_stop_id, from_stop_sequence, not_used, co2
F:1, NSR:Quay:1, 1, xyz, 28.0
F:1, NSR:Quay:2, 2, abc, 38.0
""";

@Test
void test() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,16 +79,16 @@ void setUpItineraries() {

int t0 = START_TIME;
combinedWithFlex = newItinerary(A)
.drive(t0, t0 += 90, C)
.rail(4, t0 += 90, t0 += 90, D)
.bus(routeA, 20, t0, t0 += 90, E)
.drive(t0, (t0 += 90), C)
.rail(4, (t0 += 90), (t0 += 90), D)
.bus(routeA, 20, t0, (t0 += 90), E)
.flex(t0 + 90, END_TIME, B)
.build();

combinedNoFlex = newItinerary(A)
.drive(t0, t0 += 90, C)
.rail(4, t0 += 90, t0 + 90, D)
.bus(routeA, 20, t0, t0 += 90, E)
.drive(t0, (t0 += 90), C)
.rail(4, (t0 += 90), t0 + 90, D)
.bus(routeA, 20, t0, (t0 += 90), E)
.bus(routeB, 23, t0, END_TIME, B)
.build();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ class CalendarCsvParserTest {
String.join(", ", CalendarCsvParser.HEADERS) +
"\n" +
"""
WEEKDAYS,1,1,1,1,1,0,0,2025-01-01, 2025-12-31
WEEKEND,0,0,0,0,0,1,1,2025-02-03, 2025-11-20
""";
WEEKDAYS,1,1,1,1,1,0,0,2025-01-01, 2025-12-31
WEEKEND,0,0,0,0,0,1,1,2025-02-03, 2025-11-20
""";
private final CalendarCsvParser subject = new CalendarCsvParser(
DataImportIssueStore.NOOP,
CsvReader.parse(DEFAUT_INPUT)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
class TripTimeDelayCsvParserTest {

private static final String DEFAUT_INPUT = """
empirical_delay_service_id, trip_id, stop_id, stop_sequence, p50, p90
WEEKDAYS, VYG:ServiceJourney:BUS-2280_374435-R, NSR:Quay:1, 1, 2, 8
WEEKEND, RUT:ServiceJourney:bc0092f0102605437e3e49cc3a88d0ba, NSR:Quay:10001, 39, 0, 200
""";
empirical_delay_service_id, trip_id, stop_id, stop_sequence, p50, p90
WEEKDAYS, VYG:ServiceJourney:BUS-2280_374435-R, NSR:Quay:1, 1, 2, 8
WEEKEND, RUT:ServiceJourney:bc0092f0102605437e3e49cc3a88d0ba, NSR:Quay:10001, 39, 0, 200
""";
private static final String FEED_ID = "F";

private final TripTimeDelayCsvParser subject = new TripTimeDelayCsvParser(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -286,8 +286,8 @@ private static Itinerary createItinerary(String agencyId, String shortName, long
.withMode(TransitMode.BUS)
.build();

int start = (int) (T11_00 + (startTimeMins * 60));
int end = (int) (T11_00 + ((startTimeMins + 12) * 60));
int start = (int) (T11_00 + startTimeMins * 60);
int end = (int) (T11_00 + (startTimeMins + 12) * 60);
return newItinerary(Place.forStop(firstStop), start)
.bus(route, 1, start, end, Place.forStop(lastStop))
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,11 +114,12 @@ private static List<Arguments> createTestCases() {
.withTransferDuration(fiveMinutes)
.build();

FareAttribute fareAttributeD = FareAttribute.of(new FeedScopedId(FEED_ID, "D"))
.withPrice(D_PRICE)
.withTransferDuration(fiveMinutes)
//.setAgency(agency1.getId().getId())
.build();
FareAttribute fareAttributeD =
FareAttribute.of(new FeedScopedId(FEED_ID, "D"))
.withPrice(D_PRICE)
.withTransferDuration(fiveMinutes)
//.setAgency(agency1.getId().getId())
.build();

FareAttribute fareAttributeABC = FareAttribute.of(new FeedScopedId(FEED_ID, "ABC"))
.withPrice(ABC_PRICE)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ private static void assertLegFareEquals(int fare, Leg leg, ItineraryFare fares,

// Check for transfer status - transfers are when this leg has fare products but pays no additional cost
// (i.e., fare = 0 for this leg because it's covered by a previous fare product)
var hasTransfer = (fare == 0 && !legFareProducts.isEmpty());
var hasTransfer = fare == 0 && !legFareProducts.isEmpty();

assertEquals(hasXfer, hasTransfer, "Incorrect transfer leg fare product status.");
}
Expand Down Expand Up @@ -834,8 +834,8 @@ private static Itinerary createItinerary(
.withGtfsType(transitMode)
.build();

int start = (int) (T11_00 + (startTimeMins * 60));
int end = (int) (T11_00 + ((startTimeMins + 12) * 60));
int start = (int) (T11_00 + startTimeMins * 60);
int end = (int) (T11_00 + (startTimeMins + 12) * 60);
return newItinerary(Place.forStop(firstStop), start)
.transit(route, tripId, start, end, 5, 7, Place.forStop(lastStop), null, null, null)
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,8 @@ void singleLeg() {
void severalLegs() {
var i1 = newItinerary(A, 0).bus(ROUTE, 1, 0, 50, B).bus(ROUTE, 1, 0, 50, C).build();
var result = service.calculateFares(i1);
i1
.listTransitLegs()
.forEach(l -> {
assertThat(result.offersForLeg(l)).containsExactly(FareOffer.of(l.startTime(), REGULAR));
});
i1.listTransitLegs().forEach(l -> {
assertThat(result.offersForLeg(l)).containsExactly(FareOffer.of(l.startTime(), REGULAR));
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ class WildcardNetworkTransferTest implements FareTestConstants {
private final GtfsFaresV2Service SERVICE = GtfsFaresV2Service.of()
.withLegRules(
// wildcard rule, matches everything
FareLegRule.of(id(1), FARE_PRODUCT_A).withLegGroupId(LEG_GROUP_A).build()
FareLegRule.of(id(1), FARE_PRODUCT_A)
.withLegGroupId(LEG_GROUP_A)
.build()
)
.withTransferRules(
// monthly pass with unlimited transfers
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,11 +136,9 @@ void routesAtGroup() {

var groupStop = (GroupStop) st1.getStop();
assertThat(groupStop.getChildLocations()).isNotEmpty();
groupStop
.getChildLocations()
.forEach(child -> {
assertThat(index.findRoutes(child)).containsExactly(ROUTE_2);
assertThat(index.findRoutes(child)).containsExactly(ROUTE_2);
});
groupStop.getChildLocations().forEach(child -> {
assertThat(index.findRoutes(child)).containsExactly(ROUTE_2);
assertThat(index.findRoutes(child)).containsExactly(ROUTE_2);
});
}
}
Loading
Loading