Repository: cloudstack
Updated Branches:
  refs/heads/master 4d6c682f1 -> b2283d7a2


Fixed few resource leaks and added secstoragefirewallcfg command support to 
simulator

Signed-off-by: Daan Hoogland <d...@onecht.net>


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

Branch: refs/heads/master
Commit: b2283d7a28c7b46a5d67effab3cb39952d76dc51
Parents: 4d6c682
Author: Santhosh Edukulla <santhosh.eduku...@gmail.com>
Authored: Mon Jun 23 17:09:21 2014 +0530
Committer: Daan Hoogland <d...@onecht.net>
Committed: Tue Jun 24 23:19:47 2014 +0200

----------------------------------------------------------------------
 .../cloud/upgrade/dao/DatabaseAccessObject.java | 45 +++++-------
 .../utils/crypt/EncryptionSecretKeyChanger.java | 18 +++--
 .../db/src/com/cloud/utils/db/ScriptRunner.java | 74 +++++++++-----------
 .../agent/manager/SimulatorManagerImpl.java     |  6 +-
 4 files changed, 60 insertions(+), 83 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b2283d7a/engine/schema/src/com/cloud/upgrade/dao/DatabaseAccessObject.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/dao/DatabaseAccessObject.java 
b/engine/schema/src/com/cloud/upgrade/dao/DatabaseAccessObject.java
index 836a537..1e620a5 100644
--- a/engine/schema/src/com/cloud/upgrade/dao/DatabaseAccessObject.java
+++ b/engine/schema/src/com/cloud/upgrade/dao/DatabaseAccessObject.java
@@ -26,63 +26,50 @@ public class DatabaseAccessObject {
 
     private static Logger s_logger = 
Logger.getLogger(DatabaseAccessObject.class);
 
-    public void dropKey(Connection conn, String tableName, String key, boolean 
isForeignKey) {
-        PreparedStatement pstmt = null;
-        try {
-            if (isForeignKey) {
-                pstmt = conn.prepareStatement("ALTER TABLE " + tableName + " 
DROP FOREIGN KEY " + key);
-            } else {
-                pstmt = conn.prepareStatement("ALTER TABLE " + tableName + " 
DROP KEY " + key);
-            }
+    public void dropKey(Connection conn, String tableName, String key, boolean 
isForeignKey)
+    {
+        String alter_sql_str;
+        if (isForeignKey) {
+            alter_sql_str = "ALTER TABLE " + tableName + " DROP FOREIGN KEY " 
+ key;
+        } else {
+            alter_sql_str = "ALTER TABLE " + tableName + " DROP KEY " + key;
+        }
+        try(PreparedStatement pstmt = conn.prepareStatement(alter_sql_str);)
+        {
             pstmt.executeUpdate();
             s_logger.debug("Key " + key + " is dropped successfully from the 
table " + tableName);
         } catch (SQLException e) {
-            s_logger.warn("Ignored SQL Exception when trying to drop " + 
(isForeignKey ? "foreign " : "") + "key " + key + " on table " + tableName, e);
-        } finally {
-            closePreparedStatement(pstmt, "Ignored SQL Exception when trying 
to close PreparedStatement atfer dropping " + (isForeignKey ? "foreign " : "") 
+ "key " + key
-                    + " on table " + tableName);
+            s_logger.warn("Ignored SQL Exception when trying to drop " + 
(isForeignKey ? "foreign " : "") + "key " + key + " on table "  + tableName, e);
+
         }
     }
 
     public void dropPrimaryKey(Connection conn, String tableName) {
-        PreparedStatement pstmt = null;
-        try {
-            pstmt = conn.prepareStatement("ALTER TABLE " + tableName + " DROP 
PRIMARY KEY ");
+        try(PreparedStatement pstmt = conn.prepareStatement("ALTER TABLE " + 
tableName + " DROP PRIMARY KEY ");) {
             pstmt.executeUpdate();
             s_logger.debug("Primary key is dropped successfully from the table 
" + tableName);
         } catch (SQLException e) {
             s_logger.warn("Ignored SQL Exception when trying to drop primary 
key on table " + tableName, e);
-        } finally {
-            closePreparedStatement(pstmt, "Ignored SQL Exception when trying 
to close PreparedStatement atfer dropping primary key on table " + tableName);
         }
     }
 
     public void dropColumn(Connection conn, String tableName, String 
columnName) {
-        PreparedStatement pstmt = null;
-        try {
-            pstmt = conn.prepareStatement("ALTER TABLE " + tableName + " DROP 
COLUMN " + columnName);
+        try (PreparedStatement pstmt = conn.prepareStatement("ALTER TABLE " + 
tableName + " DROP COLUMN " + columnName);){
             pstmt.executeUpdate();
             s_logger.debug("Column " + columnName + " is dropped successfully 
from the table " + tableName);
         } catch (SQLException e) {
-            s_logger.warn("Unable to drop columns using query " + pstmt + " 
due to exception", e);
-        } finally {
-            closePreparedStatement(pstmt, "Ignored SQL Exception when trying 
to close PreparedStatement after dropping column " + columnName + " on table " 
+ tableName);
+            s_logger.warn("Unable to drop column " + columnName + " due to 
exception", e);
         }
     }
 
     public boolean columnExists(Connection conn, String tableName, String 
columnName) {
         boolean columnExists = false;
-        PreparedStatement pstmt = null;
-        try {
-            pstmt = conn.prepareStatement("SELECT " + columnName + " FROM " + 
tableName);
+        try (PreparedStatement pstmt = conn.prepareStatement("SELECT " + 
columnName + " FROM " + tableName);){
             pstmt.executeQuery();
             columnExists = true;
         } catch (SQLException e) {
             s_logger.warn("Field " + columnName + " doesn't exist in " + 
tableName, e);
-        } finally {
-            closePreparedStatement(pstmt, "Ignored SQL Exception when trying 
to close PreparedStatement atfer checking if column " + columnName + " existed 
on table " + tableName);
         }
-
         return columnExists;
     }
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b2283d7a/framework/db/src/com/cloud/utils/crypt/EncryptionSecretKeyChanger.java
----------------------------------------------------------------------
diff --git 
a/framework/db/src/com/cloud/utils/crypt/EncryptionSecretKeyChanger.java 
b/framework/db/src/com/cloud/utils/crypt/EncryptionSecretKeyChanger.java
index 4cee081..ae103ff 100755
--- a/framework/db/src/com/cloud/utils/crypt/EncryptionSecretKeyChanger.java
+++ b/framework/db/src/com/cloud/utils/crypt/EncryptionSecretKeyChanger.java
@@ -105,8 +105,8 @@ public class EncryptionSecretKeyChanger {
         PropertiesConfiguration backupDBProps = null;
 
         System.out.println("Parsing db.properties file");
-        try {
-            dbProps.load(new FileInputStream(dbPropsFile));
+        try(FileInputStream db_prop_fstream = new 
FileInputStream(dbPropsFile);) {
+            dbProps.load(db_prop_fstream);
             backupDBProps = new PropertiesConfiguration(dbPropsFile);
         } catch (FileNotFoundException e) {
             System.out.println("db.properties file not found while reading DB 
secret key" + e.getMessage());
@@ -142,11 +142,10 @@ public class EncryptionSecretKeyChanger {
                 //db.properties updated successfully
                 if (encryptionType.equals("file")) {
                     //update key file with new MS key
-                    try {
-                        FileWriter fwriter = new FileWriter(keyFile);
-                        BufferedWriter bwriter = new BufferedWriter(fwriter);
+                    try (FileWriter fwriter = new FileWriter(keyFile);
+                         BufferedWriter bwriter = new BufferedWriter(fwriter);)
+                    {
                         bwriter.write(newMSKey);
-                        bwriter.close();
                     } catch (IOException e) {
                         System.out.println("Failed to write new secret to 
file. Please update the file manually");
                     }
@@ -180,11 +179,10 @@ public class EncryptionSecretKeyChanger {
             }
             if (encryptionType.equals("file")) {
                 //revert secret key in file
-                try {
-                    FileWriter fwriter = new FileWriter(keyFile);
-                    BufferedWriter bwriter = new BufferedWriter(fwriter);
+                try (FileWriter fwriter = new FileWriter(keyFile);
+                     BufferedWriter bwriter = new BufferedWriter(fwriter);)
+                {
                     bwriter.write(oldMSKey);
-                    bwriter.close();
                 } catch (IOException e) {
                     System.out.println("Failed to revert to old secret to 
file. Please update the file manually");
                 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b2283d7a/framework/db/src/com/cloud/utils/db/ScriptRunner.java
----------------------------------------------------------------------
diff --git a/framework/db/src/com/cloud/utils/db/ScriptRunner.java 
b/framework/db/src/com/cloud/utils/db/ScriptRunner.java
index 932b37b..45494b9 100644
--- a/framework/db/src/com/cloud/utils/db/ScriptRunner.java
+++ b/framework/db/src/com/cloud/utils/db/ScriptRunner.java
@@ -131,52 +131,44 @@ public class ScriptRunner {
                 } else if (!fullLineDelimiter && 
trimmedLine.endsWith(getDelimiter()) || fullLineDelimiter && 
trimmedLine.equals(getDelimiter())) {
                     command.append(line.substring(0, 
line.lastIndexOf(getDelimiter())));
                     command.append(" ");
-                    Statement statement = conn.createStatement();
-
-                    println(command);
-
-                    boolean hasResults = false;
-                    if (stopOnError) {
-                        hasResults = statement.execute(command.toString());
-                    } else {
-                        try {
-                            statement.execute(command.toString());
-                        } catch (SQLException e) {
-                            e.fillInStackTrace();
-                            printlnError("Error executing: " + command);
-                            printlnError(e);
+                    try (Statement statement = conn.createStatement();) {
+                        println(command);
+                        boolean hasResults = false;
+                        if (stopOnError) {
+                            hasResults = statement.execute(command.toString());
+                        } else {
+                            try {
+                                statement.execute(command.toString());
+                            } catch (SQLException e) {
+                                e.fillInStackTrace();
+                                printlnError("Error executing: " + command);
+                                printlnError(e);
+                            }
                         }
-                    }
-
-                    if (autoCommit && !conn.getAutoCommit()) {
-                        conn.commit();
-                    }
-
-                    ResultSet rs = statement.getResultSet();
-                    if (hasResults && rs != null) {
-                        ResultSetMetaData md = rs.getMetaData();
-                        int cols = md.getColumnCount();
-                        for (int i = 0; i < cols; i++) {
-                            String name = md.getColumnLabel(i);
-                            print(name + "\t");
+                        if (autoCommit && !conn.getAutoCommit()) {
+                            conn.commit();
                         }
-                        println("");
-                        while (rs.next()) {
-                            for (int i = 1; i <= cols; i++) {
-                                String value = rs.getString(i);
-                                print(value + "\t");
+                        try(ResultSet rs = statement.getResultSet();) {
+                            if (hasResults && rs != null) {
+                                ResultSetMetaData md = rs.getMetaData();
+                                int cols = md.getColumnCount();
+                                for (int i = 0; i < cols; i++) {
+                                    String name = md.getColumnLabel(i);
+                                    print(name + "\t");
+                                }
+                                println("");
+                                while (rs.next()) {
+                                    for (int i = 1; i <= cols; i++) {
+                                        String value = rs.getString(i);
+                                        print(value + "\t");
+                                    }
+                                    println("");
+                                }
                             }
-                            println("");
+                            command = null;
+                            Thread.yield();
                         }
                     }
-
-                    command = null;
-                    try {
-                        statement.close();
-                    } catch (Exception e) {
-                        // Ignore to workaround a bug in Jakarta DBCP
-                    }
-                    Thread.yield();
                 } else {
                     int idx = line.indexOf("--");
                     if (idx != -1)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b2283d7a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
 
b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
index 321f06f..6c12ecb 100644
--- 
a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
+++ 
b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
@@ -111,6 +111,7 @@ import 
com.cloud.agent.api.storage.PrimaryStorageDownloadCommand;
 import com.cloud.api.commands.CleanupSimulatorMockCmd;
 import com.cloud.api.commands.ConfigureSimulatorCmd;
 import com.cloud.api.commands.QuerySimulatorMockCmd;
+import com.cloud.agent.api.SecStorageFirewallCfgCommand;
 import com.cloud.resource.SimulatorStorageProcessor;
 import com.cloud.simulator.MockConfigurationVO;
 import com.cloud.simulator.MockHost;
@@ -410,9 +411,8 @@ public class SimulatorManagerImpl extends ManagerBase 
implements SimulatorManage
                     answer = 
_mockNetworkMgr.setupPVLAN((PvlanSetupCommand)cmd);
                 } else if (cmd instanceof StorageSubSystemCommand) {
                     answer = 
this.storageHandler.handleStorageCommands((StorageSubSystemCommand)cmd);
-                } else if (cmd instanceof GetRouterAlertsCommand) {
-                    answer = new Answer(cmd);
-                } else if (cmd instanceof VpnUsersCfgCommand || cmd instanceof 
RemoteAccessVpnCfgCommand || cmd instanceof SetMonitorServiceCommand || cmd 
instanceof AggregationControlCommand) {
+                } else if (cmd instanceof GetRouterAlertsCommand || cmd 
instanceof VpnUsersCfgCommand || cmd instanceof RemoteAccessVpnCfgCommand || 
cmd instanceof SetMonitorServiceCommand || cmd instanceof 
AggregationControlCommand ||
+                        cmd instanceof SecStorageFirewallCfgCommand) {
                     answer = new Answer(cmd);
                 } else {
                     s_logger.error("Simulator does not implement command of 
type " + cmd.toString());

Reply via email to