From: Ram Koya Date: Thu, 13 Sep 2018 15:07:09 +0000 (+0000) Subject: Merge "AafConnection.java: Fixed sonar issues" X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=3b343aedb12fe5572c16a745fde8d9626c90b645;hp=bfb5a8f2b453ec01c05f55bdd4a2fef672df563b;p=dmaap%2Fdbcapi.git Merge "AafConnection.java: Fixed sonar issues" --- diff --git a/src/main/java/org/onap/dmaap/dbcapi/database/DBFieldHandler.java b/src/main/java/org/onap/dmaap/dbcapi/database/DBFieldHandler.java index 072c548..59d610c 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/database/DBFieldHandler.java +++ b/src/main/java/org/onap/dmaap/dbcapi/database/DBFieldHandler.java @@ -24,7 +24,6 @@ import java.lang.reflect.*; import java.sql.*; import java.util.*; -import org.apache.log4j.Logger; import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; @@ -33,7 +32,40 @@ import org.onap.dmaap.dbcapi.logging.DmaapbcLogMessageEnum; public class DBFieldHandler { - static final EELFLogger errorLogger = EELFManager.getInstance().getErrorLogger(); + static final EELFLogger errorLogger = EELFManager.getInstance().getErrorLogger(); + + public DBFieldHandler(Class c, String fieldname, int fieldnum) throws Exception { + this(c, fieldname, fieldnum, null); + } + public DBFieldHandler(Class c, String fieldname, int fieldnum, SqlOp op) throws Exception { + this.fieldnum = fieldnum; + StringBuilder sb = new StringBuilder(); + for (String s: fieldname.split("_")) { + sb.append(s.substring(0, 1).toUpperCase()).append(s.substring(1)); + } + String camelcase = sb.toString(); + try { + objget = c.getMethod("is" + camelcase); + } catch (Exception e) { + errorLogger.error("Error", e); + objget = c.getMethod("get" + camelcase); + } + objset = c.getMethod("set" + camelcase, objget.getReturnType()); + sqlop = op; + if (sqlop != null) { + return; + } + Class x = objget.getReturnType(); + if (x.isEnum()) { + sqlop = new EnumSql(x); + return; + } + sqlop = sqltypes.get(x.getName()); + if (sqlop != null) { + return; + } + errorLogger.error(DmaapbcLogMessageEnum.DB_NO_FIELD_HANDLER, c.getName(), fieldname, Integer.toString(fieldnum), x.getName()); + } public static interface SqlOp { public Object get(ResultSet rs, int index) throws Exception; @@ -121,7 +153,7 @@ public class DBFieldHandler { } private static Map sqltypes; static { - sqltypes = new HashMap(); + sqltypes = new HashMap<>(); sqltypes.put("[Ljava.lang.String;", new AofString()); sqltypes.put("java.util.Date", new SqlDate()); try { @@ -134,6 +166,7 @@ public class DBFieldHandler { new SqlType("Short"); new SqlType("String"); } catch (Exception e) { + errorLogger.error("Error", e); errorLogger.error(DmaapbcLogMessageEnum.DB_ACCESS_INIT_ERROR, e.getMessage() ); } } @@ -156,37 +189,6 @@ public class DBFieldHandler { public void fromSQL(ResultSet r, Object o) throws Exception { objset.invoke(o, sqlop.get(r, fieldnum)); } - public DBFieldHandler(Class c, String fieldname, int fieldnum) throws Exception { - this(c, fieldname, fieldnum, null); - } - public DBFieldHandler(Class c, String fieldname, int fieldnum, SqlOp op) throws Exception { - this.fieldnum = fieldnum; - StringBuffer sb = new StringBuffer(); - for (String s: fieldname.split("_")) { - sb.append(s.substring(0, 1).toUpperCase()).append(s.substring(1)); - } - String camelcase = sb.toString(); - try { - objget = c.getMethod("is" + camelcase); - } catch (Exception e) { - objget = c.getMethod("get" + camelcase); - } - objset = c.getMethod("set" + camelcase, objget.getReturnType()); - sqlop = op; - if (sqlop != null) { - return; - } - Class x = objget.getReturnType(); - if (x.isEnum()) { - sqlop = new EnumSql(x); - return; - } - sqlop = sqltypes.get(x.getName()); - if (sqlop != null) { - return; - } - errorLogger.error(DmaapbcLogMessageEnum.DB_NO_FIELD_HANDLER, c.getName(), fieldname, Integer.toString(fieldnum), x.getName()); - } public static String fesc(String s) { if (s == null) { return(s); diff --git a/src/main/java/org/onap/dmaap/dbcapi/database/DatabaseClass.java b/src/main/java/org/onap/dmaap/dbcapi/database/DatabaseClass.java index f0a5582..11b0d15 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/database/DatabaseClass.java +++ b/src/main/java/org/onap/dmaap/dbcapi/database/DatabaseClass.java @@ -57,10 +57,6 @@ public class DatabaseClass extends BaseLoggingClass { } List rv = new ArrayList(); for (String s: val.split(",")) { - //String[] f = s.split(";"); - //if (f.length < 3) { - // continue; - //} rv.add(new String(s)); } return(rv); @@ -72,7 +68,7 @@ public class DatabaseClass extends BaseLoggingClass { } @SuppressWarnings("unchecked") List xv = (List)val; - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); String sep = ""; for (Object o: xv) { String rv = (String)o; @@ -152,17 +148,17 @@ public class DatabaseClass extends BaseLoggingClass { } try { dmaap = new DBSingleton(Dmaap.class, "dmaap"); - dcaeLocations = new DBMap(DcaeLocation.class, "dcae_location", "dcae_location_name"); - dr_nodes = new DBMap(DR_Node.class, "dr_node", "fqdn"); - dr_pubs = new DBMap(DR_Pub.class, "dr_pub", "pub_id"); - dr_subs = new DBMap(DR_Sub.class, "dr_sub", "sub_id"); - mr_clients = new DBMap(MR_Client.class, "mr_client", "mr_client_id"); - mr_clusters = new DBMap(MR_Cluster.class, "mr_cluster", "dcae_location_name"); - feeds = new DBMap(Feed.class, "feed", "feed_id"); + dcaeLocations = new DBMap<>(DcaeLocation.class, "dcae_location", "dcae_location_name"); + dr_nodes = new DBMap<>(DR_Node.class, "dr_node", "fqdn"); + dr_pubs = new DBMap<>(DR_Pub.class, "dr_pub", "pub_id"); + dr_subs = new DBMap<>(DR_Sub.class, "dr_sub", "sub_id"); + mr_clients = new DBMap<>(MR_Client.class, "mr_client", "mr_client_id"); + mr_clusters = new DBMap<>(MR_Cluster.class, "mr_cluster", "dcae_location_name"); + feeds = new DBMap<>(Feed.class, "feed", "feed_id"); TableHandler.setSpecialCase("topic", "replication_case", new TopicReplicationTypeHandler()); - topics = new DBMap(Topic.class, "topic", "fqtn"); + topics = new DBMap<>(Topic.class, "topic", "fqtn"); TableHandler.setSpecialCase("mirror_maker", "topics", new MirrorTopicsHandler()); - mirrors = new DBMap(MirrorMaker.class, "mirror_maker", "mm_name"); + mirrors = new DBMap<>(MirrorMaker.class, "mirror_maker", "mm_name"); } catch (Exception e) { errorLogger.error("Error initializing database access " + e, e); System.exit(1); @@ -193,15 +189,15 @@ public class DatabaseClass extends BaseLoggingClass { dmaap.setAccessKeyOwner(nd.getAccessKeyOwner()); } }; - dcaeLocations = new HashMap(); - dr_nodes = new HashMap(); - dr_pubs = new HashMap(); - dr_subs = new HashMap(); - mr_clients = new HashMap(); - mr_clusters = new HashMap(); - feeds = new HashMap(); - topics = new HashMap(); - mirrors = new HashMap(); + dcaeLocations = new HashMap<>(); + dr_nodes = new HashMap<>(); + dr_pubs = new HashMap<>(); + dr_subs = new HashMap<>(); + mr_clients = new HashMap<>(); + mr_clusters = new HashMap<>(); + feeds = new HashMap<>(); + topics = new HashMap<>(); + mirrors = new HashMap<>(); } dmaap.init(new Dmaap("0", "", "", "", "", "", "", "")); // check for, and set up initial data, if it isn't already there @@ -217,11 +213,12 @@ public class DatabaseClass extends BaseLoggingClass { dmaap.update(dmx); } } catch (Exception e) { + errorLogger.error("Error", e); errorLogger.error(DmaapbcLogMessageEnum.DB_UPDATE_ERROR, e.getMessage()); } } - public synchronized static String getNextClientId() { + public static synchronized String getNextClientId() { long id = System.currentTimeMillis(); if ( id <= lastTime ) { diff --git a/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java b/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java index 2c52b0d..1f1b078 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java +++ b/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java @@ -23,20 +23,12 @@ package org.onap.dmaap.dbcapi.database; import java.io.*; import java.sql.*; -import org.apache.log4j.Logger; - import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; - -import org.onap.dmaap.dbcapi.logging.DmaapbcLogMessageEnum; +; public class LoadSchema { private static final EELFLogger logger = EELFManager.getInstance().getLogger(LoadSchema.class); - private static final EELFLogger appLogger = EELFManager.getInstance().getApplicationLogger(); - private static final EELFLogger auditLogger = EELFManager.getInstance().getAuditLogger(); - private static final EELFLogger debugLogger = EELFManager.getInstance().getDebugLogger(); - private static final EELFLogger errorLogger = EELFManager.getInstance().getErrorLogger(); - private static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger(); static int getVer(Statement s) throws SQLException { ResultSet rs = null; @@ -66,6 +58,7 @@ public class LoadSchema { stmt.execute(cmd); logger.info("SCHEMA: " + cmd); } catch (SQLException sqle) { + logger.error("Error", sqle); throw sqle; } @@ -74,7 +67,9 @@ public class LoadSchema { int newver = -1; try { newver = getVer(stmt); - } catch (Exception e) {} + } catch (Exception e) { + logger.error("Error", e); + } logger.info("Database schema currently at version " + newver++); @@ -126,8 +121,20 @@ public class LoadSchema { } catch (IOException ioe) { throw new SQLException(ioe); } finally { - if (stmt != null) { try { stmt.close(); } catch (Exception e) {}} - if (c != null) { try { c.close(); } catch (Exception e) {}} + if (stmt != null) { + try { + stmt.close(); + } catch (Exception e) { + logger.error("Error", e); + } + } + if (c != null) { + try { + c.close(); + } catch (Exception e) { + logger.error("Error", e); + } + } } } public static void main(String[] args) throws Exception { diff --git a/src/main/java/org/onap/dmaap/dbcapi/database/TableHandler.java b/src/main/java/org/onap/dmaap/dbcapi/database/TableHandler.java index c83b6be..fc68aa2 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/database/TableHandler.java +++ b/src/main/java/org/onap/dmaap/dbcapi/database/TableHandler.java @@ -40,22 +40,10 @@ class TableHandler { protected String initstmt; protected Class cls; protected DBFieldHandler[] fields; - private static Map> exceptions = new HashMap>(); - public static void setSpecialCase(String dbtabname, String dbfldname, DBFieldHandler.SqlOp handler) { - Map m = exceptions.get(dbtabname); - if (m == null) { - m = new HashMap(); - exceptions.put(dbtabname, m); - } - m.put(dbfldname, handler); - } - public static DBFieldHandler.SqlOp getSpecialCase(String dbtabname, String dbfldname) { - Map m = exceptions.get(dbtabname); - if (m != null) { - return(m.get(dbfldname)); - } - return(null); - } + private static Map> exceptions = new HashMap<>(); + private String select = "SELECT "; + private String from = " FROM "; + protected TableHandler(Class cls, String tabname, String keyname) throws Exception { this(ConnectionFactory.getDefaultInstance(), cls, tabname, keyname); } @@ -71,14 +59,31 @@ class TableHandler { } } } + + public static void setSpecialCase(String dbtabname, String dbfldname, DBFieldHandler.SqlOp handler) { + Map m = exceptions.get(dbtabname); + if (m == null) { + m = new HashMap<>(); + exceptions.put(dbtabname, m); + } + m.put(dbfldname, handler); + } + public static DBFieldHandler.SqlOp getSpecialCase(String dbtabname, String dbfldname) { + Map m = exceptions.get(dbtabname); + if (m != null) { + return(m.get(dbfldname)); + } + return(null); + } + private void setup(DatabaseMetaData dmd, Class cls, String tabname, String keyname) throws Exception { this.cls = cls; - Vector h = new Vector(); + Vector h = new Vector<>(); String qualifiedTableName = String.format( "%s.%s", cf.getSchema(), tabname ); ResultSet rs = dmd.getColumns("", cf.getSchema(), tabname, null); - StringBuffer sb1 = new StringBuffer(); - StringBuffer sb2 = new StringBuffer(); - StringBuffer sb3 = new StringBuffer(); + StringBuilder sb1 = new StringBuilder(); + StringBuilder sb2 = new StringBuilder(); + StringBuilder sb3 = new StringBuilder(); int count = 0; while (rs.next()) { if (!rs.getString(3).equals(tabname)) { @@ -109,13 +114,13 @@ class TableHandler { h.add(new DBFieldHandler(cls, keyname, count, getSpecialCase(tabname, keyname))); delstmt = "DELETE FROM " + qualifiedTableName + " WHERE " + keyname + " = ?"; insorreplstmt = "INSERT INTO " + qualifiedTableName + " (" + clist + ", " + keyname + ") VALUES (" + qlist + ", ?) ON CONFLICT(" + keyname + ") DO UPDATE SET (" + clist + ") = (" + elist + ")"; - getstmt = "SELECT " + clist + ", " + keyname + " FROM " + qualifiedTableName + " WHERE " + keyname + " = ?"; - liststmt = "SELECT " + clist + ", " + keyname + " FROM " + qualifiedTableName; + getstmt = select + clist + ", " + keyname + from + qualifiedTableName + " WHERE " + keyname + " = ?"; + liststmt = select + clist + ", " + keyname + from + qualifiedTableName; } else { delstmt = "DELETE FROM " + qualifiedTableName; initstmt = "INSERT INTO " + qualifiedTableName + " (" + clist + ") VALUES (" + qlist + ")"; insorreplstmt = "UPDATE " + qualifiedTableName + " SET (" + clist + ") = (" + qlist + ")"; - getstmt = "SELECT " + clist + ", " + keyname + " FROM " + qualifiedTableName; + getstmt = select + clist + ", " + keyname + from + qualifiedTableName; } fields = h.toArray(new DBFieldHandler[h.size()]); } diff --git a/src/main/java/org/onap/dmaap/dbcapi/model/DR_Sub.java b/src/main/java/org/onap/dmaap/dbcapi/model/DR_Sub.java index 5a768c5..e089881 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/model/DR_Sub.java +++ b/src/main/java/org/onap/dmaap/dbcapi/model/DR_Sub.java @@ -42,32 +42,6 @@ public class DR_Sub extends DmaapObject { private boolean use100; private boolean suspended; private String owner; - - public String getOwner() { - return owner; - } - - public void setOwner(String owner) { - this.owner = owner; - } - - public boolean isSuspended() { - return suspended; - } - - public void setSuspended(boolean suspended) { - this.suspended = suspended; - } - - - - public boolean isUse100() { - return use100; - } - - public void setUse100(boolean use100) { - this.use100 = use100; - } public DR_Sub() { @@ -125,6 +99,32 @@ public class DR_Sub extends DmaapObject { logger.info( "new DR_Sub returning"); } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public boolean isSuspended() { + return suspended; + } + + public void setSuspended(boolean suspended) { + this.suspended = suspended; + } + + + + public boolean isUse100() { + return use100; + } + + public void setUse100(boolean use100) { + this.use100 = use100; + } public String getDcaeLocationName() { return dcaeLocationName; diff --git a/src/main/java/org/onap/dmaap/dbcapi/model/DcaeLocation.java b/src/main/java/org/onap/dmaap/dbcapi/model/DcaeLocation.java index 8248ef1..b4b5e2e 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/model/DcaeLocation.java +++ b/src/main/java/org/onap/dmaap/dbcapi/model/DcaeLocation.java @@ -26,7 +26,7 @@ import org.apache.log4j.Logger; @XmlRootElement public class DcaeLocation extends DmaapObject { - static final Logger logger = Logger.getLogger(MR_Cluster.class); + static final Logger errorLogger = Logger.getLogger(MR_Cluster.class); private String clli; private String dcaeLayer; private String dcaeLocationName; diff --git a/src/main/java/org/onap/dmaap/dbcapi/resources/TopicResource.java b/src/main/java/org/onap/dmaap/dbcapi/resources/TopicResource.java index 95f9d33..cab48ca 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/resources/TopicResource.java +++ b/src/main/java/org/onap/dmaap/dbcapi/resources/TopicResource.java @@ -96,7 +96,7 @@ public class TopicResource extends BaseLoggingClass { public Response addTopic( Topic topic ) { - logger.info( "addTopic request: " + String.valueOf(topic) ); + logger.info( "addTopic request: " + topic ); ApiService check = new ApiService(); try { @@ -104,10 +104,10 @@ public class TopicResource extends BaseLoggingClass { check.required( "topicDescription", topic.getTopicDescription(), "" ); check.required( "owner", topic.getOwner(), "" ); } catch( RequiredFieldException rfe ) { + logger.error("Error", rfe); return check.error(); } - //String repReq = topic.getReplicationRequest(); ReplicationType t = topic.getReplicationCase(); if ( t == null || t == ReplicationType.REPLICATION_NOT_SPECIFIED ) { topic.setReplicationCase( mr_topicService.reviewTopic(topic)); @@ -163,6 +163,7 @@ public class TopicResource extends BaseLoggingClass { try { check.required( "fqtn", id, "" ); } catch( RequiredFieldException rfe ) { + logger.error("Error", rfe); return check.error(); } @@ -192,6 +193,7 @@ public class TopicResource extends BaseLoggingClass { try { check.required( "topicName", id, "^\\S+$" ); //no white space allowed in topicName } catch( RequiredFieldException rfe ) { + logger.error("Error", rfe); return check.error(); } Topic mrc = mr_topicService.getTopic( id, check.getErr() );