import java.sql.PreparedStatement;\r
import java.sql.ResultSet;\r
import java.sql.SQLException;\r
-import java.sql.Statement;\r
import java.util.Collection;\r
import java.util.Set;\r
import java.util.SortedSet;\r
import org.apache.commons.codec.binary.Base64;\r
import org.json.JSONArray;\r
import org.json.JSONObject;\r
-import org.onap.dmaap.datarouter.provisioning.utils.DB;\r
+import org.onap.dmaap.datarouter.provisioning.utils.ProvDbUtils;\r
\r
/**\r
* The representation of one route in the Ingress Route Table.\r
*/\r
public static Set<IngressRoute> getIngressRoutesForSeq(int seq) {\r
return getAllIngressRoutesForSQL(\r
- "select SEQUENCE, FEEDID, USERID, SUBNET, NODESET from INGRESS_ROUTES where SEQUENCE = " + seq);\r
+ "select SEQUENCE, FEEDID, USERID, SUBNET, NODESET from INGRESS_ROUTES where SEQUENCE = " + seq);\r
}\r
\r
private static SortedSet<IngressRoute> getAllIngressRoutesForSQL(String sql) {\r
SortedSet<IngressRoute> set = new TreeSet<>();\r
- try {\r
- DB db = new DB();\r
- @SuppressWarnings("resource")\r
- Connection conn = db.getConnection();\r
- try (Statement stmt = conn.createStatement()) {\r
- try (ResultSet rs = stmt.executeQuery(sql)) {\r
- addIngressRouteToSet(set, rs);\r
- }\r
- }\r
- db.release(conn);\r
+ try (Connection conn = ProvDbUtils.getInstance().getConnection();\r
+ PreparedStatement ps = conn.prepareStatement(sql);\r
+ ResultSet rs = ps.executeQuery()) {\r
+ addIngressRouteToSet(set, rs);\r
} catch (SQLException e) {\r
intlogger.error("PROV0001 getAllIngressRoutesForSQL: " + e.getMessage(), e);\r
}\r
\r
private static int getMax(String sql) {\r
int rv = 0;\r
- DB db = new DB();\r
- try (Connection conn = db.getConnection();\r
- Statement stmt = conn.createStatement()) {\r
- try (ResultSet rs = stmt.executeQuery(sql)) {\r
- if (rs.next()) {\r
- rv = rs.getInt("MAX");\r
- }\r
+ try (Connection conn = ProvDbUtils.getInstance().getConnection();\r
+ PreparedStatement ps = conn.prepareStatement(sql);\r
+ ResultSet rs = ps.executeQuery(sql)) {\r
+ if (rs.next()) {\r
+ rv = rs.getInt("MAX");\r
}\r
- db.release(conn);\r
} catch (SQLException e) {\r
intlogger.error("PROV0002 getMax: " + e.getMessage(), e);\r
}\r
*/\r
public static IngressRoute getIngressRoute(int feedid, String user, String subnet) {\r
IngressRoute ir = null;\r
- DB db = new DB();\r
- String sql = "select SEQUENCE, NODESET from INGRESS_ROUTES where FEEDID = ? AND USERID = ? and SUBNET = ?";\r
- try (Connection conn = db.getConnection();\r
- PreparedStatement ps = conn.prepareStatement(sql)) {\r
+ try (Connection conn = ProvDbUtils.getInstance().getConnection();\r
+ PreparedStatement ps = conn.prepareStatement(\r
+ "select SEQUENCE, NODESET from INGRESS_ROUTES where FEEDID = ? AND USERID = ? and SUBNET = ?")) {\r
ps.setInt(1, feedid);\r
ps.setString(2, user);\r
ps.setString(3, subnet);\r
ir = new IngressRoute(seq, feedid, user, subnet, nodeset);\r
}\r
}\r
- db.release(conn);\r
} catch (SQLException e) {\r
intlogger.error("PROV0003 getIngressRoute: " + e.getMessage(), e);\r
}\r
* Compare IP addresses as byte arrays to a subnet specified as a CIDR. Taken from\r
* org.onap.dmaap.datarouter.node.SubnetMatcher and modified somewhat.\r
*/\r
- public class SubnetMatcher {\r
+ public static class SubnetMatcher {\r
\r
private byte[] sn;\r
private int len;\r
*\r
* @param subnet The CIDR to match\r
*/\r
- public SubnetMatcher(String subnet) {\r
+ SubnetMatcher(String subnet) {\r
int index = subnet.lastIndexOf('/');\r
if (index == -1) {\r
try {\r
\r
private Collection<String> readNodes() {\r
Collection<String> set = new TreeSet<>();\r
- DB db = new DB();\r
- String sql = "select NODEID from NODESETS where SETID = ?";\r
- try (Connection conn = db.getConnection()) {\r
- try (PreparedStatement ps = conn.prepareStatement(sql)) {\r
- ps.setInt(1, nodelist);\r
- addNodeToSet(set, ps);\r
- }\r
- db.release(conn);\r
+ try (Connection conn = ProvDbUtils.getInstance().getConnection();\r
+ PreparedStatement ps = conn.prepareStatement("select NODEID from NODESETS where SETID = ?")) {\r
+ ps.setInt(1, nodelist);\r
+ addNodeToSet(set, ps);\r
} catch (SQLException e) {\r
intlogger.error(SQLEXCEPTION + e.getMessage(), e);\r
}\r
public boolean doDelete(Connection conn) {\r
boolean rv = true;\r
try (PreparedStatement ps = conn.prepareStatement(\r
- "delete from INGRESS_ROUTES where FEEDID = ? and USERID = ? and SUBNET = ?");\r
- PreparedStatement ps2 = conn.prepareStatement("delete from NODESETS where SETID = ?")) {\r
+ "delete from INGRESS_ROUTES where FEEDID = ? and USERID = ? and SUBNET = ?");\r
+ PreparedStatement ps2 = conn.prepareStatement("delete from NODESETS where SETID = ?")) {\r
// Delete the Ingress Route\r
ps.setInt(1, feedid);\r
ps.setString(2, userid);\r
ps2.execute();\r
} catch (SQLException e) {\r
rv = false;\r
- intlogger.warn("PROV0007 doDelete: " + e.getMessage(), e);\r
+ intlogger.error("PROV0007 doDelete: " + e.getMessage(), e);\r
}\r
return rv;\r
}\r
public boolean doInsert(Connection conn) {\r
boolean rv = false;\r
try (PreparedStatement ps = conn.prepareStatement("insert into NODESETS (SETID, NODEID) values (?,?)");\r
- PreparedStatement ps2 = conn.prepareStatement("insert into INGRESS_ROUTES (SEQUENCE, FEEDID, USERID,"\r
- + " SUBNET, NODESET) values (?, ?, ?, ?, ?)")) {\r
+ PreparedStatement ps2 = conn.prepareStatement("insert into INGRESS_ROUTES (SEQUENCE, FEEDID, USERID,"\r
+ + " SUBNET, NODESET) values (?, ?, ?, ?, ?)")) {\r
// Create the NODESETS rows & set nodelist\r
this.nodelist = getMaxNodeSetID() + 1;\r
for (String node : nodes) {\r
ps2.execute();\r
rv = true;\r
} catch (SQLException e) {\r
- intlogger.warn("PROV0005 doInsert: " + e.getMessage(), e);\r
+ intlogger.error("PROV0005 doInsert: " + e.getMessage(), e);\r
}\r
return rv;\r
}\r
@Override\r
public String getKey() {\r
return String\r
- .format("%d/%s/%s/%d", feedid, (userid == null) ? "" : userid, (subnet == null) ? "" : subnet, seq);\r
+ .format("%d/%s/%s/%d", feedid, (userid == null) ? "" : userid, (subnet == null) ? "" : subnet, seq);\r
}\r
\r
@Override\r
@Override\r
public String toString() {\r
return String.format("INGRESS: feed=%d, userid=%s, subnet=%s, seq=%d", feedid, (userid == null) ? "" : userid,\r
- (subnet == null) ? "" : subnet, seq);\r
+ (subnet == null) ? "" : subnet, seq);\r
}\r
}\r