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: EgressRoute.java,v 1.3 2013/12/16 20:30:23 eby Exp $\r
*/\r
public class EgressRoute extends NodeClass implements Comparable<EgressRoute> {\r
+\r
private static Logger intlogger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.internal");\r
private final int subid;\r
private final int nodeid;\r
\r
/**\r
- * Get a set of all Egress Routes in the DB. The set is sorted according to the natural sorting order\r
- * of the routes (based on the subscription ID in each route).\r
+ * Get a set of all Egress Routes in the DB. The set is sorted according to the natural sorting order of the routes\r
+ * (based on the subscription ID 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 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
+ 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
- rs.close();\r
- stmt.close();\r
+\r
db.release(conn);\r
} catch (SQLException e) {\r
- e.printStackTrace();\r
+ intlogger.error("SQLException " + e.getMessage());\r
}\r
return set;\r
}\r
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
+ 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 v;\r
} 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
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
return rv;\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 EgressRoute))\r
+ if (!(obj instanceof EgressRoute)) {\r
return false;\r
+ }\r
EgressRoute on = (EgressRoute) obj;\r
return (subid == on.subid) && (nodeid == on.nodeid);\r
}\r
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