Remove critical code smells Bean classes
[dmaap/datarouter.git] / datarouter-prov / src / main / java / org / onap / dmaap / datarouter / provisioning / beans / Group.java
index a460d64..be4c640 100644 (file)
@@ -31,10 +31,10 @@ import java.sql.SQLException;
 import java.sql.Statement;\r
 import java.util.*;\r
 \r
-import org.apache.log4j.Logger;\r
+import com.att.eelf.configuration.EELFLogger;\r
+import com.att.eelf.configuration.EELFManager;\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
 /**\r
  * The representation of a Subscription.  Subscriptions can be retrieved from the DB, or stored/updated in the DB.\r
@@ -43,8 +43,10 @@ import org.onap.dmaap.datarouter.provisioning.utils.URLUtilities;
  * @version $Id: Group.java,v 1.0 2016/07/19\r
  */\r
 public class Group extends Syncable {\r
-    private static Logger intlogger = Logger.getLogger("org.onap.dmaap.datarouter.provisioning.internal");\r
+\r
+    private static EELFLogger intlogger = EELFManager.getInstance().getLogger("InternalLog");\r
     private static int next_groupid = getMaxGroupID() + 1;\r
+    private static final String SQLEXCEPTION = "SQLException: ";\r
 \r
     private int groupid;\r
     private String authid;\r
@@ -96,8 +98,8 @@ public class Group extends Syncable {
             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
+            try (Statement stmt = conn.createStatement()) {\r
+                try (ResultSet rs = stmt.executeQuery(sql)) {\r
                     while (rs.next()) {\r
                         Group group = new Group(rs);\r
                         list.add(group);\r
@@ -106,7 +108,7 @@ public class Group extends Syncable {
             }\r
             db.release(conn);\r
         } catch (SQLException e) {\r
-            e.printStackTrace();\r
+            intlogger.error("PROV0009 getGroupsForSQL: " + e.getMessage(), e);\r
         }\r
         return list;\r
     }\r
@@ -117,8 +119,8 @@ public class Group extends Syncable {
             DB db = new DB();\r
             @SuppressWarnings("resource")\r
             Connection conn = db.getConnection();\r
-            try(Statement stmt = conn.createStatement()) {\r
-                try(ResultSet rs = stmt.executeQuery("select MAX(groupid) from GROUPS")) {\r
+            try (Statement stmt = conn.createStatement()) {\r
+                try (ResultSet rs = stmt.executeQuery("select MAX(groupid) from GROUPS")) {\r
                     if (rs.next()) {\r
                         max = rs.getInt(1);\r
                     }\r
@@ -126,21 +128,21 @@ public class Group extends Syncable {
             }\r
             db.release(conn);\r
         } catch (SQLException e) {\r
-            intlogger.info("getMaxSubID: " + e.getMessage());\r
-            e.printStackTrace();\r
+            intlogger.info("PROV0001 getMaxSubID: " + e.getMessage(), e);\r
         }\r
         return max;\r
     }\r
 \r
     public static Collection<String> getGroupsByClassfication(String classfication) {\r
-        List<String> list = new ArrayList<String>();\r
-        String sql = "select * from GROUPS where classification = '" + classfication + "'";\r
+        List<String> list = new ArrayList<>();\r
+        String sql = "select * from GROUPS where classification = ?";\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
+            try (PreparedStatement stmt = conn.prepareStatement(sql)) {\r
+                stmt.setString(1, classfication);\r
+                try (ResultSet rs = stmt.executeQuery()) {\r
                     while (rs.next()) {\r
                         int groupid = rs.getInt("groupid");\r
 \r
@@ -149,7 +151,7 @@ public class Group extends Syncable {
             }\r
             db.release(conn);\r
         } catch (SQLException e) {\r
-            e.printStackTrace();\r
+            intlogger.error("PROV0002 getGroupsByClassfication: " + e.getMessage(), e);\r
         }\r
         return list;\r
     }\r
@@ -165,8 +167,8 @@ public class Group extends Syncable {
             DB db = new DB();\r
             @SuppressWarnings("resource")\r
             Connection conn = db.getConnection();\r
-            try(Statement stmt = conn.createStatement()) {\r
-                try(ResultSet rs = stmt.executeQuery("select count(*) from SUBSCRIPTIONS")) {\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
@@ -174,8 +176,7 @@ public class Group extends Syncable {
             }\r
             db.release(conn);\r
         } catch (SQLException e) {\r
-            intlogger.warn("PROV0008 countActiveSubscriptions: " + e.getMessage());\r
-            e.printStackTrace();\r
+            intlogger.warn("PROV0008 countActiveSubscriptions: " + e.getMessage(), e);\r
         }\r
         return count;\r
     }\r
@@ -209,7 +210,7 @@ public class Group extends Syncable {
     public Group(JSONObject jo) throws InvalidObjectException {\r
         this("", "", "");\r
         try {\r
-            // The JSONObject is assumed to contain a vnd.att-dr.group representation\r
+            // The JSONObject is assumed to contain a vnd.dmaap-dr.group representation\r
             this.groupid = jo.optInt("groupid", -1);\r
             String gname = jo.getString("name");\r
             String gdescription = jo.getString("description");\r
@@ -220,14 +221,17 @@ public class Group extends Syncable {
             this.classification = jo.getString("classification");\r
             this.members = jo.getString("members");\r
 \r
-            if (gname.length() > 50)\r
+            if (gname.length() > 50) {\r
                 throw new InvalidObjectException("Group name is too long");\r
-            if (gdescription.length() > 256)\r
+            }\r
+            if (gdescription.length() > 256) {\r
                 throw new InvalidObjectException("Group Description is too long");\r
+            }\r
         } catch (InvalidObjectException e) {\r
             throw e;\r
         } catch (Exception e) {\r
-            throw new InvalidObjectException("invalid JSON: " + e.getMessage());\r
+            intlogger.warn("Invalid JSON: " + e.getMessage(), e);\r
+            throw new InvalidObjectException("Invalid JSON: " + e.getMessage());\r
         }\r
     }\r
 \r
@@ -235,7 +239,7 @@ public class Group extends Syncable {
         return groupid;\r
     }\r
 \r
-    public static Logger getIntlogger() {\r
+    public static EELFLogger getIntlogger() {\r
         return intlogger;\r
     }\r
 \r
@@ -243,7 +247,7 @@ public class Group extends Syncable {
         this.groupid = groupid;\r
     }\r
 \r
-    public static void setIntlogger(Logger intlogger) {\r
+    public static void setIntlogger(EELFLogger intlogger) {\r
         Group.intlogger = intlogger;\r
     }\r
 \r
@@ -327,9 +331,9 @@ public class Group extends Syncable {
                 setGroupid(next_groupid++);\r
             }\r
             // In case we insert a gropup from synchronization\r
-            if (groupid > next_groupid)\r
+            if (groupid > next_groupid) {\r
                 next_groupid = groupid + 1;\r
-\r
+            }\r
 \r
             // Create the GROUPS row\r
             String sql = "insert into GROUPS (GROUPID, AUTHID, NAME, DESCRIPTION, CLASSIFICATION, MEMBERS) values (?, ?, ?, ?, ?, ?)";\r
@@ -344,15 +348,14 @@ public class Group extends Syncable {
             ps.close();\r
         } catch (SQLException e) {\r
             rv = false;\r
-            intlogger.warn("PROV0005 doInsert: " + e.getMessage());\r
-            e.printStackTrace();\r
+            intlogger.warn("PROV0005 doInsert: " + e.getMessage(), e);\r
         } finally {\r
             try {\r
-                if(ps!=null) {\r
+                if (ps != null) {\r
                     ps.close();\r
                 }\r
             } catch (SQLException e) {\r
-                e.printStackTrace();\r
+                intlogger.error(SQLEXCEPTION + e.getMessage(), e);\r
             }\r
         }\r
         return rv;\r
@@ -374,15 +377,14 @@ public class Group extends Syncable {
             ps.executeUpdate();\r
         } catch (SQLException e) {\r
             rv = false;\r
-            intlogger.warn("PROV0006 doUpdate: " + e.getMessage());\r
-            e.printStackTrace();\r
+            intlogger.warn("PROV0006 doUpdate: " + e.getMessage(), e);\r
         } finally {\r
             try {\r
-                if(ps!=null) {\r
+                if (ps != null) {\r
                     ps.close();\r
                 }\r
             } catch (SQLException e) {\r
-                e.printStackTrace();\r
+                intlogger.error(SQLEXCEPTION + e.getMessage(), e);\r
             }\r
         }\r
         return rv;\r
@@ -399,15 +401,14 @@ public class Group extends Syncable {
             ps.execute();\r
         } catch (SQLException e) {\r
             rv = false;\r
-            intlogger.warn("PROV0007 doDelete: " + e.getMessage());\r
-            e.printStackTrace();\r
+            intlogger.warn("PROV0007 doDelete: " + e.getMessage(), e);\r
         } finally {\r
             try {\r
-                if(ps!=null) {\r
+                if (ps != null) {\r
                     ps.close();\r
                 }\r
             } catch (SQLException e) {\r
-                e.printStackTrace();\r
+                intlogger.error(SQLEXCEPTION + e.getMessage(), e);\r
             }\r
         }\r
         return rv;\r
@@ -420,21 +421,28 @@ public class Group extends Syncable {
 \r
     @Override\r
     public boolean equals(Object obj) {\r
-        if (!(obj instanceof Group))\r
+        if (!(obj instanceof Group)) {\r
             return false;\r
+        }\r
         Group os = (Group) obj;\r
-        if (groupid != os.groupid)\r
+        if (groupid != os.groupid) {\r
             return false;\r
-        if (authid != os.authid)\r
+        }\r
+        if (authid != os.authid) {\r
             return false;\r
-        if (!name.equals(os.name))\r
+        }\r
+        if (!name.equals(os.name)) {\r
             return false;\r
-        if (description != os.description)\r
+        }\r
+        if (description != os.description) {\r
             return false;\r
-        if (!classification.equals(os.classification))\r
+        }\r
+        if (!classification.equals(os.classification)) {\r
             return false;\r
-        if (!members.equals(os.members))\r
+        }\r
+        if (!members.equals(os.members)) {\r
             return false;\r
+        }\r
 \r
         return true;\r
     }\r