public static void updateCsDbWithSolidFireIopsInfo(long storagePoolId, PrimaryDataStoreDao primaryDataStoreDao,
StoragePoolDetailsDao storagePoolDetailsDao, long minIops, long maxIops, long burstIops) {
Map<String, String> existingDetails = storagePoolDetailsDao.listDetailsKeyPairs(storagePoolId);
Set<String> existingKeys = existingDetails.keySet();
Map<String, String> existingDetailsToKeep = new HashMap<>();
for (String existingKey : existingKeys) {
String existingValue = existingDetails.get(existingKey);
if (!SolidFireUtil.MIN_IOPS.equalsIgnoreCase(existingValue) &&
!SolidFireUtil.MAX_IOPS.equalsIgnoreCase(existingValue) &&
!SolidFireUtil.BURST_IOPS.equalsIgnoreCase(existingValue)) {
existingDetailsToKeep.put(existingKey, existingValue);
}
}
existingDetailsToKeep.put(SolidFireUtil.MIN_IOPS, String.valueOf(minIops));
existingDetailsToKeep.put(SolidFireUtil.MAX_IOPS, String.valueOf(maxIops));
existingDetailsToKeep.put(SolidFireUtil.BURST_IOPS, String.valueOf(burstIops));
primaryDataStoreDao.updateDetails(storagePoolId, existingDetailsToKeep);
}