Instant timestamp = Instant.ofEpochSecond(feedMessage.getHeader().getTimestamp());
&& feedMessage.getHeader().hasIncrementality() && feedMessage.getHeader().getIncrementality() .equals(GtfsRealtime.FeedHeader.Incrementality.DIFFERENTIAL)) { fullDataset = false;
/** * <code>required .transit_realtime.FeedHeader header = 1;</code> * * <pre> * Metadata about this feed and feed message. * </pre> */ public Builder mergeHeader(com.google.transit.realtime.GtfsRealtime.FeedHeader value) { if (headerBuilder_ == null) { if (((bitField0_ & 0x00000001) == 0x00000001) && header_ != com.google.transit.realtime.GtfsRealtime.FeedHeader.getDefaultInstance()) { header_ = com.google.transit.realtime.GtfsRealtime.FeedHeader.newBuilder(header_).mergeFrom(value).buildPartial(); } else { header_ = value; } onChanged(); } else { headerBuilder_.mergeFrom(value); } bitField0_ |= 0x00000001; return this; } /**
long headerTimestamp = feedMessage.getHeader().getTimestamp(); if (headerTimestamp == 0) { boolean isV2orHigher = true; if (previousFeedMessage != null && previousFeedMessage.getHeader().getTimestamp() != 0) { long previousTimestamp = previousFeedMessage.getHeader().getTimestamp(); long interval = headerTimestamp - previousTimestamp; if (headerTimestamp == previousTimestamp) { } else if (headerTimestamp < previousTimestamp) { String prefix = "header.timestamp of " + headerTimestamp + " is less than the header.timestamp of " + previousFeedMessage.getHeader().getTimestamp(); RuleUtils.addOccurrence(E018, prefix, e018List, _log); } else if (interval > MINIMUM_REFRESH_INTERVAL_SECONDS) {
update.getVehicle().getId(), new Date(stopTime.getArrival().getTime()*1000) , new Date(feed.getHeader().getTimestamp()*1000), true, new Boolean(false), update.getVehicle().getId(), new Date(stopTime.getDeparture().getTime()*1000) , new Date(feed.getHeader().getTimestamp()*1000), false, new Boolean(false),
RuleUtils.addOccurrence(E038, "header.gtfs_realtime_version of " + feedMessage.getHeader().getGtfsRealtimeVersion(), errorListE038, _log); if (GtfsUtils.isV2orHigher(feedMessage.getHeader()) && !feedMessage.getHeader().hasIncrementality()) { if (feedMessage.getHeader().getIncrementality().equals(GtfsRealtime.FeedHeader.Incrementality.FULL_DATASET)) { for (GtfsRealtime.FeedEntity entity : feedMessage.getEntityList()) { if (entity.hasIsDeleted()) {
FeedMessage.Builder message = FeedMessage.newBuilder(); FeedHeader.Builder feedheader = FeedHeader.newBuilder() .setGtfsRealtimeVersion("1.0") .setTimestamp(System.currentTimeMillis());
/** * <code>required .transit_realtime.FeedHeader header = 1;</code> * * <pre> * Metadata about this feed and feed message. * </pre> */ public Builder mergeHeader(com.google.transit.realtime.GtfsRealtime.FeedHeader value) { if (headerBuilder_ == null) { if (((bitField0_ & 0x00000001) == 0x00000001) && header_ != com.google.transit.realtime.GtfsRealtime.FeedHeader.getDefaultInstance()) { header_ = com.google.transit.realtime.GtfsRealtime.FeedHeader.newBuilder(header_).mergeFrom(value).buildPartial(); } else { header_ = value; } onChanged(); } else { headerBuilder_.mergeFrom(value); } bitField0_ |= 0x00000001; return this; } /**
@Override public void onMessage(byte[] buf, int offset, int length) { if (offset != 0 || buf.length != length) { byte trimmed[] = new byte[length]; System.arraycopy(buf, offset, trimmed, 0, length); buf = trimmed; } FeedMessage message = parseMessage(buf); FeedHeader header = message.getHeader(); switch (header.getIncrementality()) { case FULL_DATASET: processDataset(message); break; case DIFFERENTIAL: processDataset(message); break; default: _log.warn("unknown incrementality: " + header.getIncrementality()); } }
public com.google.transit.realtime.GtfsRealtime.FeedHeader buildPartial() { com.google.transit.realtime.GtfsRealtime.FeedHeader result = new com.google.transit.realtime.GtfsRealtime.FeedHeader(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) == 0x00000001)) { to_bitField0_ |= 0x00000001; } result.gtfsRealtimeVersion_ = gtfsRealtimeVersion_; if (((from_bitField0_ & 0x00000002) == 0x00000002)) { to_bitField0_ |= 0x00000002; } result.incrementality_ = incrementality_; if (((from_bitField0_ & 0x00000004) == 0x00000004)) { to_bitField0_ |= 0x00000004; } result.timestamp_ = timestamp_; result.bitField0_ = to_bitField0_; onBuilt(); return result; }
/** * * @param tripUpdates * @param vehiclePositions * @param alerts */ private synchronized void handeUpdates(MonitoredResult result, FeedMessage tripUpdates, FeedMessage vehiclePositions, FeedMessage alerts) { long time = tripUpdates.getHeader().getTimestamp() * 1000; _tripsLibrary.setCurrentTime(time); List<CombinedTripUpdatesAndVehiclePosition> combinedUpdates = _tripsLibrary.groupTripUpdatesAndVehiclePositions(result, tripUpdates, vehiclePositions); result.setRecordsTotal(combinedUpdates.size()); handleCombinedUpdates(result, combinedUpdates); cacheVehicleLocations(vehiclePositions); handleAlerts(alerts); }
public Builder toBuilder() { return newBuilder(this); }
public Builder mergeFrom(com.google.transit.realtime.GtfsRealtime.FeedHeader other) { if (other == com.google.transit.realtime.GtfsRealtime.FeedHeader.getDefaultInstance()) return this; if (other.hasGtfsRealtimeVersion()) { bitField0_ |= 0x00000001; gtfsRealtimeVersion_ = other.gtfsRealtimeVersion_; onChanged(); } if (other.hasIncrementality()) { setIncrementality(other.getIncrementality()); } if (other.hasTimestamp()) { setTimestamp(other.getTimestamp()); } this.mergeExtensionFields(other); this.mergeUnknownFields(other.getUnknownFields()); return this; }
public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder(com.google.transit.realtime.GtfsRealtime.FeedHeader prototype) {
/** * <code>required string gtfs_realtime_version = 1;</code> * * <pre> * Version of the feed specification. * The current version is 1.0. * </pre> */ public Builder clearGtfsRealtimeVersion() { bitField0_ = (bitField0_ & ~0x00000001); gtfsRealtimeVersion_ = getDefaultInstance().getGtfsRealtimeVersion(); onChanged(); return this; } /**
public List<T> readAll(FeedMessage feedMessage) { List<T> updates = new ArrayList<T>(); if (feedMessage == null) { return updates; } List<FeedEntity> entityList = feedMessage.getEntityList(); long timestamp = feedMessage.getHeader().getTimestamp() * 1000; for (FeedEntity entity : entityList) { T model = readFeedEntity(entity, timestamp); if (model != null) { updates.add(model); } } return updates; }
/** * Returns true if the version for the provided GTFS-rt header is v2 or higher, false if the version is v1 or unrecognized * * @param feedHeader the feed header to check the version for * @return true if the version for the provided GTFS-rt header is v2 or higher, false if the version is v1 or unrecognized */ public static boolean isV2orHigher(GtfsRealtime.FeedHeader feedHeader) { float version = Float.parseFloat(feedHeader.getGtfsRealtimeVersion()); if (version >= 2.0f) { return true; } return false; }
public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized != -1) return isInitialized == 1; if (!hasGtfsRealtimeVersion()) { memoizedIsInitialized = 0; return false; } if (!extensionsAreInitialized()) { memoizedIsInitialized = 0; return false; } memoizedIsInitialized = 1; return true; }
public static Builder newBuilder(com.google.transit.realtime.GtfsRealtime.FeedHeader prototype) { return newBuilder().mergeFrom(prototype); } public Builder toBuilder() { return newBuilder(this); }
/**** * Private Methods ****/ private FeedMessage.Builder createFeedWithDefaultHeader() { FeedMessage.Builder feedMessage = FeedMessage.newBuilder(); FeedHeader.Builder feedHeader = FeedHeader.newBuilder(); feedHeader.setIncrementality(Incrementality.FULL_DATASET); feedHeader.setGtfsRealtimeVersion(GtfsRealtimeConstants.VERSION); feedMessage.setHeader(feedHeader); return feedMessage; }