Merge "Fix NetworkRoute Vulnerabilities"
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / beans / NetworkRoute.java
index f50043a..bad6f53 100644 (file)
@@ -29,6 +29,7 @@ import java.sql.PreparedStatement;
 import java.sql.ResultSet;\r
 import java.sql.SQLException;\r
 import java.sql.Statement;\r
+import java.util.Objects;\r
 import java.util.SortedSet;\r
 import java.util.TreeSet;\r
 \r
@@ -60,19 +61,19 @@ public class NetworkRoute extends NodeClass implements Comparable<NetworkRoute>
             DB db = new DB();\r
             @SuppressWarnings("resource")\r
             Connection conn = db.getConnection();\r
-            Statement stmt = conn.createStatement();\r
-            ResultSet rs = stmt.executeQuery("select FROMNODE, TONODE, VIANODE from NETWORK_ROUTES");\r
-            while (rs.next()) {\r
-                int fromnode = rs.getInt("FROMNODE");\r
-                int tonode = rs.getInt("TONODE");\r
-                int vianode = rs.getInt("VIANODE");\r
-                set.add(new NetworkRoute(fromnode, tonode, vianode));\r
+            try(Statement stmt = conn.createStatement()) {\r
+                try(ResultSet rs = stmt.executeQuery("select FROMNODE, TONODE, VIANODE from NETWORK_ROUTES")) {\r
+                    while (rs.next()) {\r
+                        int fromnode = rs.getInt("FROMNODE");\r
+                        int tonode = rs.getInt("TONODE");\r
+                        int vianode = rs.getInt("VIANODE");\r
+                        set.add(new NetworkRoute(fromnode, tonode, vianode));\r
+                    }\r
+                }\r
             }\r
-            rs.close();\r
-            stmt.close();\r
             db.release(conn);\r
         } catch (SQLException e) {\r
-            e.printStackTrace();\r
+            intlogger.error("SQLException " + e.getMessage());\r
         }\r
         return set;\r
     }\r
@@ -126,12 +127,14 @@ public class NetworkRoute extends NodeClass implements Comparable<NetworkRoute>
         } catch (SQLException e) {\r
             rv = false;\r
             intlogger.warn("PROV0007 doDelete: " + e.getMessage());\r
-            e.printStackTrace();\r
+            intlogger.error("SQLException " + e.getMessage());\r
         } finally {\r
             try {\r
-                ps.close();\r
+                if(ps!=null) {\r
+                    ps.close();\r
+                }\r
             } catch (SQLException e) {\r
-                e.printStackTrace();\r
+                intlogger.error("SQLException " + e.getMessage());\r
             }\r
         }\r
         return rv;\r
@@ -154,12 +157,14 @@ public class NetworkRoute extends NodeClass implements Comparable<NetworkRoute>
                 rv = true;\r
             } catch (SQLException e) {\r
                 intlogger.warn("PROV0005 doInsert: " + e.getMessage());\r
-                e.printStackTrace();\r
+                intlogger.error("SQLException " + e.getMessage());\r
             } finally {\r
                 try {\r
-                    ps.close();\r
+                    if(ps!=null) {\r
+                        ps.close();\r
+                    }\r
                 } catch (SQLException e) {\r
-                    e.printStackTrace();\r
+                    intlogger.error("SQLException " + e.getMessage());\r
                 }\r
             }\r
         }\r
@@ -180,12 +185,14 @@ public class NetworkRoute extends NodeClass implements Comparable<NetworkRoute>
         } catch (SQLException e) {\r
             rv = false;\r
             intlogger.warn("PROV0006 doUpdate: " + e.getMessage());\r
-            e.printStackTrace();\r
+            intlogger.error("SQLException " + e.getMessage());\r
         } finally {\r
             try {\r
-                ps.close();\r
+                if(ps!=null) {\r
+                    ps.close();\r
+                }\r
             } catch (SQLException e) {\r
-                e.printStackTrace();\r
+                intlogger.error("SQLException " + e.getMessage());\r
             }\r
         }\r
         return rv;\r
@@ -213,6 +220,11 @@ public class NetworkRoute extends NodeClass implements Comparable<NetworkRoute>
         return (fromnode == on.fromnode) && (tonode == on.tonode) && (vianode == on.vianode);\r
     }\r
 \r
+    @Override\r
+    public int hashCode() {\r
+        return Objects.hash(fromnode, tonode, vianode);\r
+    }\r
+\r
     @Override\r
     public int compareTo(NetworkRoute o) {\r
         if (this.fromnode == o.fromnode) {\r