Search in sources :

Example 61 with AgencyAndId

use of org.onebusaway.gtfs.model.AgencyAndId in project onebusaway-gtfs-modules by OneBusAway.

the class DeferredValueSupport method resolveAgencyAndId.

/**
   * Returns a {@link AgencyAndId} with the specified new id value and the
   * appropriate agency id prefix. By default, we use the GTFS reader's default
   * agency id. However, if the specified bean+property has an existing
   * {@link AgencyAndId} value, we use the agency-id specified there.
   */
public AgencyAndId resolveAgencyAndId(BeanWrapper bean, String propertyName, String newId) {
    GtfsReaderContext context = _reader.getGtfsReaderContext();
    String agencyId = context.getDefaultAgencyId();
    AgencyAndId existingId = (AgencyAndId) bean.getPropertyValue(propertyName);
    if (existingId != null) {
        agencyId = existingId.getAgencyId();
    }
    return new AgencyAndId(agencyId, newId);
}
Also used : AgencyAndId(org.onebusaway.gtfs.model.AgencyAndId) GtfsReaderContext(org.onebusaway.gtfs.serialization.GtfsReaderContext)

Example 62 with AgencyAndId

use of org.onebusaway.gtfs.model.AgencyAndId in project onebusaway-gtfs-modules by OneBusAway.

the class EntityRetentionGraph method retainStop.

private void retainStop(Stop stop, boolean retainUp) {
    if (retainUp) {
        for (StopTime stopTime : _dao.getStopTimesForStop(stop)) retainUp(stopTime);
    } else {
        String parentStationId = stop.getParentStation();
        if (parentStationId != null) {
            AgencyAndId id = stop.getId();
            Stop parent = _dao.getStopForId(new AgencyAndId(id.getAgencyId(), parentStationId));
            retainDown(parent);
        }
        /**
       * Need to make sure a stop's agency is included as well, since the agency
       * might not be included by any routes serving that stop
       */
        AgencyAndId stopId = stop.getId();
        String agencyId = stopId.getAgencyId();
        Agency agency = _dao.getAgencyForId(agencyId);
        if (agency != null) {
            retainDown(agency);
        }
    }
}
Also used : Agency(org.onebusaway.gtfs.model.Agency) AgencyAndId(org.onebusaway.gtfs.model.AgencyAndId) Stop(org.onebusaway.gtfs.model.Stop) StopTime(org.onebusaway.gtfs.model.StopTime)

Example 63 with AgencyAndId

use of org.onebusaway.gtfs.model.AgencyAndId in project onebusaway-gtfs-modules by OneBusAway.

the class StopTimesFactoryStrategy method getTrip.

private Trip getTrip(GtfsReaderContext context, GtfsRelationalDao dao) {
    String agencyId = context.getAgencyForEntity(Trip.class, tripId);
    AgencyAndId id = new AgencyAndId(agencyId, tripId);
    Trip trip = dao.getTripForId(id);
    if (trip == null) {
        throw new IllegalArgumentException("unknown trip: " + tripId);
    }
    return trip;
}
Also used : Trip(org.onebusaway.gtfs.model.Trip) AgencyAndId(org.onebusaway.gtfs.model.AgencyAndId)

Example 64 with AgencyAndId

use of org.onebusaway.gtfs.model.AgencyAndId in project onebusaway-gtfs-modules by OneBusAway.

the class GtfsDaoImplTest method testBart.

@Test
public void testBart() throws IOException {
    GtfsDaoImpl dao = new GtfsDaoImpl();
    GtfsTestData.readGtfs(dao, GtfsTestData.getBartGtfs(), "BART");
    Collection<Agency> agencies = dao.getAllAgencies();
    assertEquals(2, agencies.size());
    Agency agency = dao.getAgencyForId("BART");
    assertEquals("BART", agency.getId());
    Collection<ServiceCalendarDate> calendarDates = dao.getAllCalendarDates();
    assertEquals(32, calendarDates.size());
    ServiceCalendarDate calendarDate = dao.getCalendarDateForId(1);
    assertEquals(new AgencyAndId("BART", "SUN"), calendarDate.getServiceId());
    assertEquals(new ServiceDate(2009, 1, 1), calendarDate.getDate());
    assertEquals(1, calendarDate.getExceptionType());
    Collection<ServiceCalendar> calendars = dao.getAllCalendars();
    assertEquals(5, calendars.size());
    ServiceCalendar calendar = dao.getCalendarForId(1);
    assertEquals(new AgencyAndId("BART", "WKDY"), calendar.getServiceId());
    assertEquals(new ServiceDate(2007, 1, 1), calendar.getStartDate());
    assertEquals(new ServiceDate(2010, 12, 31), calendar.getEndDate());
    assertEquals(1, calendar.getMonday());
    assertEquals(1, calendar.getTuesday());
    assertEquals(1, calendar.getWednesday());
    assertEquals(1, calendar.getThursday());
    assertEquals(1, calendar.getFriday());
    assertEquals(0, calendar.getSaturday());
    assertEquals(0, calendar.getSunday());
    Collection<FareAttribute> fareAttributes = dao.getAllFareAttributes();
    assertEquals(106, fareAttributes.size());
    FareAttribute fareAttribute = dao.getFareAttributeForId(new AgencyAndId("BART", "30"));
    assertEquals(new AgencyAndId("BART", "30"), fareAttribute.getId());
    Collection<FareRule> fareRules = dao.getAllFareRules();
    assertEquals(1849, fareRules.size());
    FareRule fareRule = dao.getFareRuleForId(1);
    assertEquals(new AgencyAndId("BART", "98"), fareRule.getFare().getId());
    Collection<Frequency> frequencies = dao.getAllFrequencies();
    assertEquals(6, frequencies.size());
    Frequency frequency = dao.getFrequencyForId(1);
    assertEquals(new AgencyAndId("AirBART", "M-FSAT1DN"), frequency.getTrip().getId());
    Collection<Route> routes = dao.getAllRoutes();
    assertEquals(11, routes.size());
    Route route = dao.getRouteForId(new AgencyAndId("BART", "01"));
    assertEquals(new AgencyAndId("BART", "01"), route.getId());
    Collection<ShapePoint> shapePoints = dao.getAllShapePoints();
    assertEquals(105, shapePoints.size());
    ShapePoint shapePoint = dao.getShapePointForId(1);
    assertEquals(new AgencyAndId("BART", "airbart-dn.csv"), shapePoint.getShapeId());
    Collection<Stop> stops = dao.getAllStops();
    assertEquals(46, stops.size());
    Stop stop = dao.getStopForId(new AgencyAndId("BART", "DBRK"));
    assertEquals("Downtown Berkeley BART", stop.getName());
    Collection<StopTime> stopTimes = dao.getAllStopTimes();
    assertEquals(33270, stopTimes.size());
    StopTime stopTime = stopTimes.iterator().next();
    assertEquals(18000, stopTime.getArrivalTime());
    Collection<Transfer> transfers = dao.getAllTransfers();
    assertEquals(4, transfers.size());
    Transfer transfer = dao.getTransferForId(1);
    assertEquals(1, transfer.getTransferType());
    Collection<Trip> trips = dao.getAllTrips();
    assertEquals(1620, trips.size());
    Trip trip = dao.getTripForId(new AgencyAndId("BART", "15PB1"));
    assertEquals(new AgencyAndId("BART", "WKDY"), trip.getServiceId());
}
Also used : FareAttribute(org.onebusaway.gtfs.model.FareAttribute) AgencyAndId(org.onebusaway.gtfs.model.AgencyAndId) Stop(org.onebusaway.gtfs.model.Stop) ServiceDate(org.onebusaway.gtfs.model.calendar.ServiceDate) ShapePoint(org.onebusaway.gtfs.model.ShapePoint) Route(org.onebusaway.gtfs.model.Route) StopTime(org.onebusaway.gtfs.model.StopTime) ServiceCalendarDate(org.onebusaway.gtfs.model.ServiceCalendarDate) Trip(org.onebusaway.gtfs.model.Trip) Agency(org.onebusaway.gtfs.model.Agency) FareRule(org.onebusaway.gtfs.model.FareRule) Transfer(org.onebusaway.gtfs.model.Transfer) Frequency(org.onebusaway.gtfs.model.Frequency) ServiceCalendar(org.onebusaway.gtfs.model.ServiceCalendar) Test(org.junit.Test)

Example 65 with AgencyAndId

use of org.onebusaway.gtfs.model.AgencyAndId in project onebusaway-gtfs-modules by OneBusAway.

the class GtfsRelationalDaoImplTest method testStationSubStops.

@Test
public void testStationSubStops() {
    GtfsRelationalDaoImpl dao = new GtfsRelationalDaoImpl();
    Stop st = new Stop();
    st.setLocationType(1);
    st.setId(new AgencyAndId("X", "ST"));
    dao.saveEntity(st);
    Stop st1 = new Stop();
    st1.setLocationType(0);
    st1.setId(new AgencyAndId("X", "ST1"));
    st1.setParentStation("ST");
    dao.saveEntity(st1);
    Stop st2 = new Stop();
    st2.setLocationType(0);
    st2.setId(new AgencyAndId("X", "ST2"));
    st2.setParentStation("ST");
    dao.saveEntity(st2);
    Stop st3 = new Stop();
    st3.setLocationType(0);
    st3.setId(new AgencyAndId("X", "ST3"));
    dao.saveEntity(st3);
    List<Stop> sts = dao.getStopsForStation(st);
    assertTrue(sts.contains(st1));
    assertTrue(sts.contains(st2));
    assertTrue(!sts.contains(st3));
    assertEquals(sts.size(), 2);
}
Also used : AgencyAndId(org.onebusaway.gtfs.model.AgencyAndId) Stop(org.onebusaway.gtfs.model.Stop) Test(org.junit.Test)

Aggregations

AgencyAndId (org.onebusaway.gtfs.model.AgencyAndId)102 Test (org.junit.Test)63 Trip (org.onebusaway.gtfs.model.Trip)37 ServiceDate (org.onebusaway.gtfs.model.calendar.ServiceDate)25 Stop (org.onebusaway.gtfs.model.Stop)24 ServiceCalendar (org.onebusaway.gtfs.model.ServiceCalendar)17 ServiceCalendarDate (org.onebusaway.gtfs.model.ServiceCalendarDate)16 ArrayList (java.util.ArrayList)15 Route (org.onebusaway.gtfs.model.Route)15 StopTime (org.onebusaway.gtfs.model.StopTime)15 GtfsMutableRelationalDao (org.onebusaway.gtfs.services.GtfsMutableRelationalDao)15 Agency (org.onebusaway.gtfs.model.Agency)13 ShapePoint (org.onebusaway.gtfs.model.ShapePoint)12 GtfsRelationalDao (org.onebusaway.gtfs.services.GtfsRelationalDao)11 HashSet (java.util.HashSet)10 GtfsRelationalDaoImpl (org.onebusaway.gtfs.impl.GtfsRelationalDaoImpl)10 List (java.util.List)9 Frequency (org.onebusaway.gtfs.model.Frequency)9 CalendarService (org.onebusaway.gtfs.services.calendar.CalendarService)7 Set (java.util.Set)6