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
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
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
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
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
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
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