scd.setDate(serviceDate); scd.setExceptionType(ServiceCalendarDate.EXCEPTION_TYPE_ADD); scd.setServiceId(updatedServiceId); newEntities.add(scd); scd.setDate(serviceDate); scd.setExceptionType(ServiceCalendarDate.EXCEPTION_TYPE_REMOVE); scd.setServiceId(updatedServiceId); newEntities.add(scd); scd.setDate(serviceDate); scd.setExceptionType(ServiceCalendarDate.EXCEPTION_TYPE_ADD); scd.setServiceId(updatedServiceId); newEntities.add(scd);
/** * Replaces all references to the specified old service_id with the new * service_id for all {@link ServiceCalendar}, {@link ServiceCalendarDate}, * and {@link Trip} entities in the source feed. */ @Override protected void renameKey(GtfsMergeContext context, AgencyAndId oldId, AgencyAndId newId) { GtfsRelationalDao source = context.getSource(); ServiceCalendar calendar = source.getCalendarForServiceId(oldId); if (calendar != null) { calendar.setServiceId(newId); } for (ServiceCalendarDate calendarDate : source.getCalendarDatesForServiceId(oldId)) { calendarDate.setServiceId(newId); } for (Trip trip : source.getTripsForServiceId(oldId)) { trip.setServiceId(newId); } }
/** * Replaces all references to the specified old service_id with the new * service_id for all {@link ServiceCalendar}, {@link ServiceCalendarDate}, * and {@link Trip} entities in the source feed. */ @Override protected void renameKey(GtfsMergeContext context, AgencyAndId oldId, AgencyAndId newId) { GtfsRelationalDao source = context.getSource(); ServiceCalendar calendar = source.getCalendarForServiceId(oldId); if (calendar != null) { calendar.setServiceId(newId); } for (ServiceCalendarDate calendarDate : source.getCalendarDatesForServiceId(oldId)) { calendarDate.setServiceId(newId); } for (Trip trip : source.getTripsForServiceId(oldId)) { trip.setServiceId(newId); } }
newScd.setServiceId(newServiceId); newScd.setDate(calDate.getDate()); newScd.setExceptionType(calDate.getExceptionType());
@Override public void run(TransformContext context, GtfsMutableRelationalDao dao, Object entity) { AgencyAndId oldServiceId = context.resolveId(ServiceIdKey.class, _oldServiceId); AgencyAndId newServiceId = context.resolveId(ServiceIdKey.class, _newServiceId); ServiceCalendar calendar = dao.getCalendarForServiceId(oldServiceId); if (calendar != null) { calendar.setServiceId(newServiceId); } for (ServiceCalendarDate calendarDate : dao.getCalendarDatesForServiceId(oldServiceId)) { calendarDate.setServiceId(newServiceId); } for (Trip trip : dao.getTripsForServiceId(oldServiceId)) { trip.setServiceId(newServiceId); } } }
@Override public void run(TransformContext context, GtfsMutableRelationalDao dao) { Date today = removeTime(new Date()); boolean hasEntryToday; for (AgencyAndId aai : dao.getAllServiceIds()) { hasEntryToday = false; for (ServiceCalendarDate calDate : dao.getCalendarDatesForServiceId(aai)) { Date date = removeTime(calDate.getDate().getAsDate()); if (date.equals(today)) { hasEntryToday = true; if (calDate.getExceptionType() == 1) { calDate.setExceptionType(2); dao.saveOrUpdateEntity(calDate); } } } if (!hasEntryToday) { _log.error("No entry for today, adding one, id: {}", aai); ServiceCalendarDate calendarDate = new ServiceCalendarDate(); calendarDate.setServiceId(aai); calendarDate.setDate(new ServiceDate(today)); calendarDate.setExceptionType(2); dao.saveOrUpdateEntity(calendarDate); } } }
serviceIds++; ServiceCalendarDate newScd = new ServiceCalendarDate(); newScd.setServiceId(newServiceId); newScd.setDate(sd); newScd.setExceptionType(1); //add
scd.setDate(serviceDate); scd.setExceptionType(ServiceCalendarDate.EXCEPTION_TYPE_ADD); scd.setServiceId(serviceId); dao.saveEntity(scd);