- public static final String PROV_REQUIRE_SECURE = "PROV_REQUIRE_SECURE";\r
- public static final String PROV_REQUIRE_CERT = "PROV_REQUIRE_CERT";\r
- public static final String PROV_AUTH_ADDRESSES = "PROV_AUTH_ADDRESSES";\r
- public static final String PROV_AUTH_SUBJECTS = "PROV_AUTH_SUBJECTS";\r
- public static final String PROV_NAME = "PROV_NAME";\r
- public static final String PROV_ACTIVE_NAME = "PROV_ACTIVE_NAME";\r
- public static final String PROV_DOMAIN = "PROV_DOMAIN";\r
- public static final String PROV_MAXFEED_COUNT = "PROV_MAXFEED_COUNT";\r
- public static final String PROV_MAXSUB_COUNT = "PROV_MAXSUB_COUNT";\r
- public static final String PROV_POKETIMER1 = "PROV_POKETIMER1";\r
- public static final String PROV_POKETIMER2 = "PROV_POKETIMER2";\r
- public static final String PROV_SPECIAL_SUBNET = "PROV_SPECIAL_SUBNET";\r
- public static final String PROV_LOG_RETENTION = "PROV_LOG_RETENTION";\r
- public static final String NODES = "NODES";\r
- public static final String ACTIVE_POD = "ACTIVE_POD";\r
- public static final String STANDBY_POD = "STANDBY_POD";\r
- public static final String LOGROLL_INTERVAL = "LOGROLL_INTERVAL";\r
- public static final String DELIVERY_INIT_RETRY_INTERVAL = "DELIVERY_INIT_RETRY_INTERVAL";\r
- public static final String DELIVERY_MAX_RETRY_INTERVAL = "DELIVERY_MAX_RETRY_INTERVAL";\r
- public static final String DELIVERY_RETRY_RATIO = "DELIVERY_RETRY_RATIO";\r
- public static final String DELIVERY_MAX_AGE = "DELIVERY_MAX_AGE";\r
- public static final String THROTTLE_FILTER = "THROTTLE_FILTER";\r
- public static final String STATIC_ROUTING_NODES = "STATIC_ROUTING_NODES"; //Adding new param for static Routing - Rally:US664862-1610\r
+ public static final String PROV_REQUIRE_SECURE = "PROV_REQUIRE_SECURE";\r
+ public static final String PROV_REQUIRE_CERT = "PROV_REQUIRE_CERT";\r
+ public static final String PROV_AUTH_ADDRESSES = "PROV_AUTH_ADDRESSES";\r
+ public static final String PROV_AUTH_SUBJECTS = "PROV_AUTH_SUBJECTS";\r
+ public static final String PROV_NAME = "PROV_NAME";\r
+ public static final String PROV_ACTIVE_NAME = "PROV_ACTIVE_NAME";\r
+ public static final String PROV_DOMAIN = "PROV_DOMAIN";\r
+ public static final String PROV_MAXFEED_COUNT = "PROV_MAXFEED_COUNT";\r
+ public static final String PROV_MAXSUB_COUNT = "PROV_MAXSUB_COUNT";\r
+ public static final String PROV_POKETIMER1 = "PROV_POKETIMER1";\r
+ public static final String PROV_POKETIMER2 = "PROV_POKETIMER2";\r
+ public static final String PROV_SPECIAL_SUBNET = "PROV_SPECIAL_SUBNET";\r
+ public static final String PROV_LOG_RETENTION = "PROV_LOG_RETENTION";\r
+ public static final String NODES = "NODES";\r
+ public static final String ACTIVE_POD = "ACTIVE_POD";\r
+ public static final String STANDBY_POD = "STANDBY_POD";\r
+ public static final String LOGROLL_INTERVAL = "LOGROLL_INTERVAL";\r
+ public static final String DELIVERY_INIT_RETRY_INTERVAL = "DELIVERY_INIT_RETRY_INTERVAL";\r
+ public static final String DELIVERY_MAX_RETRY_INTERVAL = "DELIVERY_MAX_RETRY_INTERVAL";\r
+ public static final String DELIVERY_RETRY_RATIO = "DELIVERY_RETRY_RATIO";\r
+ public static final String DELIVERY_MAX_AGE = "DELIVERY_MAX_AGE";\r
+ public static final String THROTTLE_FILTER = "THROTTLE_FILTER";\r
+ public static final String STATIC_ROUTING_NODES = "STATIC_ROUTING_NODES"; //Adding new param for static Routing - Rally:US664862-1610\r
+\r
+ private static Logger intlogger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.internal");\r
+\r
+ private String keyname;\r
+ private String value;\r
+\r
+ /**\r
+ * Get all parameters in the DB as a Map.\r
+ *\r
+ * @return the Map of keynames/values from the DB.\r
+ */\r
+ public static Map<String, String> getParameters() {\r
+ Map<String, String> props = new HashMap<String, String>();\r
+ for (Parameters p : getParameterCollection()) {\r
+ props.put(p.getKeyname(), p.getValue());\r
+ }\r
+ return props;\r
+ }\r
+\r
+ public static Collection<Parameters> getParameterCollection() {\r
+ Collection<Parameters> coll = new ArrayList<Parameters>();\r
+ try {\r
+ DB db = new DB();\r
+ @SuppressWarnings("resource")\r
+ Connection conn = db.getConnection();\r
+ try(Statement stmt = conn.createStatement()) {\r
+ String sql = "select * from PARAMETERS";\r
+ try(ResultSet rs = stmt.executeQuery(sql)) {\r
+ while (rs.next()) {\r
+ Parameters p = new Parameters(rs);\r
+ coll.add(p);\r
+ }\r
+ }\r
+ }\r
+ db.release(conn);\r
+ } catch (SQLException e) {\r
+ e.printStackTrace();\r
+ }\r
+ return coll;\r
+ }\r
+\r
+ /**\r
+ * Get a specific parameter value from the DB.\r
+ *\r
+ * @param k the key to lookup\r
+ * @return the value, or null if non-existant\r
+ */\r
+ public static Parameters getParameter(String k) {\r
+ Parameters v = null;\r
+ try {\r
+ DB db = new DB();\r
+ @SuppressWarnings("resource")\r
+ Connection conn = db.getConnection();\r
+ try(PreparedStatement stmt = conn.prepareStatement("select KEYNAME, VALUE from PARAMETERS where KEYNAME = ?")) {\r
+ stmt.setString(1, k);\r
+ try(ResultSet rs = stmt.executeQuery()) {\r
+ if (rs.next()) {\r
+ v = new Parameters(rs);\r
+ }\r
+ }\r
+ }\r
+ db.release(conn);\r
+ } catch (SQLException e) {\r
+ e.printStackTrace();\r
+ }\r
+ return v;\r
+ }\r
+\r
+ public Parameters() {\r
+ this("", "");\r
+ }\r
+\r
+ public Parameters(String k, String v) {\r
+ this.keyname = k;\r
+ this.value = v;\r
+ }\r
+\r
+ public Parameters(ResultSet rs) throws SQLException {\r
+ this.keyname = rs.getString("KEYNAME");\r
+ this.value = rs.getString("VALUE");\r
+ }\r
+\r
+ public String getKeyname() {\r
+ return keyname;\r
+ }\r
+\r
+ public void setKeyname(String keyname) {\r
+ this.keyname = keyname;\r
+ }\r
+\r
+ public String getValue() {\r
+ return value;\r
+ }\r
+\r
+ public void setValue(String value) {\r
+ this.value = value;\r
+ }\r
+\r
+ @Override\r
+ public JSONObject asJSONObject() {\r
+ JSONObject jo = new JSONObject();\r
+ jo.put("keyname", keyname);\r
+ jo.put("value", value);\r
+ return jo;\r
+ }\r
+\r
+ @Override\r
+ public boolean doInsert(Connection c) {\r
+ boolean rv = true;\r
+ PreparedStatement ps = null;\r
+ try {\r
+ // Create the SUBSCRIPTIONS row\r
+ String sql = "insert into PARAMETERS values (?, ?)";\r
+ ps = c.prepareStatement(sql);\r
+ ps.setString(1, getKeyname());\r
+ ps.setString(2, getValue());\r
+ ps.execute();\r
+ } catch (SQLException e) {\r
+ rv = false;\r
+ intlogger.warn("PROV0005 doInsert: " + e.getMessage());\r
+ e.printStackTrace();\r
+ } finally {\r
+ try {\r
+ if(ps!=null) {\r
+ ps.close();\r
+ }\r
+ } catch (SQLException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ return rv;\r
+ }\r
+\r
+ @Override\r
+ public boolean doUpdate(Connection c) {\r
+ boolean rv = true;\r
+ PreparedStatement ps = null;\r
+ try {\r
+ // Update the PARAMETERS row\r
+ String sql = "update PARAMETERS set VALUE = ? where KEYNAME = ?";\r
+ ps = c.prepareStatement(sql);\r
+ ps.setString(1, getValue());\r
+ ps.setString(2, getKeyname());\r
+ ps.executeUpdate();\r
+ } catch (SQLException e) {\r
+ rv = false;\r
+ intlogger.warn("PROV0006 doUpdate: " + e.getMessage());\r
+ e.printStackTrace();\r
+ } finally {\r
+ try {\r
+ if(ps!=null) {\r
+ ps.close();\r
+ }\r
+ } catch (SQLException e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ return rv;\r
+ }\r