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
* @version $Id: NetworkRoute.java,v 1.2 2013/12/16 20:30:23 eby Exp $\r
*/\r
public class NetworkRoute extends NodeClass implements Comparable<NetworkRoute> {\r
+\r
private static Logger intlogger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.internal");\r
private final int fromnode;\r
private final int tonode;\r
private final int vianode;\r
\r
/**\r
- * Get a set of all Network Routes in the DB. The set is sorted according to the natural sorting order\r
- * of the routes (based on the from and to node names in each route).\r
+ * Get a set of all Network Routes in the DB. The set is sorted according to the natural sorting order of the\r
+ * routes (based on the from and to node names in each route).\r
*\r
* @return the sorted set\r
*/\r
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
} catch (SQLException e) {\r
rv = false;\r
intlogger.warn("PROV0007 doDelete: " + e.getMessage());\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
+ intlogger.error("SQLException " + e.getMessage());\r
}\r
}\r
return rv;\r
rv = true;\r
} catch (SQLException e) {\r
intlogger.warn("PROV0005 doInsert: " + e.getMessage());\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
+ intlogger.error("SQLException " + e.getMessage());\r
}\r
}\r
}\r
} catch (SQLException e) {\r
rv = false;\r
intlogger.warn("PROV0006 doUpdate: " + e.getMessage());\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
+ intlogger.error("SQLException " + e.getMessage());\r
}\r
}\r
return rv;\r
\r
@Override\r
public boolean equals(Object obj) {\r
- if (!(obj instanceof NetworkRoute))\r
+ if (!(obj instanceof NetworkRoute)) {\r
return false;\r
+ }\r
NetworkRoute on = (NetworkRoute) obj;\r
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
- if (this.tonode == o.tonode)\r
+ if (this.tonode == o.tonode) {\r
return this.vianode - o.vianode;\r
+ }\r
return this.tonode - o.tonode;\r
}\r
return this.fromnode - o.fromnode;\r