aboutsummaryrefslogtreecommitdiffstats
path: root/integrity-audit
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2018-01-31 18:10:34 -0500
committerJim Hahn <jrh3@att.com>2018-02-01 10:50:48 -0500
commit0f51fa4e072aeb29f4e323cb6013fb4a873aae5c (patch)
tree1f0b28eea283e367725980e3e22acfaf89e628e2 /integrity-audit
parent9c978cea0a5af3d4a9d587a5f09b88d660bd498b (diff)
Fix sonar generic Exceptions in policy/common
IntegrityMonitor.java: Renamed variables, Ex: dep_groups => depGroups. Renamed enum constants, Ex: pdp_xacml => PDP_XACML. Merged "if" tests. Cast values to "long" before multiplying. Re-throw interrupt(). Write exception via logger instead of e.printStackTrace(). Moved constructor to top of the file. Removed most logger.isDebugEnabled() checks. Returned generic List instead of ArrayList. Used entrySet() instead of keySet(). Removed useless parentheses. Removed superfluous exceptions from "throws" declaration. DbAudit.java: Modified DbAudit to throw DbAuditException. Replaced references to HashSet and HashMap with generic Set and Map. Modified DbAudit to iterate over entrySet() instead of keySet(). ComponentAdminException: Created ComponentAdminException class. Modified ComponentAdmin methods to throw new exception class. Extracted "stateManager" String constant. Eliminated logger.isDebugEnabled() calls. Updated the license data. Eliminated double-checked locking problem from PropertyUtil: Modified code to use Initialization On Demand Holder idiom. Change-Id: Ic01288542041da26df483ce85ecaf292ac138f85 Issue-ID: POLICY-246 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'integrity-audit')
-rw-r--r--integrity-audit/src/main/java/org/onap/policy/common/ia/DbAudit.java68
-rw-r--r--integrity-audit/src/main/java/org/onap/policy/common/ia/DbDAO.java12
-rw-r--r--integrity-audit/src/test/java/org/onap/policy/common/ia/test/DbAuditCompareEntriesTest.java26
-rw-r--r--integrity-audit/src/test/java/org/onap/policy/common/ia/test/DbDAOTest.java21
4 files changed, 73 insertions, 54 deletions
diff --git a/integrity-audit/src/main/java/org/onap/policy/common/ia/DbAudit.java b/integrity-audit/src/main/java/org/onap/policy/common/ia/DbAudit.java
index 0f354571..21bf5c8d 100644
--- a/integrity-audit/src/main/java/org/onap/policy/common/ia/DbAudit.java
+++ b/integrity-audit/src/main/java/org/onap/policy/common/ia/DbAudit.java
@@ -25,7 +25,10 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.Properties;
+import java.util.Set;
import javax.persistence.Table;
@@ -111,7 +114,7 @@ public class DbAudit {
}
// Obtain all persistence class names for the PU we are auditing
- HashSet<String> classNameSet = dbDAO.getPersistenceClassNames();
+ Set<String> classNameSet = dbDAO.getPersistenceClassNames();
if(classNameSet == null || classNameSet.isEmpty()){
String msg = "DbAudit: For node " + resourceName + " Found no persistence class names";
@@ -139,7 +142,7 @@ public class DbAudit {
* This is the map of mismatched entries indexed by className. For
* each class name there is a list of mismatched entries
*/
- HashMap<String,HashSet<Object>> misMatchedMap = new HashMap<>();
+ Map<String,Set<Object>> misMatchedMap = new HashMap<>();
// We need to keep track of how long the audit is taking
long startTime = System.currentTimeMillis();
@@ -155,7 +158,7 @@ public class DbAudit {
}
// all instances of the class for myIae
- HashMap<Object,Object> myEntries = dbDAO.getAllMyEntries(clazzName);
+ Map<Object,Object> myEntries = dbDAO.getAllMyEntries(clazzName);
//get a map of the objects indexed by id. Does not necessarily have any entries
if (logger.isDebugEnabled()) {
@@ -184,7 +187,7 @@ public class DbAudit {
theirProperties.put(IntegrityAuditProperties.NODE_TYPE, iae.getNodeType());
//get a map of the instances for their iae indexed by id
- HashMap<Object,Object> theirEntries = dbDAO.getAllEntries(persistenceUnit, theirProperties, clazzName);
+ Map<Object,Object> theirEntries = dbDAO.getAllEntries(persistenceUnit, theirProperties, clazzName);
if (logger.isDebugEnabled()) {
logger.debug("dbAudit: For persistenceUnit="
+ persistenceUnit + ", clazzName=" + clazzName
@@ -197,9 +200,9 @@ public class DbAudit {
* Collect the IDs for the class where a mismatch occurred. We will check
* them again for all nodes later.
*/
- HashSet<Object> misMatchedKeySet = compareEntries(myEntries, theirEntries);
+ Set<Object> misMatchedKeySet = compareEntries(myEntries, theirEntries);
if(!misMatchedKeySet.isEmpty()){
- HashSet<Object> misMatchedEntry = misMatchedMap.get(clazzName);
+ Set<Object> misMatchedEntry = misMatchedMap.get(clazzName);
if(misMatchedEntry == null){
misMatchedMap.put(clazzName, misMatchedKeySet);
}else{
@@ -259,8 +262,8 @@ public class DbAudit {
}
// all instances of the class for myIae
- HashSet<Object> keySet = misMatchedMap.get(clazzName);
- HashMap<Object,Object> myEntries = dbDAO.getAllMyEntries(clazzName, keySet);
+ Set<Object> keySet = misMatchedMap.get(clazzName);
+ Map<Object,Object> myEntries = dbDAO.getAllMyEntries(clazzName, keySet);
//get a map of the objects indexed by id
if (logger.isDebugEnabled()) {
@@ -289,14 +292,14 @@ public class DbAudit {
theirProperties.put(IntegrityAuditProperties.NODE_TYPE, iae.getNodeType());
//get a map of the instances for their iae indexed by id
- HashMap<Object,Object> theirEntries = dbDAO.getAllEntries(persistenceUnit, theirProperties, clazzName, keySet);
+ Map<Object,Object> theirEntries = dbDAO.getAllEntries(persistenceUnit, theirProperties, clazzName, keySet);
/*
* Compare myEntries with theirEntries and get back a set of mismatched IDs.
* Collect the IDs for the class where a mismatch occurred. We will now
* write an error log for each.
*/
- HashSet<Object> misMatchedKeySet = compareEntries(myEntries, theirEntries);
+ Set<Object> misMatchedKeySet = compareEntries(myEntries, theirEntries);
if(!misMatchedKeySet.isEmpty()){
String keysString = "";
for(Object key: misMatchedKeySet){
@@ -349,22 +352,29 @@ public class DbAudit {
* @throws InterruptedException
* @throws DbDaoTransactionException
*/
- public void dbAuditSimulate(String resourceName, String persistenceUnit) throws InterruptedException,
- DbDaoTransactionException {
+ public void dbAuditSimulate(String resourceName, String persistenceUnit) throws DbAuditException {
- logger.info("dbAuditSimulate: Starting audit simulation for resourceName="
- + resourceName + ", persistenceUnit=" + persistenceUnit);
+ try {
+ logger.info("dbAuditSimulate: Starting audit simulation for resourceName="
+ + resourceName + ", persistenceUnit=" + persistenceUnit);
- for (int i = 0; i < AuditThread.AUDIT_SIMULATION_ITERATIONS; i++) {
- dbDAO.setLastUpdated();
- logger.info("dbAuditSimulate: i=" + i + ", sleeping "
- + AuditThread.AUDIT_SIMULATION_SLEEP_INTERVAL + "ms");
- Thread.sleep(AuditThread.AUDIT_SIMULATION_SLEEP_INTERVAL);
- }
-
- logger.info("dbAuditSimulate: Finished audit simulation for resourceName="
- + resourceName + ", persistenceUnit=" + persistenceUnit);
+ for (int i = 0; i < AuditThread.AUDIT_SIMULATION_ITERATIONS; i++) {
+ dbDAO.setLastUpdated();
+ logger.info("dbAuditSimulate: i=" + i + ", sleeping "
+ + AuditThread.AUDIT_SIMULATION_SLEEP_INTERVAL + "ms");
+ Thread.sleep(AuditThread.AUDIT_SIMULATION_SLEEP_INTERVAL);
+ }
+ logger.info("dbAuditSimulate: Finished audit simulation for resourceName="
+ + resourceName + ", persistenceUnit=" + persistenceUnit);
+
+ } catch(DbDaoTransactionException e) {
+ throw new DbAuditException(e);
+
+ } catch (InterruptedException e) {
+ Thread.currentThread().interrupt();
+ throw new DbAuditException(e);
+ }
}
/**
@@ -373,7 +383,7 @@ public class DbAudit {
* @param theirEntries
* @return
*/
- public HashSet<Object> compareEntries(HashMap<Object,Object> myEntries, HashMap<Object,Object> theirEntries){
+ public Set<Object> compareEntries(Map<Object,Object> myEntries, Map<Object,Object> theirEntries){
/*
* Compare the entries for the same key in each of the hashmaps. The comparison will be done by serializing the objects
* (create a byte array) and then do a byte array comparison. The audit will walk the local repository hash map comparing
@@ -385,8 +395,9 @@ public class DbAudit {
*
*/
HashSet<Object> misMatchedKeySet = new HashSet<>();
- for(Object key: myEntries.keySet()){
- byte[] mySerializedEntry = SerializationUtils.serialize((Serializable) myEntries.get(key));
+ for(Entry<Object, Object> ent: myEntries.entrySet()) {
+ Object key = ent.getKey();
+ byte[] mySerializedEntry = SerializationUtils.serialize((Serializable) ent.getValue());
byte[] theirSerializedEntry = SerializationUtils.serialize((Serializable) theirEntries.get(key));
if(!Arrays.equals(mySerializedEntry, theirSerializedEntry)){
logger.debug("compareEntries: For myEntries.key=" + key + ", entries do not match");
@@ -396,9 +407,10 @@ public class DbAudit {
}
}
//now compare it in the other direction to catch entries in their set that is not in my set
- for(Object key: theirEntries.keySet()){
+ for(Entry<Object, Object> ent: theirEntries.entrySet()) {
+ Object key = ent.getKey();
byte[] mySerializedEntry = SerializationUtils.serialize((Serializable) myEntries.get(key));
- byte[] theirSerializedEntry = SerializationUtils.serialize((Serializable) theirEntries.get(key));
+ byte[] theirSerializedEntry = SerializationUtils.serialize((Serializable) ent.getValue());
if(!Arrays.equals(mySerializedEntry, theirSerializedEntry)){
logger.debug("compareEntries: For theirEntries.key=" + key + ", entries do not match");
misMatchedKeySet.add(key);
diff --git a/integrity-audit/src/main/java/org/onap/policy/common/ia/DbDAO.java b/integrity-audit/src/main/java/org/onap/policy/common/ia/DbDAO.java
index 99503854..b30c7730 100644
--- a/integrity-audit/src/main/java/org/onap/policy/common/ia/DbDAO.java
+++ b/integrity-audit/src/main/java/org/onap/policy/common/ia/DbDAO.java
@@ -24,7 +24,9 @@ import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
+import java.util.Set;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
@@ -119,7 +121,7 @@ public class DbDAO {
* @param className
* @return
*/
- public HashMap<Object, Object> getAllMyEntries(String className) {
+ public Map<Object, Object> getAllMyEntries(String className) {
logger.debug("getAllMyEntries: Entering, className="
+ className);
HashMap<Object, Object> resultMap = new HashMap<>();
@@ -152,7 +154,7 @@ public class DbDAO {
* @param keySet
* @return
*/
- public HashMap<Object, Object> getAllMyEntries(String className, HashSet<Object> keySet){
+ public Map<Object, Object> getAllMyEntries(String className, Set<Object> keySet){
logger.debug("getAllMyEntries: Entering, className="
+ className + ",\n keySet=" + keySet);
@@ -180,7 +182,7 @@ public class DbDAO {
* @param className
* @return
*/
- public HashMap<Object,Object> getAllEntries(String persistenceUnit, Properties properties, String className){
+ public Map<Object,Object> getAllEntries(String persistenceUnit, Properties properties, String className){
logger.debug("getAllEntries: Entering, persistenceUnit="
+ persistenceUnit + ",\n className=" + className);
@@ -221,7 +223,7 @@ public class DbDAO {
* @return
*/
- public HashMap<Object,Object> getAllEntries(String persistenceUnit, Properties properties, String className, HashSet<Object> keySet){
+ public Map<Object,Object> getAllEntries(String persistenceUnit, Properties properties, String className, Set<Object> keySet){
logger.debug("getAllEntries: Entering, persistenceUnit="
+ persistenceUnit + ",\n properties= " + properties + ",\n className=" + className + ",\n keySet= " + keySet);
EntityManagerFactory theEmf = Persistence.createEntityManagerFactory(persistenceUnit, properties);
@@ -364,7 +366,7 @@ public class DbDAO {
* getPersistenceClassNames() gets all the persistence class names.
* @return
*/
- public HashSet<String> getPersistenceClassNames(){
+ public Set<String> getPersistenceClassNames(){
logger.debug("DbDAO: getPersistenceClassNames() entry");
HashSet<String> returnList = new HashSet<>();
final Metamodel mm = emf.getMetamodel();
diff --git a/integrity-audit/src/test/java/org/onap/policy/common/ia/test/DbAuditCompareEntriesTest.java b/integrity-audit/src/test/java/org/onap/policy/common/ia/test/DbAuditCompareEntriesTest.java
index d8388c58..3bedcb0b 100644
--- a/integrity-audit/src/test/java/org/onap/policy/common/ia/test/DbAuditCompareEntriesTest.java
+++ b/integrity-audit/src/test/java/org/onap/policy/common/ia/test/DbAuditCompareEntriesTest.java
@@ -26,7 +26,9 @@ import java.io.FileOutputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Map;
import java.util.Properties;
+import java.util.Set;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
@@ -129,7 +131,7 @@ public class DbAuditCompareEntriesTest {
String className = null;
//There is only one entry IntegrityAuditEntity, but we will check anyway
- HashSet<String> classNameSet = dbDAO.getPersistenceClassNames();
+ Set<String> classNameSet = dbDAO.getPersistenceClassNames();
for(String c : classNameSet){
if (c.equals("org.onap.policy.common.ia.jpa.IntegrityAuditEntity")){
className = c;
@@ -175,7 +177,7 @@ public class DbAuditCompareEntriesTest {
myEntries.put("pdp1", entry1);
theirEntries.put("pdp1", entry2);
- HashSet<Object> result = dbAudit.compareEntries(myEntries, theirEntries);
+ Set<Object> result = dbAudit.compareEntries(myEntries, theirEntries);
/*
* Assert that there are no mismatches returned
@@ -235,7 +237,7 @@ public class DbAuditCompareEntriesTest {
myEntries.put("pdp1", entry1);
theirEntries.put("pdp1", entry2);
- HashSet<Object> result = dbAudit.compareEntries(myEntries, theirEntries);
+ Set<Object> result = dbAudit.compareEntries(myEntries, theirEntries);
/*
* Assert that there was one mismatch
@@ -322,7 +324,7 @@ public class DbAuditCompareEntriesTest {
theirEntries.put("0", entry2);
theirEntries.put("2", entry4);
- HashSet<Object> mismatchResult = dbAudit.compareEntries(myEntries, theirEntries);
+ Set<Object> mismatchResult = dbAudit.compareEntries(myEntries, theirEntries);
/*
* Assert 3 mismatches/missing entries were found
@@ -343,8 +345,8 @@ public class DbAuditCompareEntriesTest {
dbDAO = new DbDAO(resourceName, persistenceUnit, properties);
DbAudit dbAudit = new DbAudit(dbDAO);
- HashSet<String> classNameSet = dbDAO.getPersistenceClassNames();
- HashSet<Object> mismatchResult = new HashSet<Object>();
+ Set<String> classNameSet = dbDAO.getPersistenceClassNames();
+ Set<Object> mismatchResult = new HashSet<Object>();
for(String c : classNameSet) {
if (c.equals("org.onap.policy.common.ia.jpa.IntegrityAuditEntity")){
String resourceName1 = resourceName;
@@ -537,10 +539,10 @@ public class DbAuditCompareEntriesTest {
new DbDAO("pdp2", persistenceUnit, properties2);
// Pull all entries and compare
- HashSet<String> classNameSet = dbDAO.getPersistenceClassNames();
- HashMap<Object, Object> myEntries;
- HashMap<Object, Object> theirEntries;
- HashSet<Object> mismatchResult = new HashSet<Object>();
+ Set<String> classNameSet = dbDAO.getPersistenceClassNames();
+ Map<Object, Object> myEntries;
+ Map<Object, Object> theirEntries;
+ Set<Object> mismatchResult = new HashSet<Object>();
String className;
for(String c : classNameSet) {
className = c;
@@ -572,7 +574,7 @@ public class DbAuditCompareEntriesTest {
String className = null;
//There is only one entry IntegrityAuditEntity, but we will check anyway
- HashSet<String> classNameSet = dbDAO.getPersistenceClassNames();
+ Set<String> classNameSet = dbDAO.getPersistenceClassNames();
for(String c : classNameSet){
if (c.equals("org.onap.policy.common.ia.test.jpa.IaTestEntity")){
className = c;
@@ -608,7 +610,7 @@ public class DbAuditCompareEntriesTest {
myEntries.put("0", iate);
theirEntries.put("0", iate2);
- HashSet<Object> result = dbAudit.compareEntries(myEntries, theirEntries);
+ Set<Object> result = dbAudit.compareEntries(myEntries, theirEntries);
/*
* Assert that there are no mismatches returned
diff --git a/integrity-audit/src/test/java/org/onap/policy/common/ia/test/DbDAOTest.java b/integrity-audit/src/test/java/org/onap/policy/common/ia/test/DbDAOTest.java
index 4fd51f6e..ac3bc587 100644
--- a/integrity-audit/src/test/java/org/onap/policy/common/ia/test/DbDAOTest.java
+++ b/integrity-audit/src/test/java/org/onap/policy/common/ia/test/DbDAOTest.java
@@ -20,7 +20,10 @@
package org.onap.policy.common.ia.test;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
/*
* All JUnits are designed to run in the local development environment
@@ -28,10 +31,11 @@ import static org.junit.Assert.*;
* tasks.
*/
import java.util.Date;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
+import java.util.Set;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
@@ -47,7 +51,6 @@ import javax.persistence.criteria.Root;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-
import org.onap.policy.common.ia.DbDAO;
import org.onap.policy.common.ia.DbDaoTransactionException;
import org.onap.policy.common.ia.IntegrityAuditProperties;
@@ -487,7 +490,7 @@ public class DbDAOTest {
try {
// Obtain a hash with the persisted objects
- HashMap<Object, Object> entries = d.getAllMyEntries("org.onap.policy.common.ia.jpa.IntegrityAuditEntity");
+ Map<Object, Object> entries = d.getAllMyEntries("org.onap.policy.common.ia.jpa.IntegrityAuditEntity");
// Assert there were 3 entries for that class
assertEquals(3, entries.size());
@@ -543,7 +546,7 @@ public class DbDAOTest {
}
// Obtain a hash with the persisted objects
- HashMap<Object, Object> entries = d.getAllMyEntries("org.onap.policy.common.ia.jpa.IntegrityAuditEntity", resultSet);
+ Map<Object, Object> entries = d.getAllMyEntries("org.onap.policy.common.ia.jpa.IntegrityAuditEntity", resultSet);
// Assert there were 3 entries for that class
assertEquals(3, entries.size());
@@ -591,7 +594,7 @@ public class DbDAOTest {
try {
// Obtain a hash with the persisted objects
- HashMap<Object, Object> entries = d.getAllEntries("integrityAuditPU", properties, "org.onap.policy.common.ia.jpa.IntegrityAuditEntity");
+ Map<Object, Object> entries = d.getAllEntries("integrityAuditPU", properties, "org.onap.policy.common.ia.jpa.IntegrityAuditEntity");
// Assert there were 3 entries for that class
assertEquals(3, entries.size());
@@ -647,7 +650,7 @@ public class DbDAOTest {
}
// Obtain a hash with the persisted objects
- HashMap<Object, Object> entries = d.getAllEntries("integrityAuditPU", properties, "org.onap.policy.common.ia.jpa.IntegrityAuditEntity", resultSet);
+ Map<Object, Object> entries = d.getAllEntries("integrityAuditPU", properties, "org.onap.policy.common.ia.jpa.IntegrityAuditEntity", resultSet);
// Assert there were 3 entries for that class
assertEquals(3, entries.size());
@@ -695,7 +698,7 @@ public class DbDAOTest {
try {
// Obtain a hash with the persisted objects
- HashMap<Object, Object> entries = d.getAllEntries(persistenceUnit, properties, "org.onap.policy.common.ia.jpa.IntegrityAuditEntity");
+ Map<Object, Object> entries = d.getAllEntries(persistenceUnit, properties, "org.onap.policy.common.ia.jpa.IntegrityAuditEntity");
// Assert there were 3 entries for that class
assertEquals(3, entries.size());
@@ -733,7 +736,7 @@ public class DbDAOTest {
e.printStackTrace();
}
// Retrieve persistence class names
- HashSet<String> result = d.getPersistenceClassNames();
+ Set<String> result = d.getPersistenceClassNames();
assertEquals(1, result.size());
}
}