use of com.google.transit.realtime.GtfsRealtime.FeedMessage in project onebusaway-application-modules by camsys.
the class GtfsRtProxyAction method getFeedMessage.
private FeedMessage getFeedMessage(String url) {
try {
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet request = new HttpGet(url);
CloseableHttpResponse response = httpclient.execute(request);
InputStream is = response.getEntity().getContent();
FeedMessage message = FeedMessage.parseFrom(is, _registry);
httpclient.close();
return message;
} catch (Exception e) {
_log.error("Error retrieving trip updates: " + e);
}
return null;
}
use of com.google.transit.realtime.GtfsRealtime.FeedMessage in project onebusaway-application-modules by camsys.
the class AlertsFromRssResource method getAll.
@Path("/service-alerts")
@GET
@Produces("application/x-google-protobuff")
public Response getAll() {
final FeedMessage serviceAlertFeed = _alertsService.getServlceAlertFeed();
if (serviceAlertFeed == null) {
return Response.ok().build();
}
StreamingOutput stream = new StreamingOutput() {
@Override
public void write(OutputStream os) throws IOException, WebApplicationException {
// Service Alerts know how to write themselves as protocol buffers
serviceAlertFeed.writeTo(os);
}
};
Response response = Response.ok(stream).build();
return response;
}
use of com.google.transit.realtime.GtfsRealtime.FeedMessage in project onebusaway-application-modules by camsys.
the class GtfsRealtimeArchiverTask method update.
public void update() throws IOException {
FeedMessage tripUpdates = readOrReturnDefault(_tripUpdatesUrl);
FeedMessage vehiclePositions = readOrReturnDefault(_vehiclePositionsUrl);
FeedMessage alerts = readOrReturnDefault(_alertsUrl);
_feedService.readTripUpdates(tripUpdates, _entitySource);
_feedService.readVehiclePositions(vehiclePositions, _entitySource);
_feedService.readAlerts(alerts, _entitySource);
}
use of com.google.transit.realtime.GtfsRealtime.FeedMessage in project onebusaway-application-modules by camsys.
the class GtfsRealtimeController method vehiclePositions.
@RequestMapping(value = "/gtfs-realtime/vehicle-positions.action")
public void vehiclePositions(ServletRequest request, HttpServletResponse response) throws IOException {
FeedMessage vehiclePositions = _gtfsRealtimeService.getVehiclePositions();
render(request, response, vehiclePositions);
}
use of com.google.transit.realtime.GtfsRealtime.FeedMessage in project OpenTripPlanner by opentripplanner.
the class GtfsTest method setUp.
protected void setUp() {
File gtfs = new File("src/test/resources/" + getFeedName());
File gtfsRealTime = new File("src/test/resources/" + getFeedName() + ".pb");
GtfsBundle gtfsBundle = new GtfsBundle(gtfs);
feedId = new GtfsFeedId.Builder().id("FEED").build();
gtfsBundle.setFeedId(feedId);
List<GtfsBundle> gtfsBundleList = Collections.singletonList(gtfsBundle);
GtfsModule gtfsGraphBuilderImpl = new GtfsModule(gtfsBundleList);
alertsUpdateHandler = new AlertsUpdateHandler();
graph = new Graph();
router = new Router("TEST", graph);
gtfsBundle.setTransfersTxtDefinesStationPaths(true);
gtfsGraphBuilderImpl.buildGraph(graph, null);
// Set the agency ID to be used for tests to the first one in the feed.
agencyId = graph.getAgencies(feedId.getId()).iterator().next().getId();
System.out.printf("Set the agency ID for this test to %s\n", agencyId);
graph.index(new DefaultStreetVertexIndexFactory());
timetableSnapshotSource = new TimetableSnapshotSource(graph);
timetableSnapshotSource.purgeExpiredData = (false);
graph.timetableSnapshotSource = (timetableSnapshotSource);
alertPatchServiceImpl = new AlertPatchServiceImpl(graph);
alertsUpdateHandler.setAlertPatchService(alertPatchServiceImpl);
alertsUpdateHandler.setFeedId(feedId.getId());
try {
final boolean fullDataset = false;
InputStream inputStream = new FileInputStream(gtfsRealTime);
FeedMessage feedMessage = FeedMessage.PARSER.parseFrom(inputStream);
List<FeedEntity> feedEntityList = feedMessage.getEntityList();
List<TripUpdate> updates = new ArrayList<TripUpdate>(feedEntityList.size());
for (FeedEntity feedEntity : feedEntityList) {
updates.add(feedEntity.getTripUpdate());
}
timetableSnapshotSource.applyTripUpdates(graph, fullDataset, updates, feedId.getId());
alertsUpdateHandler.update(feedMessage);
} catch (Exception exception) {
}
}
Aggregations