@Override public AbstractServiceDeliveryStructure filter( ServiceDelivery delivery, AbstractServiceDeliveryStructure moduleDelivery) { if (!(moduleDelivery instanceof VehicleMonitoringDeliveryStructure)) { return moduleDelivery; } VehicleMonitoringDeliveryStructure vm = (VehicleMonitoringDeliveryStructure) moduleDelivery; for (VehicleActivityStructure activity : vm.getVehicleActivity()) { MonitoredVehicleJourney mvj = activity.getMonitoredVehicleJourney(); if (!hasMonitoringError(mvj)) { _layoverService.updateVehicle(activity); } if (mvj.getVehicleRef() != null) { String vehicleRef = mvj.getVehicleRef().getValue(); if (_layoverService.isVehiclePausedAtLayoverLocation(vehicleRef)) { OneBusAwayVehicleActivity vaExtension = new OneBusAwayVehicleActivity(); vaExtension.setLayover(true); ExtensionsStructure extensions = new ExtensionsStructure(); extensions.setAny(vaExtension); activity.setExtensions(extensions); } } } return moduleDelivery; }
public void setDataPath(String path) { try { _layoverService.loadLayoverLocations(new File(path)); } catch (IOException ex) { _log.error("Error loading layover data from path: " + path, ex); } }