public class PathFinder {
private static class Hop {
- public boolean mark;
- public boolean bad;
- public NodeConfig.ProvHop basis;
+ boolean mark;
+ boolean bad;
+ NodeConfig.ProvHop basis;
}
private Vector<String> errors = new Vector<String>();
private boolean allowFeedsCollectionAccess(AuthzResource resource, String method, String subject, String subjectgroup) {
// Allow GET or POST unconditionally
- return method != null && (method.equalsIgnoreCase("GET") || method.equalsIgnoreCase("POST"));
+ return method != null && ("GET".equalsIgnoreCase(method) || "POST".equalsIgnoreCase(method));
}
private boolean allowSubsCollectionAccess(AuthzResource resource, String method, String subject, String subjectgroup) {
// Allow GET or POST unconditionally
- return method != null && (method.equalsIgnoreCase("GET") || method.equalsIgnoreCase("POST"));
+ return method != null && ("GET".equalsIgnoreCase(method) || "POST".equalsIgnoreCase(method));
}
private boolean allowFeedAccess(AuthzResource resource, String method, String subject, String subjectgroup) {
boolean decision = false;
// Allow GET, PUT, or DELETE if requester (subject) is the owner (publisher) of the feed
- if ( method != null && (method.equalsIgnoreCase("GET") || method.equalsIgnoreCase("PUT") ||
- method.equalsIgnoreCase("DELETE"))) {
+ if ( method != null && ("GET".equalsIgnoreCase(method) || "PUT".equalsIgnoreCase(method) ||
+ "DELETE".equalsIgnoreCase(method))) {
String owner = provData.getFeedOwner(resource.getId());
decision = (owner != null) && owner.equals(subject);
boolean decision = false;
// Allow GET, PUT, or DELETE if requester (subject) is the owner of the subscription (subscriber)
- if (method != null && (method.equalsIgnoreCase("GET") || method.equalsIgnoreCase("PUT") ||
- method.equalsIgnoreCase("DELETE") || method.equalsIgnoreCase("POST"))) {
+ if (method != null && ("GET".equalsIgnoreCase(method) || "PUT".equalsIgnoreCase(method) ||
+ "DELETE".equalsIgnoreCase(method) || "POST".equalsIgnoreCase(method))) {
String owner = provData.getSubscriptionOwner(resource.getId());
decision = (owner != null) && owner.equals(subject);
import java.sql.ResultSet;\r
import java.sql.SQLException;\r
import java.sql.Statement;\r
-import java.util.ArrayList;\r
-import java.util.Collection;\r
-import java.util.Date;\r
-import java.util.List;\r
+import java.util.*;\r
\r
import org.apache.log4j.Logger;\r
import org.json.JSONObject;\r
import org.onap.dmaap.datarouter.provisioning.utils.DB;\r
import org.onap.dmaap.datarouter.provisioning.utils.URLUtilities;\r
\r
-import java.util.Properties;\r
-\r
/**\r
* The representation of a Subscription. Subscriptions can be retrieved from the DB, or stored/updated in the DB.\r
*\r
DB db = new DB();\r
@SuppressWarnings("resource")\r
Connection conn = db.getConnection();\r
- Statement stmt = conn.createStatement();\r
- ResultSet rs = stmt.executeQuery(sql);\r
- while (rs.next()) {\r
- Subscription sub = new Subscription(rs);\r
- list.add(sub);\r
+ try(Statement stmt = conn.createStatement()) {\r
+ try(ResultSet rs = stmt.executeQuery(sql)) {\r
+ while (rs.next()) {\r
+ Subscription sub = new Subscription(rs);\r
+ list.add(sub);\r
+ }\r
+ }\r
}\r
- rs.close();\r
- stmt.close();\r
db.release(conn);\r
} catch (SQLException e) {\r
e.printStackTrace();\r
DB db = new DB();\r
@SuppressWarnings("resource")\r
Connection conn = db.getConnection();\r
- Statement stmt = conn.createStatement();\r
- ResultSet rs = stmt.executeQuery("select MAX(subid) from SUBSCRIPTIONS");\r
- if (rs.next()) {\r
- max = rs.getInt(1);\r
+ try(Statement stmt = conn.createStatement()) {\r
+ try(ResultSet rs = stmt.executeQuery("select MAX(subid) from SUBSCRIPTIONS")) {\r
+ if (rs.next()) {\r
+ max = rs.getInt(1);\r
+ }\r
+ }\r
}\r
- rs.close();\r
- stmt.close();\r
db.release(conn);\r
} catch (SQLException e) {\r
intlogger.info("getMaxSubID: " + e.getMessage());\r
DB db = new DB();\r
@SuppressWarnings("resource")\r
Connection conn = db.getConnection();\r
- Statement stmt = conn.createStatement();\r
- ResultSet rs = stmt.executeQuery(sql);\r
- while (rs.next()) {\r
- int subid = rs.getInt("SUBID");\r
- list.add(URLUtilities.generateSubscriptionURL(subid));\r
+ try(Statement stmt = conn.createStatement()) {\r
+ try(ResultSet rs = stmt.executeQuery(sql)) {\r
+ while (rs.next()) {\r
+ int subid = rs.getInt("SUBID");\r
+ list.add(URLUtilities.generateSubscriptionURL(subid));\r
+ }\r
+ }\r
}\r
- rs.close();\r
- stmt.close();\r
db.release(conn);\r
} catch (SQLException e) {\r
e.printStackTrace();\r
DB db = new DB();\r
@SuppressWarnings("resource")\r
Connection conn = db.getConnection();\r
- Statement stmt = conn.createStatement();\r
- ResultSet rs = stmt.executeQuery("select count(*) from SUBSCRIPTIONS");\r
- if (rs.next()) {\r
- count = rs.getInt(1);\r
+ try(Statement stmt = conn.createStatement()) {\r
+ try(ResultSet rs = stmt.executeQuery("select count(*) from SUBSCRIPTIONS")) {\r
+ if (rs.next()) {\r
+ count = rs.getInt(1);\r
+ }\r
+ }\r
}\r
- rs.close();\r
- stmt.close();\r
db.release(conn);\r
} catch (SQLException e) {\r
intlogger.warn("PROV0008 countActiveSubscriptions: " + e.getMessage());\r
ps.setInt(10, groupid); //New field is added - Groups feature Rally:US708115 - 1610\r
ps.execute();\r
ps.close();\r
-// ResultSet rs = ps.getGeneratedKeys();\r
-// rs.first();\r
-// setSubid(rs.getInt(1)); // side effect - sets the link URLs\r
-// ps.close();\r
-\r
// Update the row to set the URLs\r
sql = "update SUBSCRIPTIONS set SELF_LINK = ?, LOG_LINK = ? where SUBID = ?";\r
ps = c.prepareStatement(sql);\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
return true;\r
}\r
\r
+ @Override\r
+ public int hashCode() {\r
+ return Objects.hash(subid, feedid, groupid, delivery, metadataOnly, subscriber, links, suspended, last_mod, created_date);\r
+ }\r
+\r
@Override\r
public String toString() {\r
return "SUB: subid=" + subid + ", feedid=" + feedid;\r
sb.append("Egress Routing Table\n");\r
sb.append(String.format("%s Node\n", ext("SubID", cw1)));\r
for (int i = 0; i < subs.length; i++) {\r
- String node = ert.getString(subs[i]);\r
- sb.append(String.format("%s %s\n", ext(subs[i], cw1), node));\r
+ if(ert!=null&&ert.length()!=0) {\r
+ String node = ert.getString(subs[i]);\r
+ sb.append(String.format("%s %s\n", ext(subs[i], cw1), node));\r
+ }\r
+\r
}\r
}\r
if (tbl.startsWith("al") || tbl.startsWith("ne")) {\r
try {\r
Thread.sleep(1000L);\r
} catch (InterruptedException e) {\r
+ Thread.currentThread().interrupt();\r
}\r
idle = false;\r
} else {\r
Connection conn = null;\r
try {\r
conn = db.getConnection();\r
- Statement stmt = conn.createStatement();\r
- // Build a bitset of all records in the LOG_RECORDS table\r
- // We need to run this SELECT in stages, because otherwise we run out of memory!\r
RLEBitSet nbs = new RLEBitSet();\r
- final long stepsize = 6000000L;\r
- boolean go_again = true;\r
- for (long i = 0; go_again; i += stepsize) {\r
- String sql = String.format("select RECORD_ID from LOG_RECORDS LIMIT %d,%d", i, stepsize);\r
- try(ResultSet rs = stmt.executeQuery(sql)) {\r
- go_again = false;\r
- while (rs.next()) {\r
- long n = rs.getLong("RECORD_ID");\r
- nbs.set(n);\r
- go_again = true;\r
+ try(Statement stmt = conn.createStatement()) {\r
+ // Build a bitset of all records in the LOG_RECORDS table\r
+ // We need to run this SELECT in stages, because otherwise we run out of memory!\r
+ final long stepsize = 6000000L;\r
+ boolean go_again = true;\r
+ for (long i = 0; go_again; i += stepsize) {\r
+ String sql = String.format("select RECORD_ID from LOG_RECORDS LIMIT %d,%d", i, stepsize);\r
+ try (ResultSet rs = stmt.executeQuery(sql)) {\r
+ go_again = false;\r
+ while (rs.next()) {\r
+ long n = rs.getLong("RECORD_ID");\r
+ nbs.set(n);\r
+ go_again = true;\r
+ }\r
}\r
}\r
}\r
- stmt.close();\r
seq_set = nbs;\r
-\r
// Compare with the range for this server\r
// Determine the next ID for this set of record IDs\r
RLEBitSet tbs = (RLEBitSet) nbs.clone();\r
public static String generatePeerLogsURL() {\r
//Fixes for Itrack ticket - DATARTR-4#Fixing if only one Prov is configured, not to give exception to fill logs.\r
String peerPodUrl = getPeerPodName();\r
- if (peerPodUrl.equals("") || peerPodUrl.equals(null)) {\r
+ if (peerPodUrl.equals("") || peerPodUrl==null) {\r
return "";\r
}\r
\r