}
}
@SuppressWarnings("unchecked")
private void pruneTrips() {
EntityRetentionGraph graph = new EntityRetentionGraph(_dao);
for (Trip trip : _dao.getAllTrips()) {
List<StopTime> stopTimes = _dao.getStopTimesForTrip(trip);
if (stopTimes.size() > 1) {
graph.retainUp(trip);
}
}
for (Class<?> entityClass : GtfsEntitySchemaFactory.getEntityClasses()) {
List<Object> objectsToRemove = new ArrayList<Object>();
for (Object entity : _dao.getAllEntitiesForType(entityClass)) {
if (!graph.isRetained(entity))
objectsToRemove.add(entity);
}
for (Object toRemove : objectsToRemove)
_dao.removeEntity((IdentityBean<Serializable>) toRemove);
}