Code style cleanup for prov authz and beans
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / beans / Parameters.java
index a47569f..e89cfd4 100644 (file)
@@ -7,9 +7,9 @@
  * * Licensed under the Apache License, Version 2.0 (the "License");\r
  * * you may not use this file except in compliance with the License.\r
  * * You may obtain a copy of the License at\r
- * * \r
+ * *\r
  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
- * * \r
+ * *\r
  *  * Unless required by applicable law or agreed to in writing, software\r
  * * distributed under the License is distributed on an "AS IS" BASIS,\r
  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
@@ -23,6 +23,8 @@
 \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
@@ -32,225 +34,208 @@ import java.util.ArrayList;
 import java.util.Collection;\r
 import java.util.HashMap;\r
 import java.util.Map;\r
-\r
-import org.apache.log4j.Logger;\r
+import java.util.Objects;\r
 import org.json.JSONObject;\r
 import org.onap.dmaap.datarouter.provisioning.utils.DB;\r
 \r
 /**\r
- * Methods to provide access to Provisioning parameters in the DB.\r
- * This class also provides constants of the standard parameters used by the Data Router.\r
+ * Methods to provide access to Provisioning parameters in the DB. This class also provides constants of the standard\r
+ * parameters used by the Data Router.\r
+ *\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
-       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
+    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 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 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";\r
+\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<>();\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<>();\r
+        DB db = new DB();\r
+        String sql = "select * from PARAMETERS";\r
+        try (Connection conn = db.getConnection();\r
+                Statement stmt = conn.createStatement()) {\r
+            try (ResultSet rs = stmt.executeQuery(sql)) {\r
+                while (rs.next()) {\r
+                    Parameters param = new Parameters(rs);\r
+                    coll.add(param);\r
+                }\r
+            }\r
+            db.release(conn);\r
+        } catch (SQLException e) {\r
+            intlogger.error(SQLEXCEPTION + e.getMessage(), e);\r
+        }\r
+        return coll;\r
+    }\r
+\r
+    /**\r
+     * Get a specific parameter value from the DB.\r
+     *\r
+     * @param key the key to lookup\r
+     * @return the value, or null if non-existant\r
+     */\r
+    public static Parameters getParameter(String key) {\r
+        Parameters val = null;\r
+        DB db = new DB();\r
+        String sql = "select KEYNAME, VALUE from PARAMETERS where KEYNAME = ?";\r
+        try (Connection conn = db.getConnection();\r
+                PreparedStatement stmt = conn.prepareStatement(sql)) {\r
+            stmt.setString(1, key);\r
+            try (ResultSet rs = stmt.executeQuery()) {\r
+                if (rs.next()) {\r
+                    val = new Parameters(rs);\r
+                }\r
+            }\r
+            db.release(conn);\r
+        } catch (SQLException e) {\r
+            intlogger.error(SQLEXCEPTION + e.getMessage(), e);\r
+        }\r
+        return val;\r
+    }\r
+\r
+    public String getKeyname() {\r
+        return 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 conn) {\r
+        boolean rv = true;\r
+        String sql = "insert into PARAMETERS values (?, ?)";\r
+        try (PreparedStatement ps = conn.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(), e);\r
+        }\r
+        return rv;\r
+    }\r
+\r
+    @Override\r
+    public boolean doUpdate(Connection conn) {\r
+        boolean rv = true;\r
+        String sql = "update PARAMETERS set VALUE = ? where KEYNAME = ?";\r
+        try (PreparedStatement ps = conn.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(),e);\r
+        }\r
+        return rv;\r
+    }\r
+\r
+    @Override\r
+    public boolean doDelete(Connection conn) {\r
+        boolean rv = true;\r
+        String sql = "delete from PARAMETERS where KEYNAME = ?";\r
+        try (PreparedStatement ps = conn.prepareStatement(sql)) {\r
+            ps.setString(1, getKeyname());\r
+            ps.execute();\r
+        } catch (SQLException e) {\r
+            rv = false;\r
+            intlogger.warn("PROV0007 doDelete: " + e.getMessage(), e);\r
+        }\r
+        return rv;\r
+    }\r
 \r
-       private String keyname;\r
-       private String value;\r
+    @Override\r
+    public String getKey() {\r
+        return getKeyname();\r
+    }\r
 \r
-       /**\r
-        * Get all parameters in the DB as a Map.\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
-       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
-                       Statement  stmt = conn.createStatement();\r
-                       String sql = "select * from PARAMETERS";\r
-                       ResultSet rs = stmt.executeQuery(sql);\r
-                       while (rs.next()) {\r
-                               Parameters p = new Parameters(rs);\r
-                               coll.add(p);\r
-                       }\r
-                       rs.close();\r
-                       stmt.close();\r
-                       db.release(conn);\r
-               } catch (SQLException e) {\r
-                       e.printStackTrace();\r
-               }\r
-               return coll;\r
-       }\r
-       /**\r
-        * Get a specific parameter value from the DB.\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
-                       Statement  stmt = conn.createStatement();\r
-                       String sql = "select KEYNAME, VALUE from PARAMETERS where KEYNAME = \"" + k + "\"";\r
-                       ResultSet rs = stmt.executeQuery(sql);\r
-                       if (rs.next()) {\r
-                               v = new Parameters(rs);\r
-                       }\r
-                       rs.close();\r
-                       stmt.close();\r
-                       db.release(conn);\r
-               } catch (SQLException e) {\r
-                       e.printStackTrace();\r
-               }\r
-               return v;\r
-       }\r
+    @Override\r
+    public boolean equals(Object obj) {\r
+        if (!(obj instanceof Parameters)) {\r
+            return false;\r
+        }\r
+        Parameters of = (Parameters) obj;\r
+        return (!value.equals(of.value)) && (!keyname.equals(of.keyname));\r
+    }\r
 \r
-       public Parameters() {\r
-               this("", "");\r
-       }\r
-       public Parameters(String k, String v) {\r
-               this.keyname = k;\r
-               this.value   = v;\r
-       }\r
-       public Parameters(ResultSet rs) throws SQLException {\r
-               this.keyname = rs.getString("KEYNAME");\r
-               this.value   = rs.getString("VALUE");\r
-       }\r
-       public String getKeyname() {\r
-               return keyname;\r
-       }\r
-       public void setKeyname(String keyname) {\r
-               this.keyname = keyname;\r
-       }\r
-       public String getValue() {\r
-               return value;\r
-       }\r
-       public void setValue(String value) {\r
-               this.value = value;\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
-       @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
-                               ps.close();\r
-                       } catch (SQLException e) {\r
-                               e.printStackTrace();\r
-                       }\r
-               }\r
-               return rv;\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
-                               ps.close();\r
-                       } catch (SQLException e) {\r
-                               e.printStackTrace();\r
-                       }\r
-               }\r
-               return rv;\r
-       }\r
-       @Override\r
-       public boolean doDelete(Connection c) {\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
-                       ps.setString(1, getKeyname());\r
-                       ps.execute();\r
-               } catch (SQLException e) {\r
-                       rv = false;\r
-                       intlogger.warn("PROV0007 doDelete: "+e.getMessage());\r
-                       e.printStackTrace();\r
-               } finally {\r
-                       try {\r
-                               ps.close();\r
-                       } catch (SQLException e) {\r
-                               e.printStackTrace();\r
-                       }\r
-               }\r
-               return rv;\r
-       }\r
-       @Override\r
-       public String getKey() {\r
-               return getKeyname();\r
-       }\r
-       @Override\r
-       public boolean equals(Object obj) {\r
-               if (!(obj instanceof Parameters))\r
-                       return false;\r
-               Parameters of = (Parameters) obj;\r
-               if (!keyname.equals(of.keyname))\r
-                       return false;\r
-               if (!value.equals(of.value))\r
-                       return false;\r
-               return true;\r
-       }\r
+    @Override\r
+    public int hashCode() {\r
+        return Objects.hash(keyname, value);\r
+    }\r
 \r
-       @Override\r
-       public String toString() {\r
-               return "PARAM: keyname=" + keyname + ", value=" + value;\r
-       }\r
+    @Override\r
+    public String toString() {\r
+        return "PARAM: keyname=" + keyname + ", value=" + value;\r
+    }\r
 }\r
 \r