\r
package org.onap.dmaap.datarouter.provisioning.beans;\r
\r
+import com.att.eelf.configuration.EELFLogger;\r
+import com.att.eelf.configuration.EELFManager;\r
import java.sql.Connection;\r
import java.sql.PreparedStatement;\r
import java.sql.ResultSet;\r
import java.sql.SQLException;\r
-import java.sql.Statement;\r
-import java.util.*;\r
-\r
-import org.apache.log4j.Logger;\r
+import java.util.ArrayList;\r
+import java.util.Collection;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+import java.util.Objects;\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
* Methods to provide access to Provisioning parameters in the DB. This class also provides constants of the standard\r
* @author Robert Eby\r
* @version $Id: Parameters.java,v 1.11 2014/03/12 19:45:41 eby Exp $\r
*/\r
+\r
public class Parameters extends Syncable {\r
\r
public static final String PROV_REQUIRE_SECURE = "PROV_REQUIRE_SECURE";\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
+ 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 DEFAULT_LOG_RETENTION = "DEFAULT_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 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 STATIC_ROUTING_NODES = "STATIC_ROUTING_NODES";\r
\r
- private static Logger intlogger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.internal");\r
+ private static EELFLogger intlogger = EELFManager.getInstance().getLogger("InternalLog");\r
+ private static final String SQLEXCEPTION = "SQLException: ";\r
\r
private String keyname;\r
private String value;\r
\r
+ public Parameters(String key, String val) {\r
+ this.keyname = key;\r
+ this.value = val;\r
+ }\r
+\r
+ public Parameters(ResultSet rs) throws SQLException {\r
+ this.keyname = rs.getString("KEYNAME");\r
+ this.value = rs.getString("VALUE");\r
+ }\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
+ Map<String, String> props = new HashMap<>();\r
for (Parameters p : getParameterCollection()) {\r
props.put(p.getKeyname(), p.getValue());\r
}\r
return props;\r
}\r
\r
+ /**\r
+ * Method to get parameters.\r
+ * @return collection of parameters\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
+ Collection<Parameters> coll = new ArrayList<>();\r
+ try (Connection conn = ProvDbUtils.getInstance().getConnection();\r
+ PreparedStatement ps = conn.prepareStatement("select * from PARAMETERS")) {\r
+ ResultSet rs = ps.executeQuery();\r
+ while (rs.next()) {\r
+ Parameters param = new Parameters(rs);\r
+ coll.add(param);\r
}\r
- db.release(conn);\r
} catch (SQLException e) {\r
- intlogger.error("SQLException " + e.getMessage());\r
+ intlogger.error(SQLEXCEPTION + e.getMessage(), e);\r
}\r
return coll;\r
}\r
/**\r
* Get a specific parameter value from the DB.\r
*\r
- * @param k the key to lookup\r
+ * @param key 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\r
- .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
+ public static Parameters getParameter(String key) {\r
+ Parameters val = null;\r
+ try (Connection conn = ProvDbUtils.getInstance().getConnection();\r
+ PreparedStatement stmt = conn.prepareStatement(\r
+ "select KEYNAME, VALUE from PARAMETERS where KEYNAME = ?")) {\r
+ stmt.setString(1, key);\r
+ ResultSet rs = stmt.executeQuery();\r
+ if (rs.next()) {\r
+ val = new Parameters(rs);\r
}\r
- db.release(conn);\r
} catch (SQLException e) {\r
- intlogger.error("SQLException " + e.getMessage());\r
+ intlogger.error(SQLEXCEPTION + e.getMessage(), e);\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
+ return val;\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
\r
@Override\r
- public boolean doInsert(Connection c) {\r
+ public boolean doInsert(Connection conn) {\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
+ try (PreparedStatement ps = conn.prepareStatement("insert into PARAMETERS values (?, ?)")) {\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
- } finally {\r
- try {\r
- if (ps != null) {\r
- ps.close();\r
- }\r
- } catch (SQLException e) {\r
- intlogger.error("SQLException " + e.getMessage());\r
- }\r
+ intlogger.warn("PROV0005 doInsert: " + e.getMessage(), e);\r
}\r
return rv;\r
}\r
\r
@Override\r
- public boolean doUpdate(Connection c) {\r
+ public boolean doUpdate(Connection conn) {\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
+ try (PreparedStatement ps = conn.prepareStatement("update PARAMETERS set VALUE = ? where KEYNAME = ?")) {\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
- } finally {\r
- try {\r
- if (ps != null) {\r
- ps.close();\r
- }\r
- } catch (SQLException e) {\r
- intlogger.error("SQLException " + e.getMessage());\r
- }\r
+ intlogger.warn("PROV0006 doUpdate: " + e.getMessage(),e);\r
}\r
return rv;\r
}\r
\r
@Override\r
- public boolean doDelete(Connection c) {\r
+ public boolean doDelete(Connection conn) {\r
boolean rv = true;\r
- PreparedStatement ps = null;\r
- try {\r
- // Create the SUBSCRIPTIONS row\r
- String sql = "delete from PARAMETERS where KEYNAME = ?";\r
- ps = c.prepareStatement(sql);\r
+ try (PreparedStatement ps = conn.prepareStatement("delete from PARAMETERS where KEYNAME = ?")) {\r
ps.setString(1, getKeyname());\r
ps.execute();\r
} catch (SQLException e) {\r
rv = false;\r
- intlogger.warn("PROV0007 doDelete: " + e.getMessage());\r
- } finally {\r
- try {\r
- if (ps != null) {\r
- ps.close();\r
- }\r
- } catch (SQLException e) {\r
- intlogger.error("SQLException " + e.getMessage());\r
- }\r
+ intlogger.warn("PROV0007 doDelete: " + e.getMessage(), e);\r
}\r
return rv;\r
}\r
return false;\r
}\r
Parameters of = (Parameters) obj;\r
- if (!keyname.equals(of.keyname)) {\r
- return false;\r
- }\r
- if (!value.equals(of.value)) {\r
- return false;\r
- }\r
- return true;\r
+ return (!value.equals(of.value)) && (!keyname.equals(of.keyname));\r
}\r
\r
@Override\r