Update device property table in dm db when updating properties

(cherry picked from commit 5f64b0b1ad)
master
Saad Sahibjan 3 years ago committed by Pahansith
parent 1434a27cde
commit b3a229a0e7

@ -489,13 +489,14 @@ public class DeviceTypeManager implements DeviceManager {
throws DeviceManagementException { throws DeviceManagementException {
boolean status = false; boolean status = false;
if (propertiesExist) { if (propertiesExist) {
Device updatedDevice = new Device();
updatedDevice.setDeviceIdentifier(deviceId.getId());
updatedDevice.setProperties(propertyList);
try { try {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("Getting the details of " + deviceType + " device : '" + deviceId.getId() + "'"); log.debug("Updating device properties of " + deviceType + " device : '"
+ deviceId.getId() + "'");
} }
Device updatedDevice = new Device();
updatedDevice.setDeviceIdentifier(deviceId.getId());
updatedDevice.setProperties(propertyList);
deviceTypePluginDAOManager.getDeviceTypeDAOHandler().beginTransaction(); deviceTypePluginDAOManager.getDeviceTypeDAOHandler().beginTransaction();
status = deviceTypePluginDAOManager.getDeviceDAO().updateDevice(updatedDevice); status = deviceTypePluginDAOManager.getDeviceDAO().updateDevice(updatedDevice);
deviceTypePluginDAOManager.getDeviceTypeDAOHandler().commitTransaction(); deviceTypePluginDAOManager.getDeviceTypeDAOHandler().commitTransaction();
@ -506,6 +507,24 @@ public class DeviceTypeManager implements DeviceManager {
} finally { } finally {
deviceTypePluginDAOManager.getDeviceTypeDAOHandler().closeConnection(); deviceTypePluginDAOManager.getDeviceTypeDAOHandler().closeConnection();
} }
if (propertyBasedDeviceTypePluginDAOManager != null && status) {
try {
if (log.isDebugEnabled()) {
log.debug("Updating device properties of " + deviceType + " device : '"
+ deviceId.getId() + "'");
}
propertyBasedDeviceTypePluginDAOManager.getDeviceTypeDAOHandler().beginTransaction();
status = propertyBasedDeviceTypePluginDAOManager.getDeviceDAO().updateDevice(updatedDevice);
propertyBasedDeviceTypePluginDAOManager.getDeviceTypeDAOHandler().commitTransaction();
} catch (DeviceTypeMgtPluginException e) {
propertyBasedDeviceTypePluginDAOManager.getDeviceTypeDAOHandler().rollbackTransaction();
String msg = "Error while updating properties for " + deviceType + " device : " +
deviceId.getId();
throw new DeviceManagementException(msg, e);
} finally {
propertyBasedDeviceTypePluginDAOManager.getDeviceTypeDAOHandler().closeConnection();
}
}
} }
return status; return status;
} }

Loading…
Cancel
Save