use of org.onebusaway.transit_data_federation.services.transit_graph.RouteEntry in project onebusaway-application-modules by camsys.
the class AgencyServiceImpl method getAgencyIdsAndCoverageAreas.
@Cacheable
public Map<String, CoordinateBounds> getAgencyIdsAndCoverageAreas() {
Map<String, CoordinateBounds> boundsByAgencyId = new HashMap<String, CoordinateBounds>();
for (AgencyEntry agency : _graph.getAllAgencies()) {
CoordinateBounds bounds = new CoordinateBounds();
for (RouteCollectionEntry routeCollection : agency.getRouteCollections()) {
for (RouteEntry route : routeCollection.getChildren()) {
for (TripEntry trip : route.getTrips()) {
for (StopTimeEntry stopTime : trip.getStopTimes()) {
StopEntry stop = stopTime.getStop();
bounds.addPoint(stop.getStopLat(), stop.getStopLon());
}
}
}
}
boundsByAgencyId.put(agency.getId(), bounds);
}
return boundsByAgencyId;
}
use of org.onebusaway.transit_data_federation.services.transit_graph.RouteEntry in project onebusaway-application-modules by camsys.
the class RouteServiceImpl method getStopsForRouteCollection.
@Override
@Cacheable
public Collection<AgencyAndId> getStopsForRouteCollection(AgencyAndId id) {
Set<AgencyAndId> stopIds = new HashSet<AgencyAndId>();
RouteCollectionEntry routeCollectionEntry = _transitGraphDao.getRouteCollectionForId(id);
for (RouteEntry route : routeCollectionEntry.getChildren()) {
List<TripEntry> trips = route.getTrips();
for (TripEntry trip : trips) {
List<StopTimeEntry> stopTimes = trip.getStopTimes();
for (StopTimeEntry stopTime : stopTimes) stopIds.add(stopTime.getStop().getId());
}
}
return new ArrayList<AgencyAndId>(stopIds);
}
use of org.onebusaway.transit_data_federation.services.transit_graph.RouteEntry in project onebusaway-application-modules by camsys.
the class RouteCollectionEntriesFactoryTest method testProcessRouteCollections.
@Test
public void testProcessRouteCollections() {
TransitGraphImpl graph = new TransitGraphImpl();
AgencyEntryImpl agency = new AgencyEntryImpl();
agency.setId("A");
graph.putAgencyEntry(agency);
graph.refreshAgencyMapping();
RouteEntryImpl routeA = new RouteEntryImpl();
routeA.setId(new AgencyAndId("A", "routeA"));
graph.putRouteEntry(routeA);
RouteEntryImpl routeB = new RouteEntryImpl();
routeB.setId(new AgencyAndId("A", "routeB"));
graph.putRouteEntry(routeB);
RouteCollectionEntriesFactory factory = new RouteCollectionEntriesFactory();
GtfsRelationalDao gtfsDao = Mockito.mock(GtfsRelationalDao.class);
factory.setGtfsDao(gtfsDao);
factory.setUniqueService(new UniqueServiceImpl());
factory.processRouteCollections(graph);
RouteCollectionEntry routeEntryA = graph.getRouteCollectionForId(routeA.getId());
assertEquals(routeA.getId(), routeEntryA.getId());
List<RouteEntry> routes = routeEntryA.getChildren();
assertEquals(1, routes.size());
assertTrue(routes.contains(routeA));
RouteCollectionEntry routeEntryB = graph.getRouteCollectionForId(routeB.getId());
assertEquals(routeB.getId(), routeEntryB.getId());
routes = routeEntryB.getChildren();
assertEquals(1, routes.size());
assertTrue(routes.contains(routeB));
List<RouteCollectionEntry> routeCollections = graph.getAllRouteCollections();
assertEquals(2, routeCollections.size());
assertTrue(routeCollections.contains(routeEntryA));
assertTrue(routeCollections.contains(routeEntryB));
routeCollections = agency.getRouteCollections();
assertEquals(2, routeCollections.size());
assertTrue(routeCollections.contains(routeEntryA));
assertTrue(routeCollections.contains(routeEntryB));
}
use of org.onebusaway.transit_data_federation.services.transit_graph.RouteEntry in project onebusaway-application-modules by camsys.
the class RouteCollectionEntriesFactoryTest method testGroupRoutesByShortName.
@Test
public void testGroupRoutesByShortName() {
TransitGraphImpl graph = new TransitGraphImpl();
AgencyEntryImpl agency = new AgencyEntryImpl();
agency.setId("A");
graph.putAgencyEntry(agency);
graph.refreshAgencyMapping();
RouteEntryImpl routeA = new RouteEntryImpl();
routeA.setId(new AgencyAndId("A", "routeA"));
graph.putRouteEntry(routeA);
RouteEntryImpl routeB = new RouteEntryImpl();
routeB.setId(new AgencyAndId("A", "routeB"));
graph.putRouteEntry(routeB);
GtfsRelationalDao gtfsDao = Mockito.mock(GtfsRelationalDao.class);
Route rA = new Route();
rA.setId(routeA.getId());
rA.setShortName("10");
Mockito.when(gtfsDao.getRouteForId(routeA.getId())).thenReturn(rA);
Route rB = new Route();
rB.setId(routeB.getId());
rB.setShortName("10");
Mockito.when(gtfsDao.getRouteForId(routeB.getId())).thenReturn(rB);
RouteCollectionEntriesFactory factory = new RouteCollectionEntriesFactory();
factory.setGroupRoutesByShortName(true);
factory.setGtfsDao(gtfsDao);
factory.setUniqueService(new UniqueServiceImpl());
factory.processRouteCollections(graph);
AgencyAndId id = new AgencyAndId("A", "10");
RouteCollectionEntry routeCollectionEntry = graph.getRouteCollectionForId(id);
assertEquals(id, routeCollectionEntry.getId());
List<RouteEntry> routes = routeCollectionEntry.getChildren();
assertEquals(2, routes.size());
assertTrue(routes.contains(routeA));
assertTrue(routes.contains(routeB));
List<RouteCollectionEntry> routeCollections = graph.getAllRouteCollections();
assertEquals(1, routeCollections.size());
assertTrue(routeCollections.contains(routeCollectionEntry));
routeCollections = agency.getRouteCollections();
assertEquals(1, routeCollections.size());
assertTrue(routeCollections.contains(routeCollectionEntry));
}
use of org.onebusaway.transit_data_federation.services.transit_graph.RouteEntry in project onebusaway-application-modules by camsys.
the class GenerateNarrativesTask method generateRouteNarratives.
public void generateRouteNarratives(NarrativeProviderImpl provider) {
for (RouteCollectionEntry routeCollectionEntry : _transitGraphDao.getAllRouteCollections()) {
List<Route> routes = new ArrayList<Route>();
Counter<Route> tripCounts = new Counter<Route>();
for (RouteEntry routeEntry : routeCollectionEntry.getChildren()) {
Route route = _gtfsDao.getRouteForId(routeEntry.getId());
routes.add(route);
int tripCount = routeEntry.getTrips().size();
tripCounts.increment(route, tripCount);
}
RouteCollectionNarrative.Builder builder = RouteCollectionNarrative.builder();
setPropertiesOfRouteCollectionFromRoutes(routes, tripCounts, builder);
provider.setNarrativeForRouteCollectionId(routeCollectionEntry.getId(), builder.create());
}
}
Aggregations