use of org.onebusaway.gtfs.model.Agency in project OpenTripPlanner by opentripplanner.
the class RoutingRequestTest method testPreferencesPenaltyForRoute.
@Test
public void testPreferencesPenaltyForRoute() {
AgencyAndId agencyAndId = new AgencyAndId();
Agency agency = new Agency();
Route route = new Route();
Trip trip = new Trip();
RoutingRequest routingRequest = new RoutingRequest();
trip.setRoute(route);
route.setId(agencyAndId);
route.setAgency(agency);
assertEquals(0, routingRequest.preferencesPenaltyForRoute(trip.getRoute()));
}
use of org.onebusaway.gtfs.model.Agency in project OpenTripPlanner by opentripplanner.
the class RoutingContextTest method testSetServiceDays.
@Test
public void testSetServiceDays() throws Exception {
String feedId = "FEED";
String agencyId = "AGENCY";
Agency agency = new Agency();
agency.setId(agencyId);
Graph graph = mock(Graph.class);
RoutingRequest routingRequest = mock(RoutingRequest.class);
CalendarService calendarService = mock(CalendarService.class);
// You're probably not supposed to do this to mocks (access their fields directly)
// But I know of no other way to do this since the mock object has only action-free stub methods.
routingRequest.modes = new TraverseModeSet("WALK,TRANSIT");
when(graph.getTimeZone()).thenReturn(TimeZone.getTimeZone("Europe/Budapest"));
when(graph.getCalendarService()).thenReturn(calendarService);
when(graph.getFeedIds()).thenReturn(Collections.singletonList("FEED"));
when(graph.getAgencies(feedId)).thenReturn(Collections.singletonList(agency));
when(calendarService.getTimeZoneForAgencyId(agencyId)).thenReturn(TimeZone.getTimeZone("Europe/Budapest"));
when(routingRequest.getSecondsSinceEpoch()).thenReturn(1393750800L, 1396126800L, /* 2014-03-29T22:00:00+01:00 */
1396132200L, /* 2014-03-29T23:30:00+01:00 */
1396135800L, 1401696000L, 1414272600L, /* 2014-10-25T23:30:00+02:00 */
1414276200L, /* 2014-10-26T00:30:00+02:00 */
1414279800L);
verifyServiceDays(routingRequest, graph, new ServiceDate(2014, 3, 1), new ServiceDate(2014, 3, 2), new ServiceDate(2014, 3, 3));
verifyServiceDays(routingRequest, graph, new ServiceDate(2014, 3, 28), new ServiceDate(2014, 3, 29), new ServiceDate(2014, 3, 30));
verifyServiceDays(routingRequest, graph, new ServiceDate(2014, 3, 28), new ServiceDate(2014, 3, 29), new ServiceDate(2014, 3, 30));
verifyServiceDays(routingRequest, graph, new ServiceDate(2014, 3, 29), new ServiceDate(2014, 3, 30), new ServiceDate(2014, 3, 31));
verifyServiceDays(routingRequest, graph, new ServiceDate(2014, 6, 1), new ServiceDate(2014, 6, 2), new ServiceDate(2014, 6, 3));
verifyServiceDays(routingRequest, graph, new ServiceDate(2014, 10, 24), new ServiceDate(2014, 10, 25), new ServiceDate(2014, 10, 26));
verifyServiceDays(routingRequest, graph, new ServiceDate(2014, 10, 25), new ServiceDate(2014, 10, 26), new ServiceDate(2014, 10, 27));
verifyServiceDays(routingRequest, graph, new ServiceDate(2014, 10, 25), new ServiceDate(2014, 10, 26), new ServiceDate(2014, 10, 27));
}
use of org.onebusaway.gtfs.model.Agency in project OpenTripPlanner by opentripplanner.
the class OnBoardDepartServiceImplTest method testOnBoardDepartureTime.
@Test
public final void testOnBoardDepartureTime() {
Coordinate[] coordinates = new Coordinate[5];
coordinates[0] = new Coordinate(0.0, 0.0);
coordinates[1] = new Coordinate(0.0, 1.0);
coordinates[2] = new Coordinate(2.0, 1.0);
coordinates[3] = new Coordinate(5.0, 1.0);
coordinates[4] = new Coordinate(5.0, 5.0);
PatternDepartVertex depart = mock(PatternDepartVertex.class);
PatternArriveVertex dwell = mock(PatternArriveVertex.class);
PatternArriveVertex arrive = mock(PatternArriveVertex.class);
Graph graph = mock(Graph.class);
RoutingRequest routingRequest = mock(RoutingRequest.class);
ServiceDay serviceDay = mock(ServiceDay.class);
// You're probably not supposed to do this to mocks (access their fields directly)
// But I know of no other way to do this since the mock object has only action-free stub methods.
routingRequest.modes = new TraverseModeSet("WALK,TRANSIT");
when(graph.getTimeZone()).thenReturn(TimeZone.getTimeZone("GMT"));
GeometryFactory geometryFactory = GeometryUtils.getGeometryFactory();
CoordinateSequenceFactory coordinateSequenceFactory = geometryFactory.getCoordinateSequenceFactory();
CoordinateSequence coordinateSequence = coordinateSequenceFactory.create(coordinates);
LineString geometry = new LineString(coordinateSequence, geometryFactory);
ArrayList<Edge> hops = new ArrayList<Edge>(2);
RoutingContext routingContext = new RoutingContext(routingRequest, graph, null, arrive);
AgencyAndId agencyAndId = new AgencyAndId("Agency", "ID");
Agency agency = new Agency();
Route route = new Route();
ArrayList<StopTime> stopTimes = new ArrayList<StopTime>(3);
StopTime stopDepartTime = new StopTime();
StopTime stopDwellTime = new StopTime();
StopTime stopArriveTime = new StopTime();
Stop stopDepart = new Stop();
Stop stopDwell = new Stop();
Stop stopArrive = new Stop();
Trip trip = new Trip();
routingContext.serviceDays = new ArrayList<ServiceDay>(Collections.singletonList(serviceDay));
agency.setId(agencyAndId.getAgencyId());
route.setId(agencyAndId);
route.setAgency(agency);
stopDepart.setId(agencyAndId);
stopDwell.setId(agencyAndId);
stopArrive.setId(agencyAndId);
stopDepartTime.setStop(stopDepart);
stopDepartTime.setDepartureTime(0);
stopDwellTime.setArrivalTime(20);
stopDwellTime.setStop(stopDwell);
stopDwellTime.setDepartureTime(40);
stopArriveTime.setArrivalTime(60);
stopArriveTime.setStop(stopArrive);
stopTimes.add(stopDepartTime);
stopTimes.add(stopDwellTime);
stopTimes.add(stopArriveTime);
trip.setId(agencyAndId);
trip.setTripHeadsign("The right");
trip.setRoute(route);
TripTimes tripTimes = new TripTimes(trip, stopTimes, new Deduplicator());
StopPattern stopPattern = new StopPattern(stopTimes);
TripPattern tripPattern = new TripPattern(route, stopPattern);
TripPattern.generateUniqueIds(Arrays.asList(tripPattern));
when(depart.getTripPattern()).thenReturn(tripPattern);
when(dwell.getTripPattern()).thenReturn(tripPattern);
PatternHop patternHop0 = new PatternHop(depart, dwell, stopDepart, stopDwell, 0);
PatternHop patternHop1 = new PatternHop(dwell, arrive, stopDwell, stopArrive, 1);
hops.add(patternHop0);
hops.add(patternHop1);
when(graph.getEdges()).thenReturn(hops);
when(depart.getCoordinate()).thenReturn(new Coordinate(0, 0));
when(dwell.getCoordinate()).thenReturn(new Coordinate(0, 0));
when(arrive.getCoordinate()).thenReturn(new Coordinate(0, 0));
routingRequest.from = new GenericLocation();
routingRequest.startingTransitTripId = agencyAndId;
when(serviceDay.secondsSinceMidnight(anyInt())).thenReturn(9);
patternHop0.setGeometry(geometry);
tripPattern.add(tripTimes);
graph.index = new GraphIndex(graph);
coordinates = new Coordinate[3];
coordinates[0] = new Coordinate(3.5, 1.0);
coordinates[1] = new Coordinate(5.0, 1.0);
coordinates[2] = new Coordinate(5.0, 5.0);
coordinateSequence = coordinateSequenceFactory.create(coordinates);
geometry = new LineString(coordinateSequence, geometryFactory);
Vertex vertex = onBoardDepartServiceImpl.setupDepartOnBoard(routingContext);
Edge edge = vertex.getOutgoing().toArray(new Edge[1])[0];
assertEquals(vertex, edge.getFromVertex());
assertEquals(dwell, edge.getToVertex());
assertEquals("The right", edge.getDirection());
assertEquals(geometry, edge.getGeometry());
assertEquals(coordinates[0].x, vertex.getX(), 0.0);
assertEquals(coordinates[0].y, vertex.getY(), 0.0);
}
use of org.onebusaway.gtfs.model.Agency in project onebusaway-application-modules by camsys.
the class GtfsMultiReaderImpl method run.
@Override
public void run() {
if (_readers.isEmpty())
return;
if (_entityLogger != null) {
_entityReplacementStrategy.setEntityReplacementLogger(_entityLogger);
_entityLogger.setStore(_store);
_entityLogger.setRejectionStore(_rejectionStore);
}
try {
StoreImpl store = new StoreImpl(_store);
for (GtfsReader reader : _readers) {
reader.setEntityStore(store);
reader.addEntityHandler(new EntityCounter());
}
store.open();
List<Agency> agencies = new ArrayList<Agency>();
List<Class<?>> entityClasses = _readers.get(0).getEntityClasses();
for (Class<?> entityClass : entityClasses) {
_log.info("reading entities: " + entityClass.getName());
for (GtfsReader reader : _readers) {
// multiple feeds
if (entityClass.equals(Agency.class))
reader.setAgencies(agencies);
reader.readEntities(entityClass);
if (entityClass.equals(Agency.class))
agencies = new ArrayList<Agency>(reader.getAgencies());
store.flush();
}
}
store.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
use of org.onebusaway.gtfs.model.Agency in project onebusaway-application-modules by camsys.
the class GtfsStatisticsTask method run.
public void run() {
File basePath = _bundle.getPath();
_log.info("Starting GTFS stats to basePath=" + basePath);
GtfsStatisticsService service = new GtfsStatisticsService(_dao);
// create logger file
GtfsCsvLogger csvLogger = new GtfsCsvLogger();
csvLogger.setBasePath(basePath);
csvLogger.open();
csvLogger.header();
// per agency status
Collection<Agency> agencies = service.getAllAgencies();
for (Agency agency : agencies) {
_log.info("processing stats for agency: " + agency.getId() + " (" + agency.getName() + ")");
csvLogger.logStat(agency.getId(), service.getStatistic(agency.getId()));
}
// overall stats/totals
Statistic all = new Statistic();
Agency allAgency = new Agency();
allAgency.setId(ALL_AGENCIES);
all.setAgencyId(ALL_AGENCIES);
all.setRouteCount(service.getRouteCount());
all.setTripCount(service.getTripCount());
all.setStopCount(service.getStopCount());
all.setStopTimeCount(service.getStopTimesCount());
all.setCalendarStartDate(service.getCalendarServiceRangeStart());
all.setCalendarEndDate(service.getCalendarServiceRangeEnd());
csvLogger.logStat(allAgency.getId(), all);
_log.info("cleaning up");
// cleanup
csvLogger.close();
_log.info("exiting");
}
Aggregations