Added some improved robostness to sensor sync daemon

This commit is contained in:
Ziver Koc 2016-05-31 14:33:46 +02:00
parent eff019c012
commit 4f6066fe7a

View file

@ -70,19 +70,25 @@ public class PCDataSynchronizationClient implements HalDaemon {
user.save(db); user.save(db);
for(SensorDTO sensorDTO : peerData.sensors){ for(SensorDTO sensorDTO : peerData.sensors){
Sensor sensor = Sensor.getExternalSensor(db, user, sensorDTO.sensorId); try { // We might not have the sensor plugin installed
if(sensor == null) { // new sensor Sensor sensor = Sensor.getExternalSensor(db, user, sensorDTO.sensorId);
sensor = new Sensor(); if(sensor == null) { // new sensor
logger.fine("Created new external sensor with external_id: "+ sensorDTO.sensorId); sensor = new Sensor();
} logger.fine("Created new external sensor with external_id: "+ sensorDTO.sensorId);
else }
logger.fine("Updating external sensor with id: "+ sensor.getId() +" and external_id: "+ sensor.getExternalId()); else
sensor.setExternalId(sensorDTO.sensorId); logger.fine("Updating external sensor with id: "+ sensor.getId() +" and external_id: "+ sensor.getExternalId());
sensor.setName(sensorDTO.name); sensor.setExternalId(sensorDTO.sensorId);
sensor.setType(sensorDTO.type); sensor.setName(sensorDTO.name);
sensor.getDeviceConfig().setValues(JSONParser.read(sensorDTO.config)).applyConfiguration(); sensor.setType(sensorDTO.type);
sensor.setUser(user); sensor.setUser(user);
sensor.save(db);
sensor.getDeviceConfig().setValues(JSONParser.read(sensorDTO.config)).applyConfiguration();
sensor.save(db);
} catch (Exception e){
logger.warning("Unable to register external sensor: " +
"name="+sensorDTO.name+", type="+ sensorDTO.type);
}
} }
// Request sensor data // Request sensor data