Fixed Sonar Issues in EgressRoute.java
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / beans / EgressRoute.java
index fa23fa1..c6788e0 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
@@ -59,15 +60,16 @@ public class EgressRoute extends NodeClass implements Comparable<EgressRoute> {
             DB db = new DB();\r
             @SuppressWarnings("resource")\r
             Connection conn = db.getConnection();\r
-            Statement stmt = conn.createStatement();\r
-            ResultSet rs = stmt.executeQuery("select SUBID, NODEID from EGRESS_ROUTES");\r
-            while (rs.next()) {\r
-                int subid = rs.getInt("SUBID");\r
-                int nodeid = rs.getInt("NODEID");\r
-                set.add(new EgressRoute(subid, nodeid));\r
-            }\r
-            rs.close();\r
-            stmt.close();\r
+           try( Statement stmt = conn.createStatement()) {\r
+               try(ResultSet rs = stmt.executeQuery("select SUBID, NODEID from EGRESS_ROUTES")) {\r
+                   while (rs.next()) {\r
+                       int subid = rs.getInt("SUBID");\r
+                       int nodeid = rs.getInt("NODEID");\r
+                       set.add(new EgressRoute(subid, nodeid));\r
+                   }\r
+               }\r
+           }\r
+\r
             db.release(conn);\r
         } catch (SQLException e) {\r
             e.printStackTrace();\r
@@ -91,19 +93,21 @@ public class EgressRoute extends NodeClass implements Comparable<EgressRoute> {
             String sql = "select NODEID from EGRESS_ROUTES where SUBID = ?";\r
             ps = conn.prepareStatement(sql);\r
             ps.setInt(1, sub);\r
-            ResultSet rs = ps.executeQuery();\r
-            if (rs.next()) {\r
-                int node = rs.getInt("NODEID");\r
-                v = new EgressRoute(sub, node);\r
+            try(ResultSet rs = ps.executeQuery()) {\r
+                if (rs.next()) {\r
+                    int node = rs.getInt("NODEID");\r
+                    v = new EgressRoute(sub, node);\r
+                }\r
             }\r
-            rs.close();\r
             ps.close();\r
             db.release(conn);\r
         } catch (SQLException e) {\r
             e.printStackTrace();\r
         } finally {\r
             try {\r
-                ps.close();\r
+                if(ps!=null) {\r
+                    ps.close();\r
+                }\r
             } catch (SQLException e) {\r
                 e.printStackTrace();\r
             }\r
@@ -139,7 +143,9 @@ public class EgressRoute extends NodeClass implements Comparable<EgressRoute> {
             e.printStackTrace();\r
         } finally {\r
             try {\r
-                ps.close();\r
+                if(ps!=null) {\r
+                    ps.close();\r
+                }\r
             } catch (SQLException e) {\r
                 e.printStackTrace();\r
             }\r
@@ -165,7 +171,9 @@ public class EgressRoute extends NodeClass implements Comparable<EgressRoute> {
             e.printStackTrace();\r
         } finally {\r
             try {\r
-                ps.close();\r
+                if(ps!=null) {\r
+                    ps.close();\r
+                }\r
             } catch (SQLException e) {\r
                 e.printStackTrace();\r
             }\r
@@ -189,7 +197,9 @@ public class EgressRoute extends NodeClass implements Comparable<EgressRoute> {
             e.printStackTrace();\r
         } finally {\r
             try {\r
-                ps.close();\r
+                if(ps!=null) {\r
+                    ps.close();\r
+                }\r
             } catch (SQLException e) {\r
                 e.printStackTrace();\r
             }\r
@@ -226,4 +236,9 @@ public class EgressRoute extends NodeClass implements Comparable<EgressRoute> {
     public String toString() {\r
         return String.format("EGRESS: sub=%d, node=%d", subid, nodeid);\r
     }\r
+\r
+    @Override\r
+    public int hashCode() {\r
+        return Objects.hash(subid, nodeid);\r
+    }\r
 }\r