diff --git a/src/ext/java/org/opentripplanner/ext/siri/SiriTimetableSnapshotSource.java b/src/ext/java/org/opentripplanner/ext/siri/SiriTimetableSnapshotSource.java index 68b7256e546..db9c1fcc441 100644 --- a/src/ext/java/org/opentripplanner/ext/siri/SiriTimetableSnapshotSource.java +++ b/src/ext/java/org/opentripplanner/ext/siri/SiriTimetableSnapshotSource.java @@ -7,6 +7,7 @@ import static org.opentripplanner.updater.spi.UpdateError.UpdateErrorType.TRIP_NOT_FOUND; import static org.opentripplanner.updater.spi.UpdateError.UpdateErrorType.TRIP_NOT_FOUND_IN_PATTERN; import static org.opentripplanner.updater.spi.UpdateError.UpdateErrorType.UNKNOWN; +import static org.opentripplanner.updater.trip.UpdateIncrementality.FULL_DATASET; import java.time.LocalDate; import java.util.ArrayList; @@ -30,6 +31,7 @@ import org.opentripplanner.updater.spi.UpdateResult; import org.opentripplanner.updater.spi.UpdateSuccess; import org.opentripplanner.updater.trip.TimetableSnapshotManager; +import org.opentripplanner.updater.trip.UpdateIncrementality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import uk.org.siri.siri20.EstimatedTimetableDeliveryStructure; @@ -83,15 +85,16 @@ public SiriTimetableSnapshotSource( * FIXME RT_AB: TripUpdate is the GTFS term, and these SIRI ETs are never converted into that * same internal model. * - * @param fullDataset true iff the list with updates represent all updates that are active right - * now, i.e. all previous updates should be disregarded - * @param updates SIRI EstimatedTimetable deliveries that should be applied atomically. + * @param incrementality the incrementality of the update, for example if updates represent all + * updates that are active right now, i.e. all previous updates should be + * disregarded + * @param updates SIRI EstimatedTimetable deliveries that should be applied atomically. */ public UpdateResult applyEstimatedTimetable( @Nullable SiriFuzzyTripMatcher fuzzyTripMatcher, EntityResolver entityResolver, String feedId, - boolean fullDataset, + UpdateIncrementality incrementality, List updates ) { if (updates == null) { @@ -102,7 +105,7 @@ public UpdateResult applyEstimatedTimetable( List> results = new ArrayList<>(); snapshotManager.withLock(() -> { - if (fullDataset) { + if (incrementality == FULL_DATASET) { // Remove all updates from the buffer snapshotManager.clearBuffer(feedId); } diff --git a/src/ext/java/org/opentripplanner/ext/siri/updater/EstimatedTimetableSource.java b/src/ext/java/org/opentripplanner/ext/siri/updater/EstimatedTimetableSource.java index 83edebe3911..c86be9629d2 100644 --- a/src/ext/java/org/opentripplanner/ext/siri/updater/EstimatedTimetableSource.java +++ b/src/ext/java/org/opentripplanner/ext/siri/updater/EstimatedTimetableSource.java @@ -1,6 +1,7 @@ package org.opentripplanner.ext.siri.updater; import java.util.Optional; +import org.opentripplanner.updater.trip.UpdateIncrementality; import uk.org.siri.siri20.Siri; /** @@ -18,10 +19,10 @@ public interface EstimatedTimetableSource { Optional getUpdates(); /** - * @return true iff the last list with updates represent all updates that are active right now, - * i.e. all previous updates should be disregarded + * @return The incrementality of the last collection of updates. + * {@link UpdateIncrementality} */ - boolean getFullDatasetValueOfLastUpdates(); + UpdateIncrementality incrementalityOfLastUpdates(); String getFeedId(); } diff --git a/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETGooglePubsubUpdater.java b/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETGooglePubsubUpdater.java index 7f79413c478..7ca23ad4fc7 100644 --- a/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETGooglePubsubUpdater.java +++ b/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETGooglePubsubUpdater.java @@ -39,6 +39,7 @@ import org.opentripplanner.updater.spi.GraphUpdater; import org.opentripplanner.updater.spi.UpdateResult; import org.opentripplanner.updater.spi.WriteToGraphCallback; +import org.opentripplanner.updater.trip.UpdateIncrementality; import org.opentripplanner.updater.trip.metrics.TripUpdateMetrics; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -372,7 +373,7 @@ private void processSiriData(ByteString data) { fuzzyTripMatcher, entityResolver, feedId, - false, + UpdateIncrementality.DIFFERENTIAL, estimatedTimetableDeliveries ); diff --git a/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETHttpTripUpdateSource.java b/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETHttpTripUpdateSource.java index b3abe95dfc2..534539ead57 100644 --- a/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETHttpTripUpdateSource.java +++ b/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETHttpTripUpdateSource.java @@ -1,5 +1,8 @@ package org.opentripplanner.ext.siri.updater; +import static org.opentripplanner.updater.trip.UpdateIncrementality.DIFFERENTIAL; +import static org.opentripplanner.updater.trip.UpdateIncrementality.FULL_DATASET; + import java.time.Duration; import java.time.ZonedDateTime; import java.util.Optional; @@ -7,6 +10,7 @@ import javax.annotation.Nullable; import org.opentripplanner.framework.io.OtpHttpClientException; import org.opentripplanner.updater.spi.HttpHeaders; +import org.opentripplanner.updater.trip.UpdateIncrementality; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import uk.org.siri.siri20.Siri; @@ -26,10 +30,9 @@ public class SiriETHttpTripUpdateSource implements EstimatedTimetableSource { private final String requestorRef; /** - * True iff the last list with updates represent all updates that are active right now, i.e. all - * previous updates should be disregarded + * The incrementality of the last received collection of updates. */ - private boolean fullDataset = true; + private UpdateIncrementality updateIncrementality = FULL_DATASET; private ZonedDateTime lastTimestamp = ZonedDateTime.now().minusMonths(1); public SiriETHttpTripUpdateSource(Parameters parameters) { @@ -61,7 +64,7 @@ public Optional getUpdates() { lastTimestamp = serviceDelivery.getResponseTimestamp(); //All subsequent requests will return changes since last request - fullDataset = false; + updateIncrementality = DIFFERENTIAL; return siri; } catch (OtpHttpClientException e) { LOG.info("Failed after {} ms", (System.currentTimeMillis() - t1)); @@ -74,8 +77,8 @@ public Optional getUpdates() { } @Override - public boolean getFullDatasetValueOfLastUpdates() { - return fullDataset; + public UpdateIncrementality incrementalityOfLastUpdates() { + return updateIncrementality; } @Override diff --git a/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETUpdater.java b/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETUpdater.java index 66007f4aed8..1f95468565f 100644 --- a/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETUpdater.java +++ b/src/ext/java/org/opentripplanner/ext/siri/updater/SiriETUpdater.java @@ -91,7 +91,7 @@ public void runPolling() { do { var updates = updateSource.getUpdates(); if (updates.isPresent()) { - boolean fullDataset = updateSource.getFullDatasetValueOfLastUpdates(); + var incrementality = updateSource.incrementalityOfLastUpdates(); ServiceDelivery serviceDelivery = updates.get().getServiceDelivery(); moreData = Boolean.TRUE.equals(serviceDelivery.isMoreData()); // Mark this updater as primed after last page of updates. Copy moreData into a final @@ -104,7 +104,7 @@ public void runPolling() { fuzzyTripMatcher, entityResolver, feedId, - fullDataset, + incrementality, etds ); ResultLogger.logUpdateResult(feedId, "siri-et", result); diff --git a/src/ext/java/org/opentripplanner/ext/siri/updater/azure/SiriAzureETUpdater.java b/src/ext/java/org/opentripplanner/ext/siri/updater/azure/SiriAzureETUpdater.java index 699a89ddb4b..2b8c48dce11 100644 --- a/src/ext/java/org/opentripplanner/ext/siri/updater/azure/SiriAzureETUpdater.java +++ b/src/ext/java/org/opentripplanner/ext/siri/updater/azure/SiriAzureETUpdater.java @@ -19,6 +19,7 @@ import org.opentripplanner.transit.service.TransitModel; import org.opentripplanner.updater.spi.ResultLogger; import org.opentripplanner.updater.spi.UpdateResult; +import org.opentripplanner.updater.trip.UpdateIncrementality; import org.opentripplanner.updater.trip.metrics.TripUpdateMetrics; import org.rutebanken.siri20.util.SiriXml; import org.slf4j.Logger; @@ -102,7 +103,7 @@ private Future processMessage(List updat fuzzyTripMatcher(), entityResolver(), feedId, - false, + UpdateIncrementality.DIFFERENTIAL, updates ); ResultLogger.logUpdateResultErrors(feedId, "siri-et", result); diff --git a/src/main/java/org/opentripplanner/updater/trip/GtfsRealtimeTripUpdateSource.java b/src/main/java/org/opentripplanner/updater/trip/GtfsRealtimeTripUpdateSource.java index 12a044424ca..48f2d39ccc4 100644 --- a/src/main/java/org/opentripplanner/updater/trip/GtfsRealtimeTripUpdateSource.java +++ b/src/main/java/org/opentripplanner/updater/trip/GtfsRealtimeTripUpdateSource.java @@ -1,5 +1,8 @@ package org.opentripplanner.updater.trip; +import static org.opentripplanner.updater.trip.UpdateIncrementality.DIFFERENTIAL; +import static org.opentripplanner.updater.trip.UpdateIncrementality.FULL_DATASET; + import com.google.protobuf.ExtensionRegistry; import com.google.transit.realtime.GtfsRealtime; import com.google.transit.realtime.GtfsRealtime.FeedEntity; @@ -25,7 +28,7 @@ public class GtfsRealtimeTripUpdateSource { private final String feedId; private final String url; private final HttpHeaders headers; - private boolean fullDataset = true; + private UpdateIncrementality updateIncrementality = FULL_DATASET; private final ExtensionRegistry registry = ExtensionRegistry.newInstance(); private final OtpHttpClient otpHttpClient; @@ -41,7 +44,7 @@ public List getUpdates() { FeedMessage feedMessage; List feedEntityList; List updates = null; - fullDataset = true; + updateIncrementality = FULL_DATASET; try { // Decode message feedMessage = @@ -61,7 +64,7 @@ public List getUpdates() { .getIncrementality() .equals(GtfsRealtime.FeedHeader.Incrementality.DIFFERENTIAL) ) { - fullDataset = false; + updateIncrementality = DIFFERENTIAL; } // Create List of TripUpdates @@ -85,10 +88,10 @@ public String toString() { } /** - * @return true iff the last list with updates represent all updates that are active right now, - * i.e. all previous updates should be disregarded + * @return the incrementality of the last list with updates, i.e. if all previous updates + * should be disregarded */ - public boolean getFullDatasetValueOfLastUpdates() { - return fullDataset; + public UpdateIncrementality incrementalityOfLastUpdates() { + return updateIncrementality; } } diff --git a/src/main/java/org/opentripplanner/updater/trip/MqttGtfsRealtimeUpdater.java b/src/main/java/org/opentripplanner/updater/trip/MqttGtfsRealtimeUpdater.java index 11647c0a37f..3ba7af0305b 100644 --- a/src/main/java/org/opentripplanner/updater/trip/MqttGtfsRealtimeUpdater.java +++ b/src/main/java/org/opentripplanner/updater/trip/MqttGtfsRealtimeUpdater.java @@ -1,5 +1,8 @@ package org.opentripplanner.updater.trip; +import static org.opentripplanner.updater.trip.UpdateIncrementality.DIFFERENTIAL; +import static org.opentripplanner.updater.trip.UpdateIncrementality.FULL_DATASET; + import com.google.protobuf.InvalidProtocolBufferException; import com.google.transit.realtime.GtfsRealtime; import java.net.URI; @@ -139,7 +142,7 @@ public void connectionLost(Throwable cause) { @Override public void messageArrived(String topic, MqttMessage message) { List updates = null; - boolean fullDataset = true; + UpdateIncrementality updateIncrementality = FULL_DATASET; try { // Decode message GtfsRealtime.FeedMessage feedMessage = GtfsRealtime.FeedMessage.PARSER.parseFrom( @@ -156,7 +159,7 @@ public void messageArrived(String topic, MqttMessage message) { .getIncrementality() .equals(GtfsRealtime.FeedHeader.Incrementality.DIFFERENTIAL) ) { - fullDataset = false; + updateIncrementality = DIFFERENTIAL; } // Create List of TripUpdates @@ -177,7 +180,7 @@ public void messageArrived(String topic, MqttMessage message) { snapshotSource, fuzzyTripMatcher, backwardsDelayPropagationType, - fullDataset, + updateIncrementality, updates, feedId, recordMetrics diff --git a/src/main/java/org/opentripplanner/updater/trip/PollingTripUpdater.java b/src/main/java/org/opentripplanner/updater/trip/PollingTripUpdater.java index 351b0be0b83..8af27d9818c 100644 --- a/src/main/java/org/opentripplanner/updater/trip/PollingTripUpdater.java +++ b/src/main/java/org/opentripplanner/updater/trip/PollingTripUpdater.java @@ -83,7 +83,7 @@ public void setup(WriteToGraphCallback writeToGraphCallback) { public void runPolling() { // Get update lists from update source List updates = updateSource.getUpdates(); - boolean fullDataset = updateSource.getFullDatasetValueOfLastUpdates(); + var incrementality = updateSource.incrementalityOfLastUpdates(); if (updates != null) { // Handle trip updates via graph writer runnable @@ -91,7 +91,7 @@ public void runPolling() { snapshotSource, fuzzyTripMatcher, backwardsDelayPropagationType, - fullDataset, + incrementality, updates, feedId, recordMetrics diff --git a/src/main/java/org/opentripplanner/updater/trip/TimetableSnapshotSource.java b/src/main/java/org/opentripplanner/updater/trip/TimetableSnapshotSource.java index 4c4d7e293bd..cc39d82369b 100644 --- a/src/main/java/org/opentripplanner/updater/trip/TimetableSnapshotSource.java +++ b/src/main/java/org/opentripplanner/updater/trip/TimetableSnapshotSource.java @@ -12,6 +12,8 @@ import static org.opentripplanner.updater.spi.UpdateError.UpdateErrorType.TOO_FEW_STOPS; import static org.opentripplanner.updater.spi.UpdateError.UpdateErrorType.TRIP_ALREADY_EXISTS; import static org.opentripplanner.updater.spi.UpdateError.UpdateErrorType.TRIP_NOT_FOUND; +import static org.opentripplanner.updater.trip.UpdateIncrementality.DIFFERENTIAL; +import static org.opentripplanner.updater.trip.UpdateIncrementality.FULL_DATASET; import com.google.common.base.Preconditions; import com.google.common.collect.Multimaps; @@ -132,15 +134,14 @@ public TimetableSnapshotSource( * * @param backwardsDelayPropagationType Defines when delays are propagated to previous stops and * if these stops are given the NO_DATA flag. - * @param fullDataset true if the list with updates represent all updates that - * are active right now, i.e. all previous updates should be - * disregarded + * @param updateIncrementality Determines the incrementality of the updates. FULL updates clear the buffer + * of all previous updates for the given feed id. * @param updates GTFS-RT TripUpdate's that should be applied atomically */ public UpdateResult applyTripUpdates( GtfsRealtimeFuzzyTripMatcher fuzzyTripMatcher, BackwardsDelayPropagationType backwardsDelayPropagationType, - boolean fullDataset, + UpdateIncrementality updateIncrementality, List updates, String feedId ) { @@ -153,7 +154,7 @@ public UpdateResult applyTripUpdates( List> results = new ArrayList<>(); snapshotManager.withLock(() -> { - if (fullDataset) { + if (updateIncrementality == FULL_DATASET) { // Remove all updates from the buffer snapshotManager.clearBuffer(feedId); } @@ -201,7 +202,7 @@ public UpdateResult applyTripUpdates( final TripDescriptor.ScheduleRelationship tripScheduleRelationship = determineTripScheduleRelationship( tripDescriptor ); - if (!fullDataset) { + if (updateIncrementality == DIFFERENTIAL) { purgePatternModifications(tripScheduleRelationship, tripId, serviceDate); } @@ -229,13 +230,13 @@ public UpdateResult applyTripUpdates( tripId, serviceDate, CancelationType.CANCEL, - fullDataset + updateIncrementality ); case DELETED -> handleCanceledTrip( tripId, serviceDate, CancelationType.DELETE, - fullDataset + updateIncrementality ); case REPLACEMENT -> validateAndHandleModifiedTrip( tripUpdate, @@ -268,7 +269,7 @@ public UpdateResult applyTripUpdates( var updateResult = UpdateResult.ofResults(results); - if (fullDataset) { + if (updateIncrementality == FULL_DATASET) { logUpdateResult(feedId, failuresByRelationship, updateResult); } return updateResult; @@ -1065,11 +1066,11 @@ private Result handleCanceledTrip( FeedScopedId tripId, final LocalDate serviceDate, CancelationType cancelationType, - boolean fullDataset + UpdateIncrementality incrementality ) { - var canceledPreviouslyAddedTrip = fullDataset - ? false - : cancelPreviouslyAddedTrip(tripId, serviceDate, cancelationType); + var canceledPreviouslyAddedTrip = + incrementality != FULL_DATASET && + cancelPreviouslyAddedTrip(tripId, serviceDate, cancelationType); // if previously an added trip was removed, there can't be a scheduled trip to remove if (canceledPreviouslyAddedTrip) { diff --git a/src/main/java/org/opentripplanner/updater/trip/TripUpdateGraphWriterRunnable.java b/src/main/java/org/opentripplanner/updater/trip/TripUpdateGraphWriterRunnable.java index c5c9262f185..848e4ece9ef 100644 --- a/src/main/java/org/opentripplanner/updater/trip/TripUpdateGraphWriterRunnable.java +++ b/src/main/java/org/opentripplanner/updater/trip/TripUpdateGraphWriterRunnable.java @@ -12,11 +12,7 @@ class TripUpdateGraphWriterRunnable implements GraphWriterRunnable { - /** - * True iff the list with updates represent all updates that are active right now, i.e. all - * previous updates should be disregarded - */ - private final boolean fullDataset; + private final UpdateIncrementality updateIncrementality; /** * The list with updates to apply to the graph @@ -35,7 +31,7 @@ class TripUpdateGraphWriterRunnable implements GraphWriterRunnable { TimetableSnapshotSource snapshotSource, GtfsRealtimeFuzzyTripMatcher fuzzyTripMatcher, BackwardsDelayPropagationType backwardsDelayPropagationType, - boolean fullDataset, + UpdateIncrementality updateIncrementality, List updates, String feedId, Consumer sendMetrics @@ -43,7 +39,7 @@ class TripUpdateGraphWriterRunnable implements GraphWriterRunnable { this.snapshotSource = snapshotSource; this.fuzzyTripMatcher = fuzzyTripMatcher; this.backwardsDelayPropagationType = backwardsDelayPropagationType; - this.fullDataset = fullDataset; + this.updateIncrementality = updateIncrementality; this.updates = Objects.requireNonNull(updates); this.feedId = Objects.requireNonNull(feedId); this.sendMetrics = sendMetrics; @@ -54,7 +50,7 @@ public void run(Graph graph, TransitModel transitModel) { var result = snapshotSource.applyTripUpdates( fuzzyTripMatcher, backwardsDelayPropagationType, - fullDataset, + updateIncrementality, updates, feedId ); diff --git a/src/main/java/org/opentripplanner/updater/trip/UpdateIncrementality.java b/src/main/java/org/opentripplanner/updater/trip/UpdateIncrementality.java new file mode 100644 index 00000000000..345a0e24eda --- /dev/null +++ b/src/main/java/org/opentripplanner/updater/trip/UpdateIncrementality.java @@ -0,0 +1,19 @@ +package org.opentripplanner.updater.trip; + +/** + * Describes the incrementality of a collection of realtime updates and how they are related to previous + * ones. + */ +public enum UpdateIncrementality { + /** + * The update contains all available realtime information for all trips in a given feed. The + * previously stored updates must be deleted and replaced with the information from this one. + */ + FULL_DATASET, + /** + * The update contains only information for a subset of all trips. If there is information stored + * from a previous realtime update it must be kept in order to have a complete picture of all + * trips. + */ + DIFFERENTIAL, +} diff --git a/src/test/java/org/opentripplanner/GtfsTest.java b/src/test/java/org/opentripplanner/GtfsTest.java index 6f14a6db662..85ac92479da 100644 --- a/src/test/java/org/opentripplanner/GtfsTest.java +++ b/src/test/java/org/opentripplanner/GtfsTest.java @@ -44,6 +44,7 @@ import org.opentripplanner.updater.TimetableSnapshotSourceParameters; import org.opentripplanner.updater.alert.AlertsUpdateHandler; import org.opentripplanner.updater.trip.TimetableSnapshotSource; +import org.opentripplanner.updater.trip.UpdateIncrementality; /** Common base class for many test classes which need to load a GTFS feed in preparation for tests. */ public abstract class GtfsTest { @@ -218,7 +219,6 @@ protected void setUp() throws Exception { alertsUpdateHandler.setFeedId(feedId.getId()); try { - final boolean fullDataset = false; InputStream inputStream = new FileInputStream(gtfsRealTime); FeedMessage feedMessage = FeedMessage.PARSER.parseFrom(inputStream); List feedEntityList = feedMessage.getEntityList(); @@ -229,7 +229,7 @@ protected void setUp() throws Exception { timetableSnapshotSource.applyTripUpdates( null, REQUIRED_NO_DATA, - fullDataset, + UpdateIncrementality.DIFFERENTIAL, updates, feedId.getId() ); diff --git a/src/test/java/org/opentripplanner/updater/trip/RealtimeTestEnvironment.java b/src/test/java/org/opentripplanner/updater/trip/RealtimeTestEnvironment.java index 52b0547e8c9..c2fb31e2dfb 100644 --- a/src/test/java/org/opentripplanner/updater/trip/RealtimeTestEnvironment.java +++ b/src/test/java/org/opentripplanner/updater/trip/RealtimeTestEnvironment.java @@ -1,5 +1,8 @@ package org.opentripplanner.updater.trip; +import static org.opentripplanner.updater.trip.UpdateIncrementality.DIFFERENTIAL; +import static org.opentripplanner.updater.trip.UpdateIncrementality.FULL_DATASET; + import com.google.transit.realtime.GtfsRealtime; import java.time.Duration; import java.time.LocalDate; @@ -248,7 +251,7 @@ public UpdateResult applyEstimatedTimetable(List updates, - boolean differential + UpdateIncrementality incrementality ) { Objects.requireNonNull(gtfsSource, "Test environment is configured for SIRI only"); return gtfsSource.applyTripUpdates( null, BackwardsDelayPropagationType.REQUIRED_NO_DATA, - !differential, + incrementality, updates, getFeedId() ); @@ -288,7 +294,7 @@ private UpdateResult applyEstimatedTimetable( siriFuzzyTripMatcher, getEntityResolver(), getFeedId(), - false, + DIFFERENTIAL, updates ); } diff --git a/src/test/java/org/opentripplanner/updater/trip/TimetableSnapshotSourceTest.java b/src/test/java/org/opentripplanner/updater/trip/TimetableSnapshotSourceTest.java index c98ec854e47..1dad90b416b 100644 --- a/src/test/java/org/opentripplanner/updater/trip/TimetableSnapshotSourceTest.java +++ b/src/test/java/org/opentripplanner/updater/trip/TimetableSnapshotSourceTest.java @@ -11,6 +11,7 @@ import static org.junit.jupiter.api.Assertions.assertSame; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.opentripplanner.updater.trip.BackwardsDelayPropagationType.REQUIRED_NO_DATA; +import static org.opentripplanner.updater.trip.UpdateIncrementality.DIFFERENTIAL; import com.google.transit.realtime.GtfsRealtime.TripDescriptor; import com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship; @@ -59,7 +60,6 @@ public class TimetableSnapshotSourceTest { private final GtfsRealtimeFuzzyTripMatcher TRIP_MATCHER_NOOP = null; - private final boolean FULL_DATASET = false; private String feedId; @BeforeEach @@ -77,7 +77,7 @@ public void testGetSnapshot() { updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(CANCELLATION), feedId ); @@ -99,7 +99,7 @@ public void testGetSnapshotWithMaxSnapshotFrequencyCleared() { updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(CANCELLATION), feedId ); @@ -135,7 +135,7 @@ public void invalidTripId() { var result = updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(tripUpdate), feedId ); @@ -257,7 +257,7 @@ public void testHandleModifiedTrip() { updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(tripUpdate), feedId ); @@ -373,7 +373,7 @@ public void scheduled() { updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(tripUpdate), feedId ); @@ -451,7 +451,7 @@ public void scheduledTripWithSkippedAndNoData() { updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(tripUpdate), feedId ); @@ -583,7 +583,7 @@ public void addedTrip() { updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(tripUpdate), feedId ); @@ -652,7 +652,7 @@ public void addedTripWithNewRoute() { var result = updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(tripUpdate), feedId ); @@ -703,7 +703,7 @@ public void addedWithUnknownStop() { var result = updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(tripUpdate), feedId ); @@ -745,7 +745,7 @@ public void repeatedlyAddedTripWithNewRoute() { updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(tripUpdate), feedId ); @@ -756,7 +756,7 @@ public void repeatedlyAddedTripWithNewRoute() { updater.applyTripUpdates( TRIP_MATCHER_NOOP, REQUIRED_NO_DATA, - FULL_DATASET, + DIFFERENTIAL, List.of(tripUpdate), feedId ); diff --git a/src/test/java/org/opentripplanner/updater/trip/moduletests/cancellation/CancellationDeletionTest.java b/src/test/java/org/opentripplanner/updater/trip/moduletests/cancellation/CancellationDeletionTest.java index f6b6b128330..b2c31e2254e 100644 --- a/src/test/java/org/opentripplanner/updater/trip/moduletests/cancellation/CancellationDeletionTest.java +++ b/src/test/java/org/opentripplanner/updater/trip/moduletests/cancellation/CancellationDeletionTest.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.opentripplanner.updater.trip.UpdateIncrementality.DIFFERENTIAL; import com.google.transit.realtime.GtfsRealtime.TripDescriptor.ScheduleRelationship; import java.util.List; @@ -87,7 +88,7 @@ public void cancelingAddedTrip(ScheduleRelationship relationship, RealTimeState .addStopTime(env.stopC1.getId().getId(), 55) .build(); - var result = env.applyTripUpdate(update, true); + var result = env.applyTripUpdate(update, DIFFERENTIAL); assertEquals(1, result.successful()); @@ -100,7 +101,7 @@ public void cancelingAddedTrip(ScheduleRelationship relationship, RealTimeState env.timeZone ) .build(); - result = env.applyTripUpdate(update, true); + result = env.applyTripUpdate(update, DIFFERENTIAL); assertEquals(1, result.successful()); diff --git a/src/test/java/org/opentripplanner/updater/trip/moduletests/delay/SkippedTest.java b/src/test/java/org/opentripplanner/updater/trip/moduletests/delay/SkippedTest.java index 7bee7c1b5d0..9afb7e76261 100644 --- a/src/test/java/org/opentripplanner/updater/trip/moduletests/delay/SkippedTest.java +++ b/src/test/java/org/opentripplanner/updater/trip/moduletests/delay/SkippedTest.java @@ -6,6 +6,7 @@ import static org.junit.jupiter.api.Assertions.assertNotSame; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.opentripplanner.updater.trip.UpdateIncrementality.DIFFERENTIAL; import org.junit.jupiter.api.Test; import org.opentripplanner.model.Timetable; @@ -143,7 +144,7 @@ public void scheduledTripWithPreviouslySkipped() { .addDelayedStopTime(2, 90) .build(); - var result = env.applyTripUpdate(tripUpdate, true); + var result = env.applyTripUpdate(tripUpdate, DIFFERENTIAL); assertEquals(1, result.successful()); @@ -161,7 +162,7 @@ public void scheduledTripWithPreviouslySkipped() { tripUpdate = scheduledBuilder.build(); // apply the update with the previously skipped stop now scheduled - result = env.applyTripUpdate(tripUpdate, true); + result = env.applyTripUpdate(tripUpdate, DIFFERENTIAL); assertEquals(1, result.successful()); // Check that the there is no longer a realtime added trip pattern for the trip and that the