This is an automated email from the ASF dual-hosted git repository.

hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hop.git


The following commit(s) were added to refs/heads/master by this push:
     new 276cac76d9 Fixing Sonar Blockers
     new ef6708dc45 Merge pull request #1621 from rohitvvv/master
276cac76d9 is described below

commit 276cac76d92b26dd62271547b0fcb40adca0621a
Author: Rohit Vaidya <[email protected]>
AuthorDate: Sat Aug 6 00:27:55 2022 -0700

    Fixing Sonar Blockers
    
    Adding try resource to sonar reported files.
---
 .../actions/snowflake/WarehouseManagerDialog.java  |  27 ++--
 .../snowflake/bulkloader/SnowflakeBulkLoader.java  | 158 +++++++++++----------
 .../bulkloader/SnowflakeBulkLoaderDialog.java      |  25 ++--
 3 files changed, 111 insertions(+), 99 deletions(-)

diff --git 
a/plugins/actions/snowflake/src/main/java/org/apache/hop/workflow/actions/snowflake/WarehouseManagerDialog.java
 
b/plugins/actions/snowflake/src/main/java/org/apache/hop/workflow/actions/snowflake/WarehouseManagerDialog.java
index b79f4d157b..1cfb2ea542 100644
--- 
a/plugins/actions/snowflake/src/main/java/org/apache/hop/workflow/actions/snowflake/WarehouseManagerDialog.java
+++ 
b/plugins/actions/snowflake/src/main/java/org/apache/hop/workflow/actions/snowflake/WarehouseManagerDialog.java
@@ -233,21 +233,22 @@ public class WarehouseManagerDialog extends ActionDialog 
implements IActionDialo
               try {
                 db = new Database(loggingObject, variables, databaseMeta);
                 db.connect();
-                ResultSet resultSet =
-                    db.openQuery("show warehouses;", null, null, 
ResultSet.FETCH_FORWARD, false);
-                IRowMeta rowMeta = db.getReturnRowMeta();
-                Object[] row = db.getRow(resultSet);
-                int nameField = rowMeta.indexOfValue("NAME");
-                if (nameField >= 0) {
-                  while (row != null) {
-                    String name = rowMeta.getString(row, nameField);
-                    wWarehouseName.add(name);
-                    row = db.getRow(resultSet);
+                try (ResultSet resultSet =
+                    db.openQuery("show warehouses;", null, null, 
ResultSet.FETCH_FORWARD, false)) {
+                  IRowMeta rowMeta = db.getReturnRowMeta();
+                  Object[] row = db.getRow(resultSet);
+                  int nameField = rowMeta.indexOfValue("NAME");
+                  if (nameField >= 0) {
+                    while (row != null) {
+                      String name = rowMeta.getString(row, nameField);
+                      wWarehouseName.add(name);
+                      row = db.getRow(resultSet);
+                    }
+                  } else {
+                    throw new HopException("Unable to find warehouse name 
field in result");
                   }
-                } else {
-                  throw new HopException("Unable to find warehouse name field 
in result");
+                  db.closeQuery(resultSet);
                 }
-                db.closeQuery(resultSet);
                 if (warehouseName != null) {
                   wWarehouseName.setText(warehouseName);
                 }
diff --git 
a/plugins/transforms/snowflake/src/main/java/org/apache/hop/pipeline/transforms/snowflake/bulkloader/SnowflakeBulkLoader.java
 
b/plugins/transforms/snowflake/src/main/java/org/apache/hop/pipeline/transforms/snowflake/bulkloader/SnowflakeBulkLoader.java
index 2ca70dfee7..6ea1475a94 100644
--- 
a/plugins/transforms/snowflake/src/main/java/org/apache/hop/pipeline/transforms/snowflake/bulkloader/SnowflakeBulkLoader.java
+++ 
b/plugins/transforms/snowflake/src/main/java/org/apache/hop/pipeline/transforms/snowflake/bulkloader/SnowflakeBulkLoader.java
@@ -17,13 +17,26 @@
 
 package org.apache.hop.pipeline.transforms.snowflake.bulkloader;
 
+import java.io.BufferedOutputStream;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.hop.core.Const;
 import org.apache.hop.core.compress.CompressionProviderFactory;
 import org.apache.hop.core.compress.ICompressionProvider;
 import org.apache.hop.core.database.Database;
-import org.apache.hop.core.exception.*;
+import org.apache.hop.core.exception.HopDatabaseException;
+import org.apache.hop.core.exception.HopException;
+import org.apache.hop.core.exception.HopFileException;
+import org.apache.hop.core.exception.HopTransformException;
+import org.apache.hop.core.exception.HopValueException;
 import org.apache.hop.core.row.IRowMeta;
 import org.apache.hop.core.row.IValueMeta;
 import org.apache.hop.core.row.value.ValueMetaBigNumber;
@@ -37,14 +50,6 @@ import org.apache.hop.pipeline.PipelineMeta;
 import org.apache.hop.pipeline.transform.BaseTransform;
 import org.apache.hop.pipeline.transform.TransformMeta;
 
-import java.io.BufferedOutputStream;
-import java.io.OutputStream;
-import java.nio.charset.StandardCharsets;
-import java.sql.ResultSet;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
 /** Bulk loads data to Snowflake */
 @SuppressWarnings({"UnusedAssignment", "ConstantConditions"})
 public class SnowflakeBulkLoader
@@ -185,27 +190,28 @@ public class SnowflakeBulkLoader
     sql += resolve(meta.getTargetTable());
     logDetailed("Executing SQL " + sql);
     try {
-      ResultSet resultSet = data.db.openQuery(sql, null, null, 
ResultSet.FETCH_FORWARD, false);
+      try (ResultSet resultSet = data.db.openQuery(sql, null, null, 
ResultSet.FETCH_FORWARD, false)) {
 
-      IRowMeta rowMeta = data.db.getReturnRowMeta();
-      int nameField = rowMeta.indexOfValue("NAME");
-      int typeField = rowMeta.indexOfValue("TYPE");
-      if (nameField < 0 || typeField < 0) {
-        throw new HopException("Unable to get database fields");
-      }
+        IRowMeta rowMeta = data.db.getReturnRowMeta();
+        int nameField = rowMeta.indexOfValue("NAME");
+        int typeField = rowMeta.indexOfValue("TYPE");
+        if (nameField < 0 || typeField < 0) {
+          throw new HopException("Unable to get database fields");
+        }
 
-      Object[] row = data.db.getRow(resultSet);
-      if (row == null) {
-        throw new HopException("No fields found in table");
-      }
-      while (row != null) {
-        String[] field = new String[2];
-        field[0] = rowMeta.getString(row, nameField).toUpperCase();
-        field[1] = rowMeta.getString(row, typeField);
-        data.dbFields.add(field);
-        row = data.db.getRow(resultSet);
+        Object[] row = data.db.getRow(resultSet);
+        if (row == null) {
+          throw new HopException("No fields found in table");
+        }
+        while (row != null) {
+          String[] field = new String[2];
+          field[0] = rowMeta.getString(row, nameField).toUpperCase();
+          field[1] = rowMeta.getString(row, typeField);
+          data.dbFields.add(field);
+          row = data.db.getRow(resultSet);
+        }
+        data.db.closeQuery(resultSet);
       }
-      data.db.closeQuery(resultSet);
     } catch (Exception ex) {
       throw new HopException("Error getting database fields", ex);
     }
@@ -235,61 +241,65 @@ public class SnowflakeBulkLoader
             + ";";
 
     logDebug("Executing SQL " + sql);
-    ResultSet putResultSet = data.db.openQuery(sql, null, null, 
ResultSet.FETCH_FORWARD, false);
-    IRowMeta putRowMeta = data.db.getReturnRowMeta();
-    Object[] putRow = data.db.getRow(putResultSet);
-    logDebug("=========================Put File 
Results======================");
-    int fileNum = 0;
-    while (putRow != null) {
-      logDebug("------------------------ File " + fileNum + 
"--------------------------");
-      for (int i = 0; i < putRowMeta.getFieldNames().length; i++) {
-        logDebug(putRowMeta.getFieldNames()[i] + " = " + 
putRowMeta.getString(putRow, i));
-        if (putRowMeta.getFieldNames()[i].equalsIgnoreCase("status")
-            && putRowMeta.getString(putRow, i).equalsIgnoreCase("ERROR")) {
-          throw new HopDatabaseException(
-              "Error putting file to Snowflake stage \n"
-                  + putRowMeta.getString(putRow, "message", ""));
-        }
-      }
-      fileNum++;
+    try (ResultSet putResultSet = data.db.openQuery(sql, null, null, 
ResultSet.FETCH_FORWARD, false)) {
+        IRowMeta putRowMeta = data.db.getReturnRowMeta();
+        Object[] putRow = data.db.getRow(putResultSet);
+        logDebug("=========================Put File 
Results======================");
+        int fileNum = 0;
+        while (putRow != null) {
+          logDebug("------------------------ File " + fileNum + 
"--------------------------");
+          for (int i = 0; i < putRowMeta.getFieldNames().length; i++) {
+            logDebug(putRowMeta.getFieldNames()[i] + " = " + 
putRowMeta.getString(putRow, i));
+            if (putRowMeta.getFieldNames()[i].equalsIgnoreCase("status")
+                && putRowMeta.getString(putRow, i).equalsIgnoreCase("ERROR")) {
+              throw new HopDatabaseException(
+                  "Error putting file to Snowflake stage \n"
+                      + putRowMeta.getString(putRow, "message", ""));
+            }
+          }
+          fileNum++;
 
-      putRow = data.db.getRow(putResultSet);
+          putRow = data.db.getRow(putResultSet);
+      }
+      data.db.closeQuery(putResultSet);
+    } catch(SQLException exception) {
+      throw new HopDatabaseException(exception);
     }
-    data.db.closeQuery(putResultSet);
-
     String copySQL = meta.getCopyStatement(this, 
data.getPreviouslyOpenedFiles());
     logDebug("Executing SQL " + copySQL);
-    ResultSet resultSet = data.db.openQuery(copySQL, null, null, 
ResultSet.FETCH_FORWARD, false);
-    IRowMeta rowMeta = data.db.getReturnRowMeta();
-
-    Object[] row = data.db.getRow(resultSet);
-    int rowsLoaded = 0;
-    int rowsLoadedField = rowMeta.indexOfValue("rows_loaded");
-    int rowsError = 0;
-    int errorField = rowMeta.indexOfValue("errors_seen");
-    logBasic("====================== Bulk Load Results======================");
-    int rowNum = 1;
-    while (row != null) {
-      logBasic("---------------------- Row " + rowNum + " 
----------------------");
-      for (int i = 0; i < rowMeta.getFieldNames().length; i++) {
-        logBasic(rowMeta.getFieldNames()[i] + " = " + rowMeta.getString(row, 
i));
-      }
+    try (ResultSet resultSet = data.db.openQuery(copySQL, null, null, 
ResultSet.FETCH_FORWARD, false)) {
+      IRowMeta rowMeta = data.db.getReturnRowMeta();
 
-      if (rowsLoadedField >= 0) {
-        rowsLoaded += rowMeta.getInteger(row, rowsLoadedField);
-      }
+      Object[] row = data.db.getRow(resultSet);
+      int rowsLoaded = 0;
+      int rowsLoadedField = rowMeta.indexOfValue("rows_loaded");
+      int rowsError = 0;
+      int errorField = rowMeta.indexOfValue("errors_seen");
+      logBasic("====================== Bulk Load 
Results======================");
+      int rowNum = 1;
+      while (row != null) {
+        logBasic("---------------------- Row " + rowNum + " 
----------------------");
+        for (int i = 0; i < rowMeta.getFieldNames().length; i++) {
+          logBasic(rowMeta.getFieldNames()[i] + " = " + rowMeta.getString(row, 
i));
+        }
 
-      if (errorField >= 0) {
-        rowsError += rowMeta.getInteger(row, errorField);
-      }
+        if (rowsLoadedField >= 0) {
+          rowsLoaded += rowMeta.getInteger(row, rowsLoadedField);
+        }
 
-      rowNum++;
-      row = data.db.getRow(resultSet);
-    }
-    data.db.closeQuery(resultSet);
-    setLinesOutput(rowsLoaded);
-    setLinesRejected(rowsError);
+        if (errorField >= 0) {
+          rowsError += rowMeta.getInteger(row, errorField);
+        }
 
+        rowNum++;
+        row = data.db.getRow(resultSet);
+      }
+      data.db.closeQuery(resultSet);
+      setLinesOutput(rowsLoaded);
+      setLinesRejected(rowsError);
+    } catch(SQLException exception) {
+      throw new HopDatabaseException(exception);
+    }
     data.db.execStatement("commit");
   }
 
diff --git 
a/plugins/transforms/snowflake/src/main/java/org/apache/hop/pipeline/transforms/snowflake/bulkloader/SnowflakeBulkLoaderDialog.java
 
b/plugins/transforms/snowflake/src/main/java/org/apache/hop/pipeline/transforms/snowflake/bulkloader/SnowflakeBulkLoaderDialog.java
index 1f1fab6e85..1518b78e0e 100644
--- 
a/plugins/transforms/snowflake/src/main/java/org/apache/hop/pipeline/transforms/snowflake/bulkloader/SnowflakeBulkLoaderDialog.java
+++ 
b/plugins/transforms/snowflake/src/main/java/org/apache/hop/pipeline/transforms/snowflake/bulkloader/SnowflakeBulkLoaderDialog.java
@@ -469,20 +469,21 @@ public class SnowflakeBulkLoaderDialog extends 
BaseTransformDialog implements IT
                   sql += " in " + variables.resolve(wSchema.getText());
                 }
 
-                ResultSet resultSet = db.openQuery(sql, null, null, 
ResultSet.FETCH_FORWARD, false);
-                IRowMeta rowMeta = db.getReturnRowMeta();
-                Object[] row = db.getRow(resultSet);
-                int nameField = rowMeta.indexOfValue("NAME");
-                if (nameField >= 0) {
-                  while (row != null) {
-                    String stageName = rowMeta.getString(row, nameField);
-                    wStageName.add(stageName);
-                    row = db.getRow(resultSet);
+                try (ResultSet resultSet = db.openQuery(sql, null, null, 
ResultSet.FETCH_FORWARD, false)) {
+                  IRowMeta rowMeta = db.getReturnRowMeta();
+                  Object[] row = db.getRow(resultSet);
+                  int nameField = rowMeta.indexOfValue("NAME");
+                  if (nameField >= 0) {
+                    while (row != null) {
+                      String stageName = rowMeta.getString(row, nameField);
+                      wStageName.add(stageName);
+                      row = db.getRow(resultSet);
+                    }
+                  } else {
+                    throw new HopException("Unable to find stage name field in 
result");
                   }
-                } else {
-                  throw new HopException("Unable to find stage name field in 
result");
+                  db.closeQuery(resultSet);
                 }
-                db.closeQuery(resultSet);
                 if (stageNameText != null) {
                   wStageName.setText(stageNameText);
                 }

Reply via email to