Search in sources :

Example 1 with TripProblemReportSummaryBean

use of org.onebusaway.transit_data.model.problems.TripProblemReportSummaryBean in project onebusaway-application-modules by camsys.

the class UserReportingServiceImpl method getTripProblemReportSummaries.

@Override
public ListBean<TripProblemReportSummaryBean> getTripProblemReportSummaries(TripProblemReportQueryBean query, ETripProblemGroupBy groupBy) {
    List<T2<Object, Integer>> records = _userReportingDao.getTripProblemReportSummaries(query, groupBy);
    List<TripProblemReportSummaryBean> beans = new ArrayList<TripProblemReportSummaryBean>(records.size());
    for (T2<Object, Integer> record : records) {
        TripProblemReportSummaryBean bean = new TripProblemReportSummaryBean();
        bean.setCount(record.getSecond());
        switch(groupBy) {
            case TRIP:
                {
                    AgencyAndId tripId = (AgencyAndId) record.getFirst();
                    bean.setTrip(_tripBeanService.getTripForId(tripId));
                    break;
                }
            case STATUS:
                {
                    EProblemReportStatus status = (EProblemReportStatus) record.getFirst();
                    bean.setStatus(status);
                    break;
                }
            case LABEL:
                {
                    String label = (String) record.getFirst();
                    bean.setLabel(label);
                    break;
                }
        }
        beans.add(bean);
    }
    return new ListBean<TripProblemReportSummaryBean>(beans, false);
}
Also used : TripProblemReportSummaryBean(org.onebusaway.transit_data.model.problems.TripProblemReportSummaryBean) AgencyAndId(org.onebusaway.gtfs.model.AgencyAndId) ArrayList(java.util.ArrayList) EProblemReportStatus(org.onebusaway.transit_data.model.problems.EProblemReportStatus) ListBean(org.onebusaway.transit_data.model.ListBean) T2(org.onebusaway.collections.tuple.T2)

Example 2 with TripProblemReportSummaryBean

use of org.onebusaway.transit_data.model.problems.TripProblemReportSummaryBean in project onebusaway-application-modules by camsys.

the class UserReportingServiceImplTest method test.

@SuppressWarnings("unchecked")
@Test
public void test() {
    TripProblemReportQueryBean query = new TripProblemReportQueryBean();
    AgencyAndId tripIdA = new AgencyAndId("1", "t-a");
    AgencyAndId tripIdB = new AgencyAndId("1", "t-b");
    TripBean tripA = new TripBean();
    TripBean tripB = new TripBean();
    Mockito.when(_dao.getTripProblemReportSummaries(query, ETripProblemGroupBy.TRIP)).thenReturn(Arrays.asList(Tuples.tuple((Object) tripIdA, 7), Tuples.tuple((Object) tripIdB, 3)));
    Mockito.when(_tripBeanService.getTripForId(tripIdA)).thenReturn(tripA);
    Mockito.when(_tripBeanService.getTripForId(tripIdB)).thenReturn(tripB);
    ListBean<TripProblemReportSummaryBean> summaries = _service.getTripProblemReportSummaries(query, ETripProblemGroupBy.TRIP);
    List<TripProblemReportSummaryBean> list = summaries.getList();
    assertEquals(2, list.size());
    TripProblemReportSummaryBean summary = list.get(0);
    assertSame(tripA, summary.getTrip());
    assertEquals(7, summary.getCount());
    summary = list.get(1);
    assertSame(tripB, summary.getTrip());
    assertEquals(3, summary.getCount());
    Mockito.when(_dao.getTripProblemReportSummaries(query, ETripProblemGroupBy.STATUS)).thenReturn(Arrays.asList(Tuples.tuple((Object) EProblemReportStatus.NEW, 6), Tuples.tuple((Object) EProblemReportStatus.DUPLICATE, 4)));
    summaries = _service.getTripProblemReportSummaries(query, ETripProblemGroupBy.STATUS);
    list = summaries.getList();
    assertEquals(2, list.size());
    summary = list.get(0);
    assertEquals(EProblemReportStatus.NEW, summary.getStatus());
    assertEquals(6, summary.getCount());
    summary = list.get(1);
    assertEquals(EProblemReportStatus.DUPLICATE, summary.getStatus());
    assertEquals(4, summary.getCount());
    Mockito.when(_dao.getTripProblemReportSummaries(query, ETripProblemGroupBy.LABEL)).thenReturn(Arrays.asList(Tuples.tuple((Object) "label-a", 9), Tuples.tuple((Object) "label-b", 2)));
    summaries = _service.getTripProblemReportSummaries(query, ETripProblemGroupBy.LABEL);
    list = summaries.getList();
    assertEquals(2, list.size());
    summary = list.get(0);
    assertEquals("label-a", summary.getLabel());
    assertEquals(9, summary.getCount());
    summary = list.get(1);
    assertEquals("label-b", summary.getLabel());
    assertEquals(2, summary.getCount());
}
Also used : TripProblemReportQueryBean(org.onebusaway.transit_data.model.problems.TripProblemReportQueryBean) TripProblemReportSummaryBean(org.onebusaway.transit_data.model.problems.TripProblemReportSummaryBean) AgencyAndId(org.onebusaway.gtfs.model.AgencyAndId) TripBean(org.onebusaway.transit_data.model.trips.TripBean) Test(org.junit.Test)

Aggregations

AgencyAndId (org.onebusaway.gtfs.model.AgencyAndId)2 TripProblemReportSummaryBean (org.onebusaway.transit_data.model.problems.TripProblemReportSummaryBean)2 ArrayList (java.util.ArrayList)1 Test (org.junit.Test)1 T2 (org.onebusaway.collections.tuple.T2)1 ListBean (org.onebusaway.transit_data.model.ListBean)1 EProblemReportStatus (org.onebusaway.transit_data.model.problems.EProblemReportStatus)1 TripProblemReportQueryBean (org.onebusaway.transit_data.model.problems.TripProblemReportQueryBean)1 TripBean (org.onebusaway.transit_data.model.trips.TripBean)1