coverity in upgrade code 1164030: memory upgrade for ssvm 1164031: image store 
details encryption
Signed-off-by: Daan Hoogland <daan.hoogl...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9681fefa
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9681fefa
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9681fefa

Branch: refs/heads/master
Commit: 9681fefaef31efa83d226910731358ebec1932fe
Parents: c539595
Author: Daan Hoogland <d...@onecht.net>
Authored: Fri Jul 10 16:31:22 2015 +0200
Committer: Daan Hoogland <daan.hoogl...@gmail.com>
Committed: Tue Jul 14 11:53:22 2015 +0200

----------------------------------------------------------------------
 .../com/cloud/upgrade/dao/Upgrade421to430.java  | 138 +++++++------------
 1 file changed, 51 insertions(+), 87 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9681fefa/engine/schema/src/com/cloud/upgrade/dao/Upgrade421to430.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/dao/Upgrade421to430.java 
b/engine/schema/src/com/cloud/upgrade/dao/Upgrade421to430.java
index eaf33d5..e812364 100644
--- a/engine/schema/src/com/cloud/upgrade/dao/Upgrade421to430.java
+++ b/engine/schema/src/com/cloud/upgrade/dao/Upgrade421to430.java
@@ -68,9 +68,6 @@ public class Upgrade421to430 implements DbUpgrade {
     }
 
     private void upgradeMemoryOfSsvmOffering(Connection conn) {
-        PreparedStatement updatePstmt = null;
-        PreparedStatement selectPstmt = null;
-        ResultSet selectResultSet = null;
         int newRamSize = 512; //512MB
         long serviceOfferingId = 0;
 
@@ -79,10 +76,11 @@ public class Upgrade421to430 implements DbUpgrade {
              * We should not update/modify any user-defined offering.
              */
 
-        try {
-            selectPstmt = conn.prepareStatement("SELECT id FROM 
`cloud`.`service_offering` WHERE vm_type='secondarystoragevm'");
-            updatePstmt = conn.prepareStatement("UPDATE 
`cloud`.`service_offering` SET ram_size=? WHERE id=?");
-            selectResultSet = selectPstmt.executeQuery();
+        try (
+                PreparedStatement selectPstmt = conn.prepareStatement("SELECT 
id FROM `cloud`.`service_offering` WHERE vm_type='secondarystoragevm'");
+                PreparedStatement updatePstmt = conn.prepareStatement("UPDATE 
`cloud`.`service_offering` SET ram_size=? WHERE id=?");
+                ResultSet selectResultSet = selectPstmt.executeQuery();
+            ) {
             if(selectResultSet.next()) {
                 serviceOfferingId = selectResultSet.getLong("id");
             }
@@ -92,26 +90,11 @@ public class Upgrade421to430 implements DbUpgrade {
             updatePstmt.executeUpdate();
         } catch (SQLException e) {
             throw new CloudRuntimeException("Unable to upgrade ram_size of 
service offering for secondary storage vm. ", e);
-        } finally {
-            try {
-                if (selectPstmt != null) {
-                    selectPstmt.close();
-                }
-                if (selectResultSet != null) {
-                    selectResultSet.close();
-                }
-                if (updatePstmt != null) {
-                    updatePstmt.close();
-                }
-            } catch (SQLException e) {
-            }
         }
         s_logger.debug("Done upgrading RAM for service offering of Secondary 
Storage VM to " + newRamSize);
     }
 
     private void encryptLdapConfigParams(Connection conn) {
-        PreparedStatement pstmt = null;
-
         String[][] ldapParams = { {"ldap.user.object", "inetOrgPerson", "Sets 
the object type of users within LDAP"},
                 {"ldap.username.attribute", "uid", "Sets the username 
attribute used within LDAP"}, {"ldap.email.attribute", "mail", "Sets the email 
attribute used within LDAP"},
                 {"ldap.firstname.attribute", "givenname", "Sets the firstname 
attribute used within LDAP"},
@@ -122,69 +105,61 @@ public class Upgrade421to430 implements DbUpgrade {
         String insertSql = "INSERT INTO `cloud`.`configuration`(category, 
instance, component, name, value, description) VALUES ('Secure', 'DEFAULT', 
'management-server', ?, ?, "
                 + "?) ON DUPLICATE KEY UPDATE category='Secure';";
 
-        try {
-
-            pstmt = conn.prepareStatement(insertSql);
+        try (PreparedStatement pstmt_insert_ldap_parameters = 
conn.prepareStatement(insertSql);){
             for (String[] ldapParam : ldapParams) {
                 String name = ldapParam[0];
                 String value = ldapParam[1];
                 String desc = ldapParam[2];
                 String encryptedValue = DBEncryptionUtil.encrypt(value);
-                pstmt.setString(1, name);
-                pstmt.setBytes(2, encryptedValue.getBytes("UTF-8"));
-                pstmt.setString(3, desc);
-                pstmt.executeUpdate();
+                pstmt_insert_ldap_parameters.setString(1, name);
+                pstmt_insert_ldap_parameters.setBytes(2, 
encryptedValue.getBytes("UTF-8"));
+                pstmt_insert_ldap_parameters.setString(3, desc);
+                pstmt_insert_ldap_parameters.executeUpdate();
             }
 
-            pstmt.close();
-
             /**
              * if encrypted, decrypt the ldap hostname and port and then 
update as they are not encrypted now.
              */
-            pstmt = conn.prepareStatement("SELECT conf.value FROM 
`cloud`.`configuration` conf WHERE conf.name='ldap.hostname'");
-            ResultSet resultSet = pstmt.executeQuery();
-            String hostname = null;
-            String port;
-            int portNumber = 0;
-            if (resultSet.next()) {
-                hostname = DBEncryptionUtil.decrypt(resultSet.getString(1));
-            }
-
-            pstmt.close();
-
-            pstmt = conn.prepareStatement("SELECT conf.value FROM 
`cloud`.`configuration` conf WHERE conf.name='ldap.port'");
-            resultSet = pstmt.executeQuery();
-            if (resultSet.next()) {
-                port = DBEncryptionUtil.decrypt(resultSet.getString(1));
-                if (StringUtils.isNotBlank(port)) {
-                    portNumber = Integer.parseInt(port);
+            try (
+                    PreparedStatement pstmt_ldap_hostname = 
conn.prepareStatement("SELECT conf.value FROM `cloud`.`configuration` conf 
WHERE conf.name='ldap.hostname'");
+                    ResultSet resultSet_ldap_hostname = 
pstmt_ldap_hostname.executeQuery();
+                ) {
+                String hostname = null;
+                String port;
+                int portNumber = 0;
+                if (resultSet_ldap_hostname.next()) {
+                    hostname = 
DBEncryptionUtil.decrypt(resultSet_ldap_hostname.getString(1));
                 }
-            }
-            pstmt.close();
-
-            if (StringUtils.isNotBlank(hostname)) {
-                pstmt = conn.prepareStatement("INSERT INTO 
`cloud`.`ldap_configuration`(hostname, port) VALUES(?,?)");
-                pstmt.setString(1, hostname);
-                if (portNumber != 0) {
-                    pstmt.setInt(2, portNumber);
-                } else {
-                    pstmt.setNull(2, Types.INTEGER);
+
+                try (
+                        PreparedStatement pstmt_ldap_port = 
conn.prepareStatement("SELECT conf.value FROM `cloud`.`configuration` conf 
WHERE conf.name='ldap.port'");
+                        ResultSet resultSet_ldap_port = 
pstmt_ldap_port.executeQuery();
+                    ) {
+                    if (resultSet_ldap_port.next()) {
+                        port = 
DBEncryptionUtil.decrypt(resultSet_ldap_port.getString(1));
+                        if (StringUtils.isNotBlank(port)) {
+                            portNumber = Integer.parseInt(port);
+                        }
+                    }
+
+                    if (StringUtils.isNotBlank(hostname)) {
+                        try (PreparedStatement pstmt_insert_ldap_hostname_port 
= conn.prepareStatement("INSERT INTO `cloud`.`ldap_configuration`(hostname, 
port) VALUES(?,?)");) {
+                            pstmt_insert_ldap_hostname_port.setString(1, 
hostname);
+                            if (portNumber != 0) {
+                                pstmt_insert_ldap_hostname_port.setInt(2, 
portNumber);
+                            } else {
+                                pstmt_insert_ldap_hostname_port.setNull(2, 
Types.INTEGER);
+                            }
+                            pstmt_insert_ldap_hostname_port.executeUpdate();
+                        }
+                    }
                 }
-                pstmt.executeUpdate();
-                pstmt.close();
             }
 
         } catch (SQLException e) {
             throw new CloudRuntimeException("Unable to insert ldap 
configuration values ", e);
         } catch (UnsupportedEncodingException e) {
             throw new CloudRuntimeException("Unable to insert ldap 
configuration values ", e);
-        } finally {
-            try {
-                if (pstmt != null) {
-                    pstmt.close();
-                }
-            } catch (SQLException e) {
-            }
         }
         s_logger.debug("Done encrypting ldap Config values");
 
@@ -192,11 +167,10 @@ public class Upgrade421to430 implements DbUpgrade {
 
     private void encryptImageStoreDetails(Connection conn) {
         s_logger.debug("Encrypting image store details");
-        PreparedStatement pstmt = null;
-        ResultSet rs = null;
-        try {
-            pstmt = conn.prepareStatement("select id, value from 
`cloud`.`image_store_details` where name = 'key' or name = 'secretkey'");
-            rs = pstmt.executeQuery();
+        try (
+                PreparedStatement selectPstmt = conn.prepareStatement("select 
id, value from `cloud`.`image_store_details` where name = 'key' or name = 
'secretkey'");
+                ResultSet rs = selectPstmt.executeQuery();
+            ) {
             while (rs.next()) {
                 long id = rs.getLong(1);
                 String value = rs.getString(2);
@@ -204,26 +178,16 @@ public class Upgrade421to430 implements DbUpgrade {
                     continue;
                 }
                 String encryptedValue = DBEncryptionUtil.encrypt(value);
-                pstmt = conn.prepareStatement("update 
`cloud`.`image_store_details` set value=? where id=?");
-                pstmt.setBytes(1, encryptedValue.getBytes("UTF-8"));
-                pstmt.setLong(2, id);
-                pstmt.executeUpdate();
+                try (PreparedStatement updatePstmt = 
conn.prepareStatement("update `cloud`.`image_store_details` set value=? where 
id=?");) {
+                    updatePstmt.setBytes(1, encryptedValue.getBytes("UTF-8"));
+                    updatePstmt.setLong(2, id);
+                    updatePstmt.executeUpdate();
+                }
             }
         } catch (SQLException e) {
             throw new CloudRuntimeException("Unable encrypt 
image_store_details values ", e);
         } catch (UnsupportedEncodingException e) {
             throw new CloudRuntimeException("Unable encrypt 
image_store_details values ", e);
-        } finally {
-            try {
-                if (rs != null) {
-                    rs.close();
-                }
-
-                if (pstmt != null) {
-                    pstmt.close();
-                }
-            } catch (SQLException e) {
-            }
         }
         s_logger.debug("Done encrypting image_store_details");
     }

Reply via email to