private void checkSensorState(final String providerId, final String sensorId) { if (!StringUtils.hasText(sensorId)) { return; } final SensorState sensorState = resourceService.getSensorState(providerId, sensorId); final boolean existsSensor = sensorState != null && !sensorState.equals(SensorState.ghost); if (!existsSensor) { throw new ResourceNotFoundException(sensorId, "Sensor"); } else if (SensorState.offline.equals(sensorState)) { throw new ResourceOfflineException(sensorId, "Sensor"); } }
private void checkSensorState(final String providerId, final String sensorId) { final SensorState sensorState = resourceService.getSensorState(providerId, sensorId); final boolean existsSensor = sensorState != null && !sensorState.equals(SensorState.ghost); if (!existsSensor) { throw new ResourceNotFoundException(sensorId, "Sensor"); } else if (SensorState.offline.equals(sensorState)) { throw new ResourceOfflineException(sensorId, "Sensor"); } }
private boolean sensorStateHasChange(final Sensor newSensor, final Sensor currentSensor) { return !newSensor.getState().equals(currentSensor.getState()); }
private void checkStateChange(final Sensor newSensor) { // If sensor state has change, this change should be notified. final Sensor currentSensor = sensorService.find(newSensor); if (currentSensor != null && !newSensor.getState().equals(currentSensor.getState())) { sensorService.notifyStateChange(newSensor); } } }
/** * Checks if the sensor exists in Redis and if it is enabled. Otherwise throws an exception. */ private void checkTargetResourceState(final Observation data) throws ResourceNotFoundException, ResourceOfflineException { final SensorState sensorState = resourceService.getSensorState(data.getProvider(), data.getSensor()); final boolean existsSensor = sensorState != null && !sensorState.equals(SensorState.ghost); if (!existsSensor && rejectUnknownSensors) { throw new ResourceNotFoundException(data.getSensor(), "Sensor"); } else if (!existsSensor) { publishGhostSensorAlarm(data); } else if (SensorState.offline.equals(sensorState)) { throw new ResourceOfflineException(data.getSensor(), "Sensor"); } }
@Override public void onApplicationEvent(final SensorsStateChangeEvent event) { if (event instanceof SensorsStateChangeEvent) { for (final CatalogDocument sensor : event.getResources()) { final SearchFilter filterParams = new SearchFilter(); filterParams.addAndParam("providerId", ((Sensor) sensor).getProviderId()); filterParams.addAndParam("sensorId", ((Sensor) sensor).getSensorId()); final boolean active = SensorState.online.equals(((Sensor) sensor).getState()); updateMulti(buildQuery(filterParams), Arrays.asList("active"), Arrays.asList(active)); LOGGER.debug("Change active field value for alerts associated with sensor [{}] and provider [{}] to: {}", ((Sensor) sensor).getSensorId(), ((Sensor) sensor).getProviderId(), active); } } }