Merge "Add coverage to feature-active-standby-management"
diff --git a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/ActiveStandbyFeature.java b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/ActiveStandbyFeature.java
index 5b1caea..2be4445 100644
--- a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/ActiveStandbyFeature.java
+++ b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/ActiveStandbyFeature.java
@@ -47,7 +47,7 @@
  * 'PolicyContainer' and 'Main'. It was moved here as part of making this
  * a separate optional feature.
  */
-public class ActiveStandbyFeature implements ActiveStandbyFeatureApi, 
+public class ActiveStandbyFeature implements ActiveStandbyFeatureApi,
     PolicySessionFeatureApi, PolicyEngineFeatureApi {
     // get an instance of logger
     private static final Logger logger =
@@ -84,20 +84,16 @@
 
         for (StateManagementFeatureApi feature : StateManagementFeatureApi.impl.getList()) {
             if (feature.getResourceName().equals(myPdp.getPdpId())) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("ActiveStandbyFeature.globalInit: Found StateManagementFeature"
-                            + " with resourceName: {}", myPdp.getPdpId());
-                }
+                logger.debug("ActiveStandbyFeature.globalInit: Found StateManagementFeature"
+                                + " with resourceName: {}", myPdp.getPdpId());
                 stateManagementFeature = feature;
                 break;
             }
         }
         if (stateManagementFeature == null) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("ActiveStandbyFeature failed to initialize.  "
-                        + "Unable to get instance of StateManagementFeatureApi "
-                        + "with resourceID: {}", myPdp.getPdpId());
-            }
+            logger.debug("ActiveStandbyFeature failed to initialize.  "
+                            + "Unable to get instance of StateManagementFeatureApi "
+                            + "with resourceID: {}", myPdp.getPdpId());
             logger.error("ActiveStandbyFeature failed to initialize.  "
                     + "Unable to get instance of StateManagementFeatureApi "
                     + "with resourceID: {}", myPdp.getPdpId());
@@ -114,9 +110,7 @@
 
         //Register the PMStandbyStateChangeNotifier Observer
         stateManagementFeature.addObserver(pmNotifier);
-        if (logger.isDebugEnabled()) {
-            logger.debug("ActiveStandbyFeature.globalInit() exit");
-        }
+        logger.debug("ActiveStandbyFeature.globalInit() exit");
     }
 
 
diff --git a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/ActiveStandbyProperties.java b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/ActiveStandbyProperties.java
index 009ff8c..3a0ba4d 100644
--- a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/ActiveStandbyProperties.java
+++ b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/ActiveStandbyProperties.java
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * feature-active-standby-management
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -25,7 +25,7 @@
 import org.slf4j.LoggerFactory;
 
 public class ActiveStandbyProperties {
-    // get an instance of logger 
+    // get an instance of logger
     private static final Logger  logger = LoggerFactory.getLogger(ActiveStandbyProperties.class);
 
     public static final String PDP_CHECK_INVERVAL = "pdp.checkInterval";
@@ -47,17 +47,17 @@
     private static Properties properties = null;
 
     private ActiveStandbyProperties() {
-        throw new IllegalStateException("Utility class");
+        // do nothing
     }
-    
+
     /**
      * Initialize the parameter values from the droolsPersitence.properties file values.
-     * 
+     *
      * <p>This is designed so that the Properties object is obtained from properties
      * file and then is passed to this method to initialize the value of the parameters.
      * This allows the flexibility of JUnit tests using getProperties(filename) to get the
      * properties while runtime methods can use getPropertiesFromClassPath(filename).
-     * 
+     *
      * @param prop properties
      */
     public static void initProperties(Properties prop) {
diff --git a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpObject.java b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpObject.java
index 49f6b02..8ac14f0 100644
--- a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpObject.java
+++ b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpObject.java
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * feature-active-standby-management
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -31,47 +31,38 @@
             return false;
         }
     }
-    
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + (this.getPdpId() == null ? 0 : this.getPdpId().hashCode());
-        result = prime * result + (this.getSiteName() == null ? 0 : this.getSiteName().hashCode());
-        result = prime * result + this.getPriority();
-        return super.hashCode();
-    }
-    
+
     private int nullSafeCompare(String one, String two) {
-        if (one != null && two != null) {
-            return one.compareTo(two);
-        }
-        if (one == null && two != null) {
+        if (one != null) {
+            if (two != null) {
+                return one.compareTo(two);
+
+            } else {
+                return 1;
+            }
+
+        } else if (two != null) {
             return -1;
+
+        } else {
+            return 0;
         }
-        if (one != null && two == null) {
-            return 1;
-        }
-        return 0;
     }
-    
+
     @Override
     public int comparePriority(DroolsPdp other) {
-        if (nullSafeCompare(this.getSiteName(),other.getSiteName()) == 0) {
-            if (this.getPriority() != other.getPriority()) {
-                return this.getPriority() - other.getPriority();
-            }
-            return this.getPdpId().compareTo(other.getPdpId());
-        } else {
-            return nullSafeCompare(this.getSiteName(),other.getSiteName());
-        }
+        return commonCompare(other);
     }
-    
+
     @Override
     public int comparePriority(DroolsPdp other, String previousSite) {
         if (previousSite == null || previousSite.isEmpty()) {
             return comparePriority(other);
         }
+        return commonCompare(other);
+    }
+
+    private int commonCompare(DroolsPdp other) {
         if (nullSafeCompare(this.getSiteName(),other.getSiteName()) == 0) {
             if (this.getPriority() != other.getPriority()) {
                 return this.getPriority() - other.getPriority();
diff --git a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpsElectionHandler.java b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpsElectionHandler.java
index 85a0e3a..cd8d369 100644
--- a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpsElectionHandler.java
+++ b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/DroolsPdpsElectionHandler.java
@@ -137,10 +137,8 @@
 
         for (StateManagementFeatureApi feature : StateManagementFeatureApi.impl.getList()) {
             if (feature.getResourceName().equals(myPdp.getPdpId())) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("DroolsPdpsElectionHandler: Found StateManagementFeature"
-                            + " with resourceName: {}", myPdp.getPdpId());
-                }
+                logger.debug("DroolsPdpsElectionHandler: Found StateManagementFeature"
+                                + " with resourceName: {}", myPdp.getPdpId());
                 stateManagementFeature = feature;
                 break;
             }
@@ -168,9 +166,7 @@
      * @param designated is designated value
      */
     public static void setMyPdpDesignated(boolean designated) {
-        if (logger.isDebugEnabled()) {
-            logger.debug("setMyPdpDesignated: designated= {}", designated);
-        }
+        logger.debug("setMyPdpDesignated: designated= {}", designated);
         myPdp.setDesignated(designated);
     }
 
@@ -181,24 +177,18 @@
         @Override
         public void run() {
             try {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("DesignatedWaiter.run: Entering");
-                }
+                logger.debug("DesignatedWaiter.run: Entering");
 
                 //This is for testing the checkWaitTimer
                 if (isUnitTesting && isStalled) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("DesignatedWaiter.run: isUnitTesting = {} isStalled = {}",
-                                isUnitTesting, isStalled);
-                    }
+                    logger.debug("DesignatedWaiter.run: isUnitTesting = {} isStalled = {}",
+                                    isUnitTesting, isStalled);
                     return;
                 }
 
                 synchronized (designationWaiterLock) {
 
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("DesignatedWaiter.run: Entering synchronized block");
-                    }
+                    logger.debug("DesignatedWaiter.run: Entering synchronized block");
 
                     //It is possible that multiple PDPs are designated lead.  So, we will make a list of all designated
                     //PDPs and then decide which one really should be designated at the end.
@@ -206,19 +196,13 @@
 
                     Collection<DroolsPdp> pdps = pdpsConnector.getDroolsPdps();
 
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("DesignatedWaiter.run: pdps.size= {}", pdps.size());
-                    }
+                    logger.debug("DesignatedWaiter.run: pdps.size= {}", pdps.size());
 
                     //This is only true if all designated PDPs have failed
                     boolean designatedPdpHasFailed = pdpsConnector.hasDesignatedPdpFailed(pdps);
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("DesignatedWaiter.run: designatedPdpHasFailed= {}", designatedPdpHasFailed);
-                    }
+                    logger.debug("DesignatedWaiter.run: designatedPdpHasFailed= {}", designatedPdpHasFailed);
                     for (DroolsPdp pdp : pdps) {
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("DesignatedWaiter.run: evaluating pdp ID: {}", pdp.getPdpId());
-                        }
+                        logger.debug("DesignatedWaiter.run: evaluating pdp ID: {}", pdp.getPdpId());
 
                         /*
                          * Note: side effect of isPdpCurrent is that any stale but
@@ -238,9 +222,7 @@
                             // single-node test environment.
                             standbyStatus = StateManagement.COLD_STANDBY;
                         }
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("DesignatedWaiter.run: PDP= {},  isCurrent= {}", pdp.getPdpId(), isCurrent);
-                        }
+                        logger.debug("DesignatedWaiter.run: PDP= {},  isCurrent= {}", pdp.getPdpId(), isCurrent);
 
                         /*
                          * There are 4 combinations of isDesignated and isCurrent.  We will examine each one in-turn
@@ -253,11 +235,9 @@
                             //If so, we need to stand it down and demote it
                             if (!standbyStatus.equals(StateManagement.PROVIDING_SERVICE)) {
                                 if (pdp.getPdpId().equals(myPdp.getPdpId())) {
-                                    if (logger.isDebugEnabled()) {
-                                        logger.debug("\n\nDesignatedWaiter.run: myPdp {} is current and designated, "
-                                                + "butstandbystatus is not providingservice. "
-                                                + " Executing stateManagement.demote()" + "\n\n", myPdp.getPdpId());
-                                    }
+                                    logger.debug("\n\nDesignatedWaiter.run: myPdp {} is current and designated, "
+                                                    + "butstandbystatus is not providingservice. "
+                                                    + " Executing stateManagement.demote()" + "\n\n", myPdp.getPdpId());
                                     // So, we must demote it
                                     try {
                                         //Keep the order like this.  StateManagement is last since it
@@ -285,23 +265,19 @@
                                     }
                                 } else {
                                     // Don't demote a remote PDP that is current.  It should catch itself
-                                    if (logger.isDebugEnabled()) {
-                                        logger.debug("\n\nDesignatedWaiter.run: myPdp {} is current and designated, "
-                                                + "but standbystatus is not providingservice. "
-                                                + " Cannot execute stateManagement.demote() "
-                                                + "since it it is not myPdp\n\n",
-                                                myPdp.getPdpId());
-                                    }
+                                    logger.debug("\n\nDesignatedWaiter.run: myPdp {} is current and designated, "
+                                                    + "but standbystatus is not providingservice. "
+                                                    + " Cannot execute stateManagement.demote() "
+                                                    + "since it it is not myPdp\n\n",
+                                                    myPdp.getPdpId());
                                 }
 
                             } else {
                                 // If we get here, it is ok to be on the list
-                                if (logger.isDebugEnabled()) {
-                                    logger.debug("DesignatedWaiter.run: PDP= {} is designated, "
-                                            + "current and {} Noting PDP as "
-                                            + "designated, standbyStatus= {}",
-                                            pdp.getPdpId(), standbyStatus, standbyStatus);
-                                }
+                                logger.debug("DesignatedWaiter.run: PDP= {} is designated, "
+                                                + "current and {} Noting PDP as "
+                                                + "designated, standbyStatus= {}",
+                                                pdp.getPdpId(), standbyStatus, standbyStatus);
                                 listOfDesignated.add(pdp);
                             }
 
@@ -317,12 +293,10 @@
                          * its standbyStatus is). None of these go on the list.
                          */
                         if (pdp.isDesignated()  &&  !isCurrent) {
-                            if (logger.isDebugEnabled()) {
-                                logger.debug("INFO: DesignatedWaiter.run: PDP= {} is currently "
-                                        + "designated but is not current; "
-                                        + "it has failed.  Standing down.  standbyStatus= {}",
-                                        pdp.getPdpId(), standbyStatus);
-                            }
+                            logger.debug("INFO: DesignatedWaiter.run: PDP= {} is currently "
+                                            + "designated but is not current; "
+                                            + "it has failed.  Standing down.  standbyStatus= {}",
+                                            pdp.getPdpId(), standbyStatus);
                             /*
                              * Changes designated to 0 but it is still potentially providing service
                              * Will affect isDesignated, so, it can enter an if(combination) below
@@ -331,10 +305,8 @@
 
                             //need to change standbystatus to coldstandby
                             if (pdp.getPdpId().equals(myPdp.getPdpId())) {
-                                if (logger.isDebugEnabled()) {
-                                    logger.debug("\n\nDesignatedWaiter.run: myPdp {} is not Current. "
-                                            + " Executing stateManagement.disableFailed()\n\n", myPdp.getPdpId());
-                                }
+                                logger.debug("\n\nDesignatedWaiter.run: myPdp {} is not Current. "
+                                                + " Executing stateManagement.disableFailed()\n\n", myPdp.getPdpId());
                                 // We found that myPdp is designated but not current
                                 // So, we must cause it to disableFail
                                 try {
@@ -348,11 +320,9 @@
                                             myPdp.getPdpId(), myPdp.getPdpId(), e);
                                 }
                             } else { //it is a remote PDP that is failed
-                                if (logger.isDebugEnabled()) {
-                                    logger.debug("\n\nDesignatedWaiter.run: PDP {} is not Current. "
-                                            + " Executing stateManagement.disableFailed(otherResourceName)\n\n",
-                                            pdp.getPdpId() );
-                                }
+                                logger.debug("\n\nDesignatedWaiter.run: PDP {} is not Current. "
+                                                + " Executing stateManagement.disableFailed(otherResourceName)\n\n",
+                                                pdp.getPdpId() );
                                 // We found a PDP is designated but not current
                                 // We already called standdown(pdp) which will change designated to false
                                 // Now we need to disableFail it to get its states in synch.  The standbyStatus
@@ -379,20 +349,16 @@
                         if (!pdp.isDesignated() && isCurrent) {
                             if (!(standbyStatus.equals(StateManagement.HOT_STANDBY)
                                     || standbyStatus.equals(StateManagement.COLD_STANDBY))) {
-                                if (logger.isDebugEnabled()) {
-                                    logger.debug("\n\nDesignatedWaiter.run: PDP {}"
-                                            + " is NOT designated but IS current and"
-                                            + " has a standbystatus= {}", pdp.getPdpId(), standbyStatus);
-                                }
+                                logger.debug("\n\nDesignatedWaiter.run: PDP {}"
+                                                + " is NOT designated but IS current and"
+                                                + " has a standbystatus= {}", pdp.getPdpId(), standbyStatus);
                                 // Since it is current, we assume it can adjust its own state.
                                 // We will demote if it is myPdp
                                 if (pdp.getPdpId().equals(myPdp.getPdpId())) {
                                     //demote it
-                                    if (logger.isDebugEnabled()) {
-                                        logger.debug("DesignatedWaiter.run: PDP {} going to "
-                                                + "setDesignated = false and calling stateManagement.demote",
-                                                pdp.getPdpId());
-                                    }
+                                    logger.debug("DesignatedWaiter.run: PDP {} going to "
+                                                    + "setDesignated = false and calling stateManagement.demote",
+                                                    pdp.getPdpId());
                                     try {
                                         //Keep the order like this.
                                         //StateManagement is last since it triggers controller shutdown
@@ -414,12 +380,10 @@
                             }
                             if (standbyStatus.equals(StateManagement.HOT_STANDBY) && designatedPdpHasFailed) {
                                 //add it to the list
-                                if (logger.isDebugEnabled()) {
-                                    logger.debug("INFO: DesignatedWaiter.run: PDP= {}"
-                                            + " is not designated but is {} and designated PDP "
-                                            + "has failed.  standbyStatus= {}", pdp.getPdpId(),
-                                            standbyStatus, standbyStatus);
-                                }
+                                logger.debug("INFO: DesignatedWaiter.run: PDP= {}"
+                                                + " is not designated but is {} and designated PDP "
+                                                + "has failed.  standbyStatus= {}", pdp.getPdpId(),
+                                                standbyStatus, standbyStatus);
                                 listOfDesignated.add(pdp);
                             }
                             continue; //done with this one
@@ -433,27 +397,24 @@
                          *
                          */
                         if (!pdp.isDesignated() && !isCurrent) {
-                            if (logger.isDebugEnabled()) {
-                                logger.debug("INFO: DesignatedWaiter.run: PDP= {} "
-                                        + "designated= {}, current= {}, "
-                                        + "designatedPdpHasFailed= {}, "
-                                        + "standbyStatus= {}",pdp.getPdpId(),
-                                        pdp.isDesignated(), isCurrent, designatedPdpHasFailed, standbyStatus);
-                            }
+                            logger.debug("INFO: DesignatedWaiter.run: PDP= {} "
+                                            + "designated= {}, current= {}, "
+                                            + "designatedPdpHasFailed= {}, "
+                                            + "standbyStatus= {}",pdp.getPdpId(),
+                                            pdp.isDesignated(), isCurrent, designatedPdpHasFailed, standbyStatus);
                             if (!standbyStatus.equals(StateManagement.COLD_STANDBY)) {
                                 //stand it down
                                 //disableFail it
                                 pdpsConnector.standDownPdp(pdp.getPdpId());
                                 if (pdp.getPdpId().equals(myPdp.getPdpId())) {
                                     /*
-                                     * I don't actually know how this condition could happen,
-                                     * but if it did, we would want
-                                     * to declare it failed.
+                                     * I don't actually know how this condition could
+                                     * happen, but if it did, we would want to declare it
+                                     * failed.
                                      */
-                                    if (logger.isDebugEnabled()) {
-                                        logger.debug("\n\nDesignatedWaiter.run: myPdp {} is !current and !designated, "
-                                                + " Executing stateManagement.disableFailed()\n\n", myPdp.getPdpId());
-                                    }
+                                    logger.debug("\n\nDesignatedWaiter.run: myPdp {} is !current and !designated, "
+                                                    + " Executing stateManagement.disableFailed()\n\n",
+                                                    myPdp.getPdpId());
                                     // So, we must disableFail it
                                     try {
                                         //Keep the order like this.
@@ -468,11 +429,9 @@
                                                 myPdp.getPdpId(), myPdp.getPdpId(), e);
                                     }
                                 } else { //it is remote
-                                    if (logger.isDebugEnabled()) {
-                                        logger.debug("\n\nDesignatedWaiter.run: myPdp {} is !current and !designated, "
-                                                + " Executing stateManagement.disableFailed({})\n\n",
-                                                myPdp.getPdpId(), pdp.getPdpId());
-                                    }
+                                    logger.debug("\n\nDesignatedWaiter.run: myPdp {} is !current and !designated, "
+                                                    + " Executing stateManagement.disableFailed({})\n\n",
+                                                    myPdp.getPdpId(), pdp.getPdpId());
                                     // We already called standdown(pdp) which will change designated to false
                                     // Now we need to disableFail it to get its states in sync.
                                     // StandbyStatus = coldstandby
@@ -541,19 +500,15 @@
                         isDesignated = false;
 
                         waitTimerLastRunDate = new Date();
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("DesignatedWaiter.run (designatedPdp == null) waitTimerLastRunDate = {}",
-                                    waitTimerLastRunDate);
-                        }
+                        logger.debug("DesignatedWaiter.run (designatedPdp == null) waitTimerLastRunDate = {}",
+                                        waitTimerLastRunDate);
                         myPdp.setUpdatedDate(waitTimerLastRunDate);
                         pdpsConnector.update(myPdp);
 
                         return;
 
                     } else if (designatedPdp.getPdpId().equals(myPdp.getPdpId())) {
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("DesignatedWaiter.run: designatedPdp is PDP={}", myPdp.getPdpId());
-                        }
+                        logger.debug("DesignatedWaiter.run: designatedPdp is PDP={}", myPdp.getPdpId());
                         /*
                          * update function expects myPdp.isDesignated to be true.
                          */
@@ -601,10 +556,8 @@
 
                         }
                         waitTimerLastRunDate = new Date();
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("DesignatedWaiter.run (designatedPdp.getPdpId().equals(myPdp.getPdpId())) "
-                                    + "waitTimerLastRunDate = " + waitTimerLastRunDate);
-                        }
+                        logger.debug("DesignatedWaiter.run (designatedPdp.getPdpId().equals(myPdp.getPdpId())) "
+                                        + "waitTimerLastRunDate = " + waitTimerLastRunDate);
                         myPdp.setUpdatedDate(waitTimerLastRunDate);
                         pdpsConnector.update(myPdp);
 
@@ -613,15 +566,11 @@
                     isDesignated = false;
 
                 } // end synchronized
-                if (logger.isDebugEnabled()) {
-                    logger.debug("DesignatedWaiter.run: myPdp: {}; Returning, isDesignated= {}",
-                            isDesignated, myPdp.getPdpId());
-                }
+                logger.debug("DesignatedWaiter.run: myPdp: {}; Returning, isDesignated= {}",
+                                isDesignated, myPdp.getPdpId());
 
                 Date tmpDate = new Date();
-                if (logger.isDebugEnabled()) {
-                    logger.debug("DesignatedWaiter.run (end of run) waitTimerLastRunDate = {}", tmpDate);
-                }
+                logger.debug("DesignatedWaiter.run (end of run) waitTimerLastRunDate = {}", tmpDate);
 
                 waitTimerLastRunDate = tmpDate;
                 myPdp.setUpdatedDate(waitTimerLastRunDate);
@@ -645,10 +594,8 @@
         boolean containsHotStandby = false;
         List<DroolsPdp> listForRemoval = new ArrayList<>();
         for (DroolsPdp pdp : listOfDesignated) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("DesignatedWaiter.run sanitizing: pdp = {}"
-                        + " isDesignated = {}",pdp.getPdpId(), pdp.isDesignated());
-            }
+            logger.debug("DesignatedWaiter.run sanitizing: pdp = {}"
+                            + " isDesignated = {}",pdp.getPdpId(), pdp.isDesignated());
             if (pdp.isDesignated()) {
                 containsDesignated = true;
             } else {
@@ -679,32 +626,22 @@
         }
         DroolsPdp mostRecentPrimary = new DroolsPdpImpl(null, true, 1, new Date(0));
         mostRecentPrimary.setSiteName(null);
-        if (logger.isDebugEnabled()) {
-            logger.debug("DesignatedWaiter.run listOfDesignated.size() = {}", listOfDesignated.size());
-        }
+        logger.debug("DesignatedWaiter.run listOfDesignated.size() = {}", listOfDesignated.size());
         if (listOfDesignated.size() <= 1) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("DesignatedWainter.run: listOfDesignated.size <=1");
-            }
+            logger.debug("DesignatedWainter.run: listOfDesignated.size <=1");
             //Only one or none is designated or hot standby.  Choose the latest designated date
             for (DroolsPdp pdp : pdps) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("DesignatedWaiter.run pdp = {}"
-                            + " pdp.getDesignatedDate() = {}",
-                            pdp.getPdpId(), pdp.getDesignatedDate());
-                }
+                logger.debug("DesignatedWaiter.run pdp = {}"
+                                + " pdp.getDesignatedDate() = {}",
+                                pdp.getPdpId(), pdp.getDesignatedDate());
                 if (pdp.getDesignatedDate().compareTo(mostRecentPrimary.getDesignatedDate()) > 0) {
                     mostRecentPrimary = pdp;
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("DesignatedWaiter.run mostRecentPrimary = {}",
-                                mostRecentPrimary.getPdpId());
-                    }
+                    logger.debug("DesignatedWaiter.run mostRecentPrimary = {}",
+                                    mostRecentPrimary.getPdpId());
                 }
             }
         } else if (listOfDesignated.size() == pdps.size()) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("DesignatedWainter.run: listOfDesignated.size = pdps.size() which is {}", pdps.size());
-            }
+            logger.debug("DesignatedWainter.run: listOfDesignated.size = pdps.size() which is {}", pdps.size());
             //They are all designated or all hot standby.
             mostRecentPrimary = null;
             for (DroolsPdp pdp : pdps) {
@@ -715,28 +652,20 @@
                 if (containsDesignated) { //Choose the site of the first designated date
                     if (pdp.getDesignatedDate().compareTo(mostRecentPrimary.getDesignatedDate()) < 0) {
                         mostRecentPrimary = pdp;
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("DesignatedWaiter.run mostRecentPrimary = {}", mostRecentPrimary.getPdpId());
-                        }
+                        logger.debug("DesignatedWaiter.run mostRecentPrimary = {}", mostRecentPrimary.getPdpId());
                     }
                 } else { //Choose the site with the latest designated date
                     if (pdp.getDesignatedDate().compareTo(mostRecentPrimary.getDesignatedDate()) > 0) {
                         mostRecentPrimary = pdp;
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("DesignatedWaiter.run mostRecentPrimary = {}", mostRecentPrimary.getPdpId());
-                        }
+                        logger.debug("DesignatedWaiter.run mostRecentPrimary = {}", mostRecentPrimary.getPdpId());
                     }
                 }
             }
         } else {
-            if (logger.isDebugEnabled()) {
-                logger.debug("DesignatedWainter.run: Some but not all are designated or hot standby. ");
-            }
+            logger.debug("DesignatedWainter.run: Some but not all are designated or hot standby. ");
             //Some but not all are designated or hot standby.
             if (containsDesignated) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("DesignatedWainter.run: containsDesignated = {}", containsDesignated);
-                }
+                logger.debug("DesignatedWainter.run: containsDesignated = {}", containsDesignated);
                 /*
                  * The list only contains designated.  This is a problem.  It is most likely a race
                  * condition that resulted in two thinking they should be designated. Choose the
@@ -750,22 +679,16 @@
                     }
                     if (pdp.getDesignatedDate().compareTo(mostRecentPrimary.getDesignatedDate()) > 0) {
                         mostRecentPrimary = pdp;
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("DesignatedWaiter.run mostRecentPrimary = {}", mostRecentPrimary.getPdpId());
-                        }
+                        logger.debug("DesignatedWaiter.run mostRecentPrimary = {}", mostRecentPrimary.getPdpId());
                     }
                 }
             } else {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("DesignatedWainter.run: containsDesignated = {}", containsDesignated);
-                }
+                logger.debug("DesignatedWainter.run: containsDesignated = {}", containsDesignated);
                 //The list only contains hot standby. Choose the site of the latest designated date
                 for (DroolsPdp pdp : pdps) {
                     if (pdp.getDesignatedDate().compareTo(mostRecentPrimary.getDesignatedDate()) > 0) {
                         mostRecentPrimary = pdp;
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("DesignatedWaiter.run mostRecentPrimary = {}", mostRecentPrimary.getPdpId());
-                        }
+                        logger.debug("DesignatedWaiter.run mostRecentPrimary = {}", mostRecentPrimary.getPdpId());
                     }
                 }
             }
@@ -784,10 +707,8 @@
         DroolsPdp designatedPdp = null;
         DroolsPdp lowestPriorityPdp = null;
         if (listOfDesignated.size() > 1) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("DesignatedWaiter.run: myPdp: {} listOfDesignated.size(): {}", myPdp.getPdpId(),
-                        listOfDesignated.size());
-            }
+            logger.debug("DesignatedWaiter.run: myPdp: {} listOfDesignated.size(): {}", myPdp.getPdpId(),
+                            listOfDesignated.size());
             DroolsPdp rejectedPdp = null;
             DroolsPdp lowestPrioritySameSite = null;
             DroolsPdp lowestPriorityDifferentSite = null;
@@ -804,21 +725,17 @@
                             continue;//nothing to compare
                         }
                         if (pdp.comparePriority(lowestPrioritySameSite) < 0) {
-                            if (logger.isDebugEnabled()) {
-                                logger.debug("\nDesignatedWaiter.run: myPdp {}  listOfDesignated pdp ID: {}"
-                                        + " has lower priority than pdp ID: {}",myPdp.getPdpId(), pdp.getPdpId(),
-                                        lowestPrioritySameSite.getPdpId());
-                            }
+                            logger.debug("\nDesignatedWaiter.run: myPdp {}  listOfDesignated pdp ID: {}"
+                                            + " has lower priority than pdp ID: {}",myPdp.getPdpId(), pdp.getPdpId(),
+                                            lowestPrioritySameSite.getPdpId());
                             //we need to reject lowestPrioritySameSite
                             rejectedPdp = lowestPrioritySameSite;
                             lowestPrioritySameSite = pdp;
                         } else {
                             //we need to reject pdp and keep lowestPrioritySameSite
-                            if (logger.isDebugEnabled()) {
-                                logger.debug("\nDesignatedWaiter.run: myPdp {} listOfDesignated pdp ID: {} "
-                                        + " has higher priority than pdp ID: {}", myPdp.getPdpId(),pdp.getPdpId(),
-                                        lowestPrioritySameSite.getPdpId());
-                            }
+                            logger.debug("\nDesignatedWaiter.run: myPdp {} listOfDesignated pdp ID: {} "
+                                            + " has higher priority than pdp ID: {}", myPdp.getPdpId(),pdp.getPdpId(),
+                                            lowestPrioritySameSite.getPdpId());
                             rejectedPdp = pdp;
                         }
                     }
@@ -835,21 +752,17 @@
                             continue;//nothing to compare
                         }
                         if (pdp.comparePriority(lowestPriorityDifferentSite) < 0) {
-                            if (logger.isDebugEnabled()) {
-                                logger.debug("\nDesignatedWaiter.run: myPdp {} listOfDesignated pdp ID: {}"
-                                        + " has lower priority than pdp ID: {}", myPdp.getPdpId(), pdp.getPdpId(),
-                                        lowestPriorityDifferentSite.getPdpId());
-                            }
+                            logger.debug("\nDesignatedWaiter.run: myPdp {} listOfDesignated pdp ID: {}"
+                                            + " has lower priority than pdp ID: {}", myPdp.getPdpId(), pdp.getPdpId(),
+                                            lowestPriorityDifferentSite.getPdpId());
                             //we need to reject lowestPriorityDifferentSite
                             rejectedPdp = lowestPriorityDifferentSite;
                             lowestPriorityDifferentSite = pdp;
                         } else {
                             //we need to reject pdp and keep lowestPriorityDifferentSite
-                            if (logger.isDebugEnabled()) {
-                                logger.debug("\nDesignatedWaiter.run: myPdp {} listOfDesignated pdp ID: {}"
-                                        + " has higher priority than pdp ID: {}", myPdp.getPdpId(), pdp.getPdpId(),
-                                        lowestPriorityDifferentSite.getPdpId());
-                            }
+                            logger.debug("\nDesignatedWaiter.run: myPdp {} listOfDesignated pdp ID: {}"
+                                            + " has higher priority than pdp ID: {}", myPdp.getPdpId(), pdp.getPdpId(),
+                                            lowestPriorityDifferentSite.getPdpId());
                             rejectedPdp = pdp;
                         }
                     }
@@ -857,12 +770,10 @@
                 // If the rejectedPdp is myPdp, we need to stand it down and demote it.  Each pdp is responsible
                 // for demoting itself
                 if (rejectedPdp != null && nullSafeEquals(rejectedPdp.getPdpId(),myPdp.getPdpId())) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("\n\nDesignatedWaiter.run: myPdp: {} listOfDesignated myPdp ID: {}"
-                                + " is NOT the lowest priority.  Executing stateManagement.demote()\n\n",
-                                myPdp.getPdpId(),
-                                myPdp.getPdpId());
-                    }
+                    logger.debug("\n\nDesignatedWaiter.run: myPdp: {} listOfDesignated myPdp ID: {}"
+                                    + " is NOT the lowest priority.  Executing stateManagement.demote()\n\n",
+                                    myPdp.getPdpId(),
+                                    myPdp.getPdpId());
                     // We found that myPdp is on the listOfDesignated and it is not the lowest priority
                     // So, we must demote it
                     try {
@@ -896,24 +807,18 @@
                 lowestPriorityPdp = lowestPriorityDifferentSite;
             }
             //now we have a valid value for lowestPriorityPdp
-            if (logger.isDebugEnabled()) {
-                logger.debug("\n\nDesignatedWaiter.run: myPdp: {} listOfDesignated "
-                        + "found the LOWEST priority pdp ID: {} "
-                        + " It is now the designatedPpd from the perspective of myPdp ID: {} \n\n",
-                        myPdp.getPdpId(), lowestPriorityPdp.getPdpId(), myPdp);
-            }
+            logger.debug("\n\nDesignatedWaiter.run: myPdp: {} listOfDesignated "
+                            + "found the LOWEST priority pdp ID: {} "
+                            + " It is now the designatedPpd from the perspective of myPdp ID: {} \n\n",
+                            myPdp.getPdpId(), lowestPriorityPdp.getPdpId(), myPdp);
             designatedPdp = lowestPriorityPdp;
 
         } else if (listOfDesignated.isEmpty()) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("\nDesignatedWaiter.run: myPdp: {} listOfDesignated is: EMPTY.", myPdp.getPdpId());
-            }
+            logger.debug("\nDesignatedWaiter.run: myPdp: {} listOfDesignated is: EMPTY.", myPdp.getPdpId());
             designatedPdp = null;
         } else { //only one in listOfDesignated
-            if (logger.isDebugEnabled()) {
-                logger.debug("\nDesignatedWaiter.run: myPdp: {} listOfDesignated "
-                        + "has ONE entry. PDP ID: {}", myPdp.getPdpId(), listOfDesignated.get(0).getPdpId());
-            }
+            logger.debug("\nDesignatedWaiter.run: myPdp: {} listOfDesignated "
+                            + "has ONE entry. PDP ID: {}", myPdp.getPdpId(), listOfDesignated.get(0).getPdpId());
             designatedPdp = listOfDesignated.get(0);
         }
         return designatedPdp;
@@ -925,16 +830,12 @@
         @Override
         public void run() {
             try {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("TimerUpdateClass.run: entry");
-                }
+                logger.debug("TimerUpdateClass.run: entry");
                 checkWaitTimer();
             } catch (Exception e) {
                 logger.error("TimerUpdateClass.run caught an unexpected exception: ", e);
             }
-            if (logger.isDebugEnabled()) {
-                logger.debug("TimerUpdateClass.run.exit");
-            }
+            logger.debug("TimerUpdateClass.run.exit");
         }
     }
 
@@ -946,9 +847,7 @@
     private void checkWaitTimer() {
         synchronized (checkWaitTimerLock) {
             try {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("checkWaitTimer: entry");
-                }
+                logger.debug("checkWaitTimer: entry");
                 Date now = new Date();
                 long nowMs = now.getTime();
                 long waitTimerMs = waitTimerLastRunDate.getTime();
@@ -957,9 +856,7 @@
                 if ((nowMs - waitTimerMs)  > 10 * pdpUpdateInterval) {
                     if (allSeemsWell == null || allSeemsWell) {
                         allSeemsWell = false;
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("checkWaitTimer: calling allSeemsWell with ALLNOTWELL param");
-                        }
+                        logger.debug("checkWaitTimer: calling allSeemsWell with ALLNOTWELL param");
                         stateManagementFeature.allSeemsWell(this.getClass().getName(),
                                 StateManagementFeatureApi.ALLNOTWELL_STATE,
                                 "DesignationWaiter/ElectionHandler has STALLED");
@@ -974,9 +871,7 @@
                             "DesignationWaiter/ElectionHandler has RESUMED");
                     logger.info("DesignationWaiter/ElectionHandler has RESUMED");
                 }
-                if (logger.isDebugEnabled()) {
-                    logger.debug("checkWaitTimer: exit");
-                }
+                logger.debug("checkWaitTimer: exit");
             } catch (Exception e) {
                 logger.error("checkWaitTimer: caught unexpected exception: ", e);
             }
diff --git a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/JpaDroolsPdpsConnector.java b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/JpaDroolsPdpsConnector.java
index 0444805..30952af 100644
--- a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/JpaDroolsPdpsConnector.java
+++ b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/JpaDroolsPdpsConnector.java
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * feature-active-standby-management
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -36,17 +36,17 @@
 
 public class JpaDroolsPdpsConnector implements DroolsPdpsConnector {
 
-    // get an instance of logger 
+    // get an instance of logger
     private static final Logger  logger = LoggerFactory.getLogger(JpaDroolsPdpsConnector.class);
     private EntityManagerFactory emf;
 
 
-    //not sure if we want to use the same entity manager factory 
+    //not sure if we want to use the same entity manager factory
     //for drools session and pass it in here, or create a new one
     public JpaDroolsPdpsConnector(EntityManagerFactory emf) {
         this.emf = emf;
     }
-    
+
     @Override
     public Collection<DroolsPdp> getDroolsPdps() {
         //return a list of all the DroolsPdps in the database
@@ -96,9 +96,7 @@
     @Override
     public void update(DroolsPdp pdp) {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("update: Entering, pdpId={}", pdp.getPdpId());
-        }
+        logger.debug("update: Entering, pdpId={}", pdp.getPdpId());
 
         //this is to update our own pdp in the database
         EntityManager em = emf.createEntityManager();
@@ -123,17 +121,13 @@
                     logger.error("Could not get PDP timeout property, using default.", e);
                 }
                 boolean isCurrent = difference < pdpTimeout;
-                if (logger.isDebugEnabled()) {
-                    logger.debug("update: PDP= {}, isCurrent={}"
-                            + " difference= {}"
-                            + ", pdpTimeout= {}, designated= {}",
-                            pdp.getPdpId(), isCurrent, difference, pdpTimeout, droolsPdpEntity.isDesignated());
-                }
+                logger.debug("update: PDP= {}, isCurrent={}"
+                                + " difference= {}"
+                                + ", pdpTimeout= {}, designated= {}",
+                                pdp.getPdpId(), isCurrent, difference, pdpTimeout, droolsPdpEntity.isDesignated());
             } else {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("update: For PDP={}"
-                            + ", instantiating new DroolsPdpEntity", pdp.getPdpId());
-                }
+                logger.debug("update: For PDP={}"
+                                + ", instantiating new DroolsPdpEntity", pdp.getPdpId());
                 droolsPdpEntity = new DroolsPdpEntity();
                 em.persist(droolsPdpEntity);
                 droolsPdpEntity.setPdpId(pdp.getPdpId());
@@ -149,14 +143,12 @@
             }
 
             if (droolsPdpEntity.isDesignated() != pdp.isDesignated()) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("update: pdpId={}"
-                            + ", pdp.isDesignated={}"
-                            + ", droolsPdpEntity.pdpId= {}"
-                            + ", droolsPdpEntity.isDesignated={}",
-                            pdp.getPdpId(), pdp.isDesignated(),
-                            droolsPdpEntity.getPdpId(), droolsPdpEntity.isDesignated());
-                }
+                logger.debug("update: pdpId={}"
+                                + ", pdp.isDesignated={}"
+                                + ", droolsPdpEntity.pdpId= {}"
+                                + ", droolsPdpEntity.isDesignated={}",
+                                pdp.getPdpId(), pdp.isDesignated(),
+                                droolsPdpEntity.getPdpId(), droolsPdpEntity.isDesignated());
                 droolsPdpEntity.setDesignated(pdp.isDesignated());
                 //The isDesignated value is not the same and the new one == true
                 if (pdp.isDesignated()) {
@@ -168,14 +160,12 @@
             cleanup(em, "update");
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("update: Exiting");
-        }
+        logger.debug("update: Exiting");
 
     }
 
     /*
-     * Note: A side effect of this boolean method is that if the PDP is designated but not current, the 
+     * Note: A side effect of this boolean method is that if the PDP is designated but not current, the
      * droolspdpentity.DESIGNATED column will be set to false (the PDP will be un-designated, i.e. marked as
      * being in standby mode)
      */
@@ -193,23 +183,19 @@
                 List<?> droolsPdpsList = droolsPdpsListQuery.setLockMode(LockModeType.NONE)
                         .setFlushMode(FlushModeType.COMMIT).getResultList();
                 if (droolsPdpsList.size() == 1 && droolsPdpsList.get(0) instanceof DroolsPdpEntity) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("isPdpCurrent: PDP={}  designated but not current; setting designated to false", 
-                                pdp.getPdpId());
-                    }
+                    logger.debug("isPdpCurrent: PDP={}  designated but not current; setting designated to false",
+                                    pdp.getPdpId());
                     DroolsPdpEntity droolsPdpEntity = (DroolsPdpEntity)droolsPdpsList.get(0);
                     droolsPdpEntity.setDesignated(false);
                     em.getTransaction().commit();
                 } else {
                     logger.warn("isPdpCurrent: PDP={} is designated but not current; "
-                            + "however it does not have a DB entry, so cannot set DESIGNATED to false!", 
+                            + "however it does not have a DB entry, so cannot set DESIGNATED to false!",
                             pdp.getPdpId());
                 }
             } else {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("isPdpCurrent: For PDP= {}, "
-                            + "designated={}, isCurrent={}", pdp.getPdpId(), pdp.isDesignated(), isCurrent);
-                }
+                logger.debug("isPdpCurrent: For PDP= {}, "
+                                + "designated={}, isCurrent={}", pdp.getPdpId(), pdp.isDesignated(), isCurrent);
             }
         } catch (Exception e) {
             logger.error("Could not update expired record marked as designated in the database", e);
@@ -223,10 +209,8 @@
     @Override
     public void setDesignated(DroolsPdp pdp, boolean designated) {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("setDesignated: Entering, pdpId={}"
-                    + ", designated={}", pdp.getPdpId(), designated);
-        }
+        logger.debug("setDesignated: Entering, pdpId={}"
+                + ", designated={}", pdp.getPdpId(), designated);
 
         EntityManager em = null;
         try {
@@ -242,16 +226,14 @@
                 DroolsPdpEntity droolsPdpEntity = (DroolsPdpEntity) droolsPdpsList
                         .get(0);
 
-                if (logger.isDebugEnabled()) {
-                    logger.debug("setDesignated: PDP={}"
-                            + " found, designated= {}"
-                            + ", setting to {}", pdp.getPdpId(), droolsPdpEntity.isDesignated(),
-                            designated);
-                }
+                logger.debug("setDesignated: PDP={}"
+                        + " found, designated= {}"
+                        + ", setting to {}", pdp.getPdpId(), droolsPdpEntity.isDesignated(),
+                        designated);
                 droolsPdpEntity.setDesignated(designated);
                 if (designated) {
                     em.refresh(droolsPdpEntity); //make sure we get the DB value
-                    if (!droolsPdpEntity.isDesignated()) { 
+                    if (!droolsPdpEntity.isDesignated()) {
                         droolsPdpEntity.setDesignatedDate(new Date());
                     }
 
@@ -267,18 +249,14 @@
             cleanup(em, "setDesignated");
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("setDesignated: Exiting");
-        }
+        logger.debug("setDesignated: Exiting");
 
     }
 
 
     @Override
     public void standDownPdp(String pdpId) {
-        if (logger.isDebugEnabled()) {
-            logger.debug("standDownPdp: Entering, pdpId={}", pdpId);
-        }
+        logger.debug("standDownPdp: Entering, pdpId={}", pdpId);
 
         EntityManager em = null;
         try {
@@ -303,9 +281,7 @@
                 droolsPdpEntity = (DroolsPdpEntity) droolsPdpsList.get(0);
                 droolsPdpEntity.setDesignated(false);
                 em.persist(droolsPdpEntity);
-                if (logger.isDebugEnabled()) {
-                    logger.debug("standDownPdp: PDP={} persisted as non-designated.", pdpId );
-                }
+                logger.debug("standDownPdp: PDP={} persisted as non-designated.", pdpId );
             } else {
                 logger.error("standDownPdp: Missing record in droolspdpentity for pdpId={}"
                         + "; cannot stand down PDP", pdpId);
@@ -328,24 +304,20 @@
         } finally {
             cleanup(em, "standDownPdp");
         }
-        if (logger.isDebugEnabled()) {
-            logger.debug("standDownPdp: Exiting");
-        }
+        logger.debug("standDownPdp: Exiting");
 
     }
 
     /*
      * Determines whether or not a designated PDP has failed.
-     * 
+     *
      * Note: The update method, which is run periodically by the
      * TimerUpdateClass, will un-designate a PDP that is stale.
      */
     @Override
     public boolean hasDesignatedPdpFailed(Collection<DroolsPdp> pdps) {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("hasDesignatedPdpFailed: Entering, pdps.size()={}", pdps.size());
-        }
+        logger.debug("hasDesignatedPdpFailed: Entering, pdps.size()={}", pdps.size());
 
         boolean failed = true;
         boolean foundDesignatedPdp = false;
@@ -356,40 +328,32 @@
              * Normally, the update method will un-designate any stale PDP, but
              * we check here to see if the PDP has gone stale since the update
              * method was run.
-             * 
+             *
              * Even if we determine that the designated PDP is current, we keep
              * going (we don't break), so we can get visibility into the other
              * PDPs, when in DEBUG mode.
              */
             if (pdp.isDesignated() && isCurrent(pdp)) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("hasDesignatedPdpFailed: Designated PDP={} is current", pdp.getPdpId());
-                }
+                logger.debug("hasDesignatedPdpFailed: Designated PDP={} is current", pdp.getPdpId());
                 failed = false;
                 foundDesignatedPdp = true;
             } else if (pdp.isDesignated() && !isCurrent(pdp)) {
                 logger.error("hasDesignatedPdpFailed: Designated PDP={} has failed", pdp.getPdpId());
                 foundDesignatedPdp = true;
             } else {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("hasDesignatedPdpFailed: PDP={} is not designated", pdp.getPdpId());
-                }
+                logger.debug("hasDesignatedPdpFailed: PDP={} is not designated", pdp.getPdpId());
             }
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("hasDesignatedPdpFailed: Exiting and returning, foundDesignatedPdp={}",
-                    foundDesignatedPdp);
-        }
+        logger.debug("hasDesignatedPdpFailed: Exiting and returning, foundDesignatedPdp={}",
+                foundDesignatedPdp);
         return failed;
     }
 
 
     private boolean isCurrent(DroolsPdp pdp) {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("isCurrent: Entering, pdpId={}", pdp.getPdpId());
-        }
+        logger.debug("isCurrent: Entering, pdpId={}", pdp.getPdpId());
 
         boolean current = false;
 
@@ -405,18 +369,14 @@
         try {
             pdpTimeout = Long.parseLong(ActiveStandbyProperties
                     .getProperty(ActiveStandbyProperties.PDP_TIMEOUT));
-            if (logger.isDebugEnabled()) {
-                logger.debug("isCurrent: pdp.timeout={}", pdpTimeout);
-            }
+            logger.debug("isCurrent: pdp.timeout={}", pdpTimeout);
         } catch (Exception e) {
             logger.error("isCurrent: Could not get PDP timeout property, using default.", e);
         }
         current = difference < pdpTimeout;
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("isCurrent: Exiting, difference={}, pdpTimeout={}"
-                    + "; returning current={}", difference, pdpTimeout, current);
-        }
+        logger.debug("isCurrent: Exiting, difference={}, pdpTimeout={}"
+                + "; returning current={}", difference, pdpTimeout, current);
 
         return current;
     }
@@ -429,9 +389,7 @@
     @Override
     public DroolsPdpEntity getPdp(String pdpId) {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("getPdp: Entering and getting PDP with pdpId={}", pdpId);
-        }
+        logger.debug("getPdp: Entering and getting PDP with pdpId={}", pdpId);
 
         DroolsPdpEntity droolsPdpEntity = null;
 
@@ -447,14 +405,12 @@
             if (droolsPdpsList.size() == 1
                     && droolsPdpsList.get(0) instanceof DroolsPdpEntity) {
                 droolsPdpEntity = (DroolsPdpEntity) droolsPdpsList.get(0);
-                if (logger.isDebugEnabled()) {
-                    logger.debug("getPdp: PDP={}"
-                            + " found, isDesignated={},"
-                            + " updatedDate={}, "
-                            + "priority={}", pdpId,
-                            droolsPdpEntity.isDesignated(), droolsPdpEntity.getUpdatedDate(),
-                            droolsPdpEntity.getPriority());
-                }
+                logger.debug("getPdp: PDP={}"
+                                + " found, isDesignated={},"
+                                + " updatedDate={}, "
+                                + "priority={}", pdpId,
+                                droolsPdpEntity.isDesignated(), droolsPdpEntity.getUpdatedDate(),
+                                droolsPdpEntity.getPriority());
 
                 // Make sure the droolsPdpEntity is not a cached version
                 em.refresh(droolsPdpEntity);
@@ -469,9 +425,7 @@
             cleanup(em, "getPdp");
         }
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("getPdp: Returning droolsPdpEntity={}", droolsPdpEntity);
-        }
+        logger.debug("getPdp: Returning droolsPdpEntity={}", droolsPdpEntity);
         return droolsPdpEntity;
 
     }
@@ -482,9 +436,7 @@
      */
     @Override
     public void insertPdp(DroolsPdp pdp) {
-        if (logger.isDebugEnabled()) {
-            logger.debug("insertPdp: Entering and manually inserting PDP");
-        }
+        logger.debug("insertPdp: Entering and manually inserting PDP");
 
         /*
          * Start transaction
@@ -511,9 +463,7 @@
         } finally {
             cleanup(em, "insertPdp");
         }
-        if (logger.isDebugEnabled()) {
-            logger.debug("insertPdp: Exiting");
-        }
+        logger.debug("insertPdp: Exiting");
 
     }
 
@@ -524,9 +474,7 @@
     @Override
     public void deleteAllPdps() {
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("deleteAllPdps: Entering");
-        }
+        logger.debug("deleteAllPdps: Entering");
 
         /*
          * Start transaction
@@ -540,9 +488,7 @@
             @SuppressWarnings("unchecked")
             List<DroolsPdp> droolsPdpsList = droolsPdpsListQuery.setLockMode(
                     LockModeType.NONE).setFlushMode(FlushModeType.COMMIT).getResultList();
-            if (logger.isDebugEnabled()) {
-                logger.debug("deleteAllPdps: Deleting {} PDPs", droolsPdpsList.size());
-            }
+            logger.debug("deleteAllPdps: Deleting {} PDPs", droolsPdpsList.size());
             for (DroolsPdp droolsPdp : droolsPdpsList) {
                 String pdpId = droolsPdp.getPdpId();
                 deletePdp(pdpId);
@@ -555,9 +501,7 @@
         } finally {
             cleanup(em, "deleteAllPdps");
         }
-        if (logger.isDebugEnabled()) {
-            logger.debug("deleteAllPdps: Exiting");
-        }
+        logger.debug("deleteAllPdps: Exiting");
 
     }
 
@@ -567,9 +511,7 @@
      */
     @Override
     public void deletePdp(String pdpId) {
-        if (logger.isDebugEnabled()) {
-            logger.debug("deletePdp: Entering and manually deleting pdpId={}", pdpId);
-        }
+        logger.debug("deletePdp: Entering and manually deleting pdpId={}", pdpId);
 
         /*
          * Start transaction
@@ -583,14 +525,10 @@
              */
             DroolsPdpEntity droolsPdpEntity = em.find(DroolsPdpEntity.class, pdpId);
             if (droolsPdpEntity != null) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("deletePdp: Removing PDP");
-                }
+                logger.debug("deletePdp: Removing PDP");
                 em.remove(droolsPdpEntity);
             } else {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("deletePdp: PDP with ID={} not currently in DB", pdpId);
-                }
+                logger.debug("deletePdp: PDP with ID={} not currently in DB", pdpId);
             }
 
             /*
@@ -600,9 +538,7 @@
         } finally {
             cleanup(em, "deletePdp");
         }
-        if (logger.isDebugEnabled()) {
-            logger.debug("deletePdp: Exiting");
-        }
+        logger.debug("deletePdp: Exiting");
 
     }
 
diff --git a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/PmStandbyStateChangeNotifier.java b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/PmStandbyStateChangeNotifier.java
index 9da5d42..bdd9a95 100644
--- a/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/PmStandbyStateChangeNotifier.java
+++ b/feature-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/PmStandbyStateChangeNotifier.java
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,23 +20,23 @@
 
 package org.onap.policy.drools.activestandby;
 
-/* 
+/*
  * Per MultiSite_v1-10.ppt:
- * 
- * Extends the StateChangeNotifier class and overwrites the abstract handleStateChange() method to get state changes 
- * and do the following: 
- * 
- * When the Standby Status changes (from providingservice) to hotstandby or coldstandby, 
- * the Active/Standby selection algorithm must stand down if the PDP-D is currently the lead/active node 
+ *
+ * Extends the StateChangeNotifier class and overwrites the abstract handleStateChange() method to get state changes
+ * and do the following:
+ *
+ * When the Standby Status changes (from providingservice) to hotstandby or coldstandby,
+ * the Active/Standby selection algorithm must stand down if the PDP-D is currently the lead/active node
  * and allow another PDP-D to take over.  It must also call lock on all engines in the engine management.
- * 
- * When the Standby Status changes from (hotstandby) to coldstandby, the Active/Standby algorithm must NOT assume 
+ *
+ * When the Standby Status changes from (hotstandby) to coldstandby, the Active/Standby algorithm must NOT assume
  * the active/lead role.
- *  
- * When the Standby Status changes (from coldstandby or providingservice) to hotstandby, 
+ *
+ * When the Standby Status changes (from coldstandby or providingservice) to hotstandby,
  * the Active/Standby algorithm may assume the active/lead role if the active/lead fails.
- * 
- * When the Standby Status changes to providingservice (from hotstandby or coldstandby) call unlock on all 
+ *
+ * When the Standby Status changes to providingservice (from hotstandby or coldstandby) call unlock on all
  * engines in the engine management layer.
  */
 import java.util.Date;
@@ -52,27 +52,27 @@
 /*
  * Some background:
  *
- * Originally, there was a "StandbyStateChangeNotifier" that belonged to policy-core, and this class's 
- * handleStateChange() method used to take care of invoking conn.standDownPdp().   
- * 
- * But testing revealed that when a state change to hot standby 
- * occurred from a demote() operation, first the PMStandbyStateChangeNotifier.handleStateChange() method 
- * would be invoked and then the StandbyStateChangeNotifier.handleStateChange() method would be invoked, 
+ * Originally, there was a "StandbyStateChangeNotifier" that belonged to policy-core, and this class's
+ * handleStateChange() method used to take care of invoking conn.standDownPdp().
+ *
+ * But testing revealed that when a state change to hot standby
+ * occurred from a demote() operation, first the PMStandbyStateChangeNotifier.handleStateChange() method
+ * would be invoked and then the StandbyStateChangeNotifier.handleStateChange() method would be invoked,
  * and this ordering was creating the following problem:
  *
- * When PMStandbyStateChangeNotifier.handleStateChange() was invoked it would take a long time to finish, 
- * because it would result in SingleThreadedUebTopicSource.stop() being invoked, which can potentially do a 
+ * When PMStandbyStateChangeNotifier.handleStateChange() was invoked it would take a long time to finish,
+ * because it would result in SingleThreadedUebTopicSource.stop() being invoked, which can potentially do a
  * 5 second sleep for each controller being stopped.
- * 
- * Meanwhile, as these controller stoppages and their associated sleeps were occurring, the election handler 
- * would discover the demoted PDP in hotstandby (but still designated!) and promote it, resulting in the 
- * standbyStatus going from hotstandby to providingservice.  So then, by the time that 
+ *
+ * Meanwhile, as these controller stoppages and their associated sleeps were occurring, the election handler
+ * would discover the demoted PDP in hotstandby (but still designated!) and promote it, resulting in the
+ * standbyStatus going from hotstandby to providingservice.  So then, by the time that
  * PMStandbyStateChangeNotifier.handleStateChange() finished its work and
- * StandbyStateChangeNotifier.handleStateChange() started executing, the standbyStatus was no longer hotstandby 
- * (as effected by the demote), but providingservice (as reset by the election handling logic) and 
+ * StandbyStateChangeNotifier.handleStateChange() started executing, the standbyStatus was no longer hotstandby
+ * (as effected by the demote), but providingservice (as reset by the election handling logic) and
  * conn.standDownPdp() would not get called!
  *
- * To fix this bug, we consolidated StandbyStateChangeNotifier and PMStandbyStateChangeNotifier, 
+ * To fix this bug, we consolidated StandbyStateChangeNotifier and PMStandbyStateChangeNotifier,
  * with the standDownPdp() always
  * being invoked prior to the TopicEndpoint.manager.lock().  In this way, when the election handling logic is invoked
  * during the controller stoppages, the PDP is in hotstandby and the standdown occurs.
@@ -94,7 +94,7 @@
 
     /**
      * Constructor.
-     * 
+     *
      */
     public PmStandbyStateChangeNotifier() {
         pdpUpdateInterval =
@@ -114,47 +114,29 @@
          * stateManagememt, has synchronize all of its methods. Only one stateManagement operation
          * can occur at a time. Thus, only one handleStateChange() call will ever be made at a time.
          */
-        if (logger.isDebugEnabled()) {
-            logger.debug("handleStateChange: Entering, message={}, standbyStatus={}", super.getMessage(),
-                    super.getStateManagement().getStandbyStatus());
-        }
+        logger.debug("handleStateChange: Entering, message={}, standbyStatus={}", super.getMessage(),
+                        super.getStateManagement().getStandbyStatus());
         String standbyStatus = super.getStateManagement().getStandbyStatus();
         String pdpId = ActiveStandbyProperties.getProperty(ActiveStandbyProperties.NODE_NAME);
 
-        if (logger.isDebugEnabled()) {
-            logger.debug("handleStateChange: previousStandbyStatus = {}; standbyStatus = {}",
-                    previousStandbyStatus, standbyStatus);
-        }
+        logger.debug("handleStateChange: previousStandbyStatus = {}; standbyStatus = {}",
+                previousStandbyStatus, standbyStatus);
 
         if (standbyStatus == null || standbyStatus.equals(StateManagement.NULL_VALUE)) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("handleStateChange: standbyStatus is null; standing down PDP={}", pdpId);
-            }
+            logger.debug("handleStateChange: standbyStatus is null; standing down PDP={}", pdpId);
             if (previousStandbyStatus.equals(StateManagement.NULL_VALUE)) {
                 // We were just here and did this successfully
-                if (logger.isDebugEnabled()) {
-                    logger.debug(
-                        "handleStateChange: "
-                        + "Is returning because standbyStatus is null and was previously 'null'; PDP={}",
-                        pdpId);
-                }
+                logger.debug("handleStateChange: "
+                                + "Is returning because standbyStatus is null and was previously 'null'; PDP={}",
+                                pdpId);
                 return;
             }
             isWaitingForActivation = false;
             try {
-                try {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("handleStateChange: null:  cancelling delayActivationTimer.");
-                    }
-                    delayActivateTimer.cancel();
-                } catch (Exception e) {
-                    if (logger.isInfoEnabled()) {
-                        logger.info("handleStateChange: null no delayActivationTimer existed.", e);
-                    }
-                    // If you end of here, there was no active timer
-                }
+                logger.debug("handleStateChange: null:  cancelling delayActivationTimer.");
+                cancelTimer();
                 // Only want to lock the endpoints, not the controllers.
-                PolicyEngine.manager.deactivate();
+                getPolicyEngineManager().deactivate();
                 // The operation was fully successful, but you cannot assign it a real null value
                 // because later we might try to execute previousStandbyStatus.equals() and get
                 // a null pointer exception.
@@ -164,34 +146,19 @@
             }
         } else if (standbyStatus.equals(StateManagement.HOT_STANDBY)
                 || standbyStatus.equals(StateManagement.COLD_STANDBY)) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("handleStateChange: standbyStatus={}; standing down PDP={}", standbyStatus, pdpId);
-            }
+            logger.debug("handleStateChange: standbyStatus={}; standing down PDP={}", standbyStatus, pdpId);
             if (previousStandbyStatus.equals(PmStandbyStateChangeNotifier.HOTSTANDBY_OR_COLDSTANDBY)) {
                 // We were just here and did this successfully
-                if (logger.isDebugEnabled()) {
-                    logger.debug("handleStateChange: Is returning because standbyStatus is {}"
-                            + " and was previously {}; PDP= {}", standbyStatus, previousStandbyStatus, pdpId);
-                }
+                logger.debug("handleStateChange: Is returning because standbyStatus is {}"
+                                + " and was previously {}; PDP= {}", standbyStatus, previousStandbyStatus, pdpId);
                 return;
             }
             isWaitingForActivation = false;
             try {
-                try {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug(
-                                "handleStateChange: HOT_STNDBY || COLD_STANDBY:  cancelling delayActivationTimer.");
-                    }
-                    delayActivateTimer.cancel();
-                } catch (Exception e) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("handleStateChange: HOT_STANDBY || COLD_STANDBY no delayActivationTimer existed.",
-                                e);
-                    }
-                    // If you end of here, there was no active timer
-                }
+                logger.debug("handleStateChange: HOT_STNDBY || COLD_STANDBY:  cancelling delayActivationTimer.");
+                cancelTimer();
                 // Only want to lock the endpoints, not the controllers.
-                PolicyEngine.manager.deactivate();
+                getPolicyEngineManager().deactivate();
                 // The operation was fully successful
                 previousStandbyStatus = PmStandbyStateChangeNotifier.HOTSTANDBY_OR_COLDSTANDBY;
             } catch (Exception e) {
@@ -200,33 +167,25 @@
             }
 
         } else if (standbyStatus.equals(StateManagement.PROVIDING_SERVICE)) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("handleStateChange: standbyStatus= {} scheduling activation of PDP={}", standbyStatus,
-                        pdpId);
-            }
+            logger.debug("handleStateChange: standbyStatus= {} scheduling activation of PDP={}", standbyStatus,
+                            pdpId);
             if (previousStandbyStatus.equals(StateManagement.PROVIDING_SERVICE)) {
                 // We were just here and did this successfully
-                if (logger.isDebugEnabled()) {
-                    logger.debug("handleStateChange: Is returning because standbyStatus is {}"
-                            + "and was previously {}; PDP={}", standbyStatus, previousStandbyStatus, pdpId);
-                }
+                logger.debug("handleStateChange: Is returning because standbyStatus is {}"
+                                + "and was previously {}; PDP={}", standbyStatus, previousStandbyStatus, pdpId);
                 return;
             }
             try {
                 // UnLock all the endpoints
-                if (logger.isDebugEnabled()) {
-                    logger.debug("handleStateChange: standbyStatus={}; controllers must be unlocked.", standbyStatus);
-                }
+                logger.debug("handleStateChange: standbyStatus={}; controllers must be unlocked.", standbyStatus);
                 /*
                  * Only endpoints should be unlocked. Controllers have not been locked. Because,
                  * sometimes, it is possible for more than one PDP-D to become active (race
                  * conditions) we need to delay the activation of the topic endpoint interfaces to
                  * give the election algorithm time to resolve the conflict.
                  */
-                if (logger.isDebugEnabled()) {
-                    logger.debug("handleStateChange: PROVIDING_SERVICE isWaitingForActivation= {}",
-                            isWaitingForActivation);
-                }
+                logger.debug("handleStateChange: PROVIDING_SERVICE isWaitingForActivation= {}",
+                                isWaitingForActivation);
 
                 // Delay activation for 2*pdpUpdateInterval+2000 ms in case of an election handler
                 // conflict.
@@ -234,26 +193,19 @@
 
                 // First let's check that the timer has not died
                 if (isWaitingForActivation) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("handleStateChange: PROVIDING_SERVICE isWaitingForActivation = {}",
-                                isWaitingForActivation);
-                    }
+                    logger.debug("handleStateChange: PROVIDING_SERVICE isWaitingForActivation = {}",
+                                    isWaitingForActivation);
                     long now = new Date().getTime();
                     long waitTimeMs = now - startTimeWaitingForActivationMs;
                     if (waitTimeMs > 3 * waitInterval) {
-                        if (logger.isDebugEnabled()) {
-                            logger.debug(
-                                "handleStateChange: PROVIDING_SERVICE looks like the activation wait timer may be hung,"
-                                + " waitTimeMs = {} and allowable waitInterval = {}"
-                                + " Checking whether it is currently in activation. isNowActivating = {}",
-                                waitTimeMs, waitInterval, isNowActivating);
-                        }
+                        logger.debug("handleStateChange: PROVIDING_SERVICE looks like the activation wait timer "
+                                        + "may be hung, waitTimeMs = {} and allowable waitInterval = {}"
+                                        + " Checking whether it is currently in activation. isNowActivating = {}",
+                                        waitTimeMs, waitInterval, isNowActivating);
                         // Now check that it is not currently executing an activation
                         if (!isNowActivating) {
-                            if (logger.isDebugEnabled()) {
-                                logger.debug(
-                                    "handleStateChange: PROVIDING_SERVICE looks like the activation wait timer died");
-                            }
+                            logger.debug("handleStateChange: PROVIDING_SERVICE looks like the activation "
+                                            + "wait timer died");
                             // This will assure the timer is cancelled and rescheduled.
                             isWaitingForActivation = false;
                         }
@@ -262,32 +214,19 @@
                 }
 
                 if (!isWaitingForActivation) {
-                    try {
-                        // Just in case there is an old timer hanging around
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("handleStateChange: PROVIDING_SERVICE cancelling delayActivationTimer.");
-                        }
-                        delayActivateTimer.cancel();
-                    } catch (Exception e) {
-                        if (logger.isDebugEnabled()) {
-                            logger.debug("handleStateChange: PROVIDING_SERVICE no delayActivationTimer existed.", e);
-                        }
-                        // If you end of here, there was no active timer
-                    }
-                    delayActivateTimer = new Timer();
+                    // Just in case there is an old timer hanging around
+                    logger.debug("handleStateChange: PROVIDING_SERVICE cancelling delayActivationTimer.");
+                    cancelTimer();
+                    delayActivateTimer = makeTimer();
                     // delay the activate so the DesignatedWaiter can run twice
                     delayActivateTimer.schedule(new DelayActivateClass(), waitInterval);
                     isWaitingForActivation = true;
                     startTimeWaitingForActivationMs = new Date().getTime();
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("handleStateChange: PROVIDING_SERVICE scheduling delayActivationTimer in {} ms",
-                                waitInterval);
-                    }
+                    logger.debug("handleStateChange: PROVIDING_SERVICE scheduling delayActivationTimer in {} ms",
+                                    waitInterval);
                 } else {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug(
-                                "handleStateChange: PROVIDING_SERVICE delayActivationTimer is waiting for activation.");
-                    }
+                    logger.debug("handleStateChange: PROVIDING_SERVICE delayActivationTimer is "
+                                    + "waiting for activation.");
                 }
 
             } catch (Exception e) {
@@ -299,28 +238,16 @@
             logger.error("handleStateChange: Unsupported standbyStatus={}; standing down PDP={}", standbyStatus, pdpId);
             if (previousStandbyStatus.equals(PmStandbyStateChangeNotifier.UNSUPPORTED)) {
                 // We were just here and did this successfully
-                if (logger.isDebugEnabled()) {
-                    logger.debug("handleStateChange: Is returning because standbyStatus is "
-                            + "UNSUPPORTED and was previously {}; PDP={}", previousStandbyStatus, pdpId);
-                }
+                logger.debug("handleStateChange: Is returning because standbyStatus is "
+                                + "UNSUPPORTED and was previously {}; PDP={}", previousStandbyStatus, pdpId);
                 return;
             }
             // Only want to lock the endpoints, not the controllers.
             isWaitingForActivation = false;
             try {
-                try {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("handleStateChange: unsupported standbystatus:  cancelling delayActivationTimer.");
-                    }
-                    delayActivateTimer.cancel();
-                } catch (Exception e) {
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("handleStateChange: unsupported standbystatus: no delayActivationTimer existed.",
-                                e);
-                    }
-                    // If you end of here, there was no active timer
-                }
-                PolicyEngine.manager.deactivate();
+                logger.debug("handleStateChange: unsupported standbystatus:  cancelling delayActivationTimer.");
+                cancelTimer();
+                getPolicyEngineManager().deactivate();
                 // We know the standbystatus is unsupported
                 previousStandbyStatus = PmStandbyStateChangeNotifier.UNSUPPORTED;
             } catch (Exception e) {
@@ -328,8 +255,12 @@
                         standbyStatus, e.getMessage(), e);
             }
         }
-        if (logger.isDebugEnabled()) {
-            logger.debug("handleStateChange: Exiting");
+        logger.debug("handleStateChange: Exiting");
+    }
+
+    private void cancelTimer() {
+        if (delayActivateTimer != null) {
+            delayActivateTimer.cancel();
         }
     }
 
@@ -342,20 +273,16 @@
         public void run() {
             isNowActivating = true;
             try {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("DelayActivateClass.run: entry");
-                }
+                logger.debug("DelayActivateClass.run: entry");
                 synchronized (delayActivateLock) {
-                    PolicyEngine.manager.activate();
+                    getPolicyEngineManager().activate();
                     // The state change fully succeeded
                     previousStandbyStatus = StateManagement.PROVIDING_SERVICE;
                     // We want to set this to false here because the activate call can take a while
                     isWaitingForActivation = false;
                     isNowActivating = false;
                 }
-                if (logger.isDebugEnabled()) {
-                    logger.debug("DelayActivateClass.run.exit");
-                }
+                logger.debug("DelayActivateClass.run.exit");
             } catch (Exception e) {
                 isWaitingForActivation = false;
                 isNowActivating = false;
@@ -368,4 +295,14 @@
     public String getPreviousStandbyStatus() {
         return previousStandbyStatus;
     }
+
+    // these may be overridden by junit tests
+
+    protected PolicyEngine getPolicyEngineManager() {
+        return PolicyEngine.manager;
+    }
+
+    protected Timer makeTimer() {
+        return new Timer();
+    }
 }
diff --git a/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/ActiveStandbyPropertiesTest.java b/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/ActiveStandbyPropertiesTest.java
new file mode 100644
index 0000000..058aa5e
--- /dev/null
+++ b/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/ActiveStandbyPropertiesTest.java
@@ -0,0 +1,53 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.drools.activestandby;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
+import java.util.Properties;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ActiveStandbyPropertiesTest {
+
+    private Properties props;
+
+    /**
+     * Initializes objects.
+     */
+    @Before
+    public void setUp() {
+        props = new Properties();
+        props.setProperty("abc", "hello");
+        props.setProperty("def", "world");
+    }
+
+    @Test
+    public void testInitProperties_testGetProperty_testGetProperties() {
+        ActiveStandbyProperties.initProperties(props);
+
+        assertSame(props, ActiveStandbyProperties.getProperties());
+
+        assertEquals("hello", ActiveStandbyProperties.getProperty("abc"));
+        assertEquals("world", ActiveStandbyProperties.getProperty("def"));
+    }
+}
diff --git a/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/DroolsPdpObjectTest.java b/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/DroolsPdpObjectTest.java
new file mode 100644
index 0000000..310f911
--- /dev/null
+++ b/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/DroolsPdpObjectTest.java
@@ -0,0 +1,153 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.drools.activestandby;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.drools.activestandby.DroolsPdp;
+import org.onap.policy.drools.activestandby.DroolsPdpObject;
+
+public class DroolsPdpObjectTest {
+    private static final String PDP_ID = "my-id";
+    private static final String PDP_ID2 = "my-id2";
+    private static final String SITE = "my-site";
+    private static final String SITE2 = "my-site2";
+    private static final int PRIORITY = 11;
+    private static final int PRIORITY2 = 12;
+
+    private MyPdp pdp;
+
+    @Before
+    public void setUp() {
+        pdp = makePdp(PDP_ID, SITE, PRIORITY);
+    }
+
+    @Test
+    public void testEqualsObject() {
+        // self
+        assertTrue(pdp.equals(pdp));
+
+        // same id
+        MyPdp pdp2 = new MyPdp();
+        pdp2.setPdpId(PDP_ID);
+        assertTrue(pdp.equals(pdp2));
+
+        // different id
+        pdp2.setPdpId(PDP_ID2);
+        assertFalse(pdp.equals(pdp2));
+
+        // different type of object
+        assertFalse(pdp.equals(""));
+    }
+
+    @Test
+    public void testNullSafeCompare() {
+        // self, when null
+        pdp.setSiteName(null);
+        assertEquals(0, pdp.comparePriority(pdp));
+
+        // both null
+        MyPdp pdp2 = makePdp(PDP_ID, null, PRIORITY);
+        assertEquals(0, pdp.comparePriority(pdp2));
+
+        // left null
+        pdp2 = makePdp(PDP_ID, SITE, PRIORITY);
+        assertEquals(-1, pdp.comparePriority(pdp2));
+
+        // right null - note: args are reversed
+        pdp2 = makePdp(PDP_ID, SITE, PRIORITY);
+        assertEquals(1, pdp2.comparePriority(pdp));
+    }
+
+    @Test
+    public void testComparePriorityDroolsPdp() {
+        // self
+        assertEquals(0, pdp.comparePriority(pdp));
+
+        // same
+        MyPdp pdp2 = makePdp(PDP_ID, SITE, PRIORITY);
+        assertEquals(0, pdp.comparePriority(pdp2));
+
+        // different site
+        pdp2 = makePdp(PDP_ID, SITE2, PRIORITY);
+        assertEquals(SITE.compareTo(SITE2), pdp.comparePriority(pdp2));
+
+        // different priority
+        pdp2 = makePdp(PDP_ID, SITE, PRIORITY2);
+        assertEquals(PRIORITY - PRIORITY2, pdp.comparePriority(pdp2));
+
+        // different id
+        pdp2 = makePdp(PDP_ID2, SITE, PRIORITY);
+        assertEquals(PDP_ID.compareTo(PDP_ID2), pdp.comparePriority(pdp2));
+    }
+
+    @Test
+    public void testComparePriorityDroolsPdpString() {
+        final int result = 1000;
+
+        // override other comparison method so we know if it's called
+        MyPdp pdp2 = new MyPdp() {
+            @Override
+            public int comparePriority(DroolsPdp other) {
+                return result;
+            }
+        };
+
+        pdp2.setPdpId(PDP_ID);
+        pdp2.setSiteName(SITE2);
+        pdp2.setPriority(PRIORITY);
+
+        // should use overridden comparison method
+        assertEquals(result, pdp2.comparePriority(pdp, null));
+        assertEquals(result, pdp2.comparePriority(pdp, ""));
+
+        // should use normal comparison method
+        assertEquals(SITE2.compareTo(SITE), pdp2.comparePriority(pdp, SITE));
+    }
+
+    private MyPdp makePdp(String id, String site, int priority) {
+        MyPdp pdp2 = new MyPdp();
+
+        pdp2.setSiteName(site);
+        pdp2.setPdpId(id);
+        pdp2.setPriority(priority);
+
+        return pdp2;
+    }
+
+    @Getter
+    @Setter
+    private class MyPdp extends DroolsPdpObject {
+        private String pdpId;
+        private boolean designated;
+        private int priority;
+        private Date updatedDate;
+        private String siteName;
+        private Date designatedDate;
+    }
+}
diff --git a/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/PmStandbyStateChangeNotifierTest.java b/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/PmStandbyStateChangeNotifierTest.java
new file mode 100644
index 0000000..28d3b43
--- /dev/null
+++ b/feature-active-standby-management/src/test/java/org/onap/policy/drools/activestandby/PmStandbyStateChangeNotifierTest.java
@@ -0,0 +1,284 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.drools.activestandby;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.util.Properties;
+import java.util.Timer;
+import java.util.TimerTask;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.onap.policy.common.im.StateManagement;
+import org.onap.policy.drools.system.PolicyEngine;
+
+public class PmStandbyStateChangeNotifierTest {
+    private static final String UNSUPPORTED_STATUS = "unsupported status";
+    private static final String PDP_ID = "my-pdp";
+    private static final long UPDATE_INTERVAL = 100;
+    private static final long WAIT_INTERVAL = 2 * UPDATE_INTERVAL + 2000;
+
+    @Mock
+    private PolicyEngine engmgr;
+
+    @Mock
+    private Timer timer;
+
+    @Mock
+    private StateManagement mgmt;
+
+    private PmStandbyStateChangeNotifier notifier;
+
+    /**
+     * Initializes the properties.
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        Properties props = new Properties();
+        props.setProperty(ActiveStandbyProperties.NODE_NAME, PDP_ID);
+        props.setProperty(ActiveStandbyProperties.PDP_UPDATE_INTERVAL, String.valueOf(UPDATE_INTERVAL));
+
+        ActiveStandbyProperties.initProperties(props);
+    }
+
+    /**
+     * Initializes objects, including the notifier.
+     */
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        notifier = new MyNotifier();
+    }
+
+    @Test
+    public void testHandleStateChange_Null() {
+        notifier.update(mgmt, null);
+        verify(engmgr).deactivate();
+        assertEquals(StateManagement.NULL_VALUE, notifier.getPreviousStandbyStatus());
+
+        // repeat - nothing else should be done
+        when(mgmt.getStandbyStatus()).thenReturn(StateManagement.NULL_VALUE);
+        notifier.update(mgmt, null);
+        verify(engmgr, times(1)).deactivate();
+        assertEquals(StateManagement.NULL_VALUE, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testHandleStateChange_Null_Ex() {
+        doThrow(new MyException()).when(engmgr).deactivate();
+
+        // should not throw an exception
+        notifier.update(mgmt, null);
+        assertEquals(PmStandbyStateChangeNotifier.NONE, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testHandleStateChange_HotOrCold() {
+        when(mgmt.getStandbyStatus()).thenReturn(StateManagement.HOT_STANDBY);
+        notifier.update(mgmt, null);
+        verify(engmgr).deactivate();
+        assertEquals(PmStandbyStateChangeNotifier.HOTSTANDBY_OR_COLDSTANDBY, notifier.getPreviousStandbyStatus());
+
+        // repeat - nothing else should be done
+        when(mgmt.getStandbyStatus()).thenReturn(StateManagement.COLD_STANDBY);
+        notifier.update(mgmt, null);
+        verify(engmgr, times(1)).deactivate();
+        assertEquals(PmStandbyStateChangeNotifier.HOTSTANDBY_OR_COLDSTANDBY, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testHandleStateChange_HotOrCold_Ex() {
+        doThrow(new MyException()).when(engmgr).deactivate();
+
+        // should not throw an exception
+        when(mgmt.getStandbyStatus()).thenReturn(StateManagement.HOT_STANDBY);
+        notifier.update(mgmt, null);
+        assertEquals(PmStandbyStateChangeNotifier.NONE, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testHandleStateChange_ProvidingService() {
+        when(mgmt.getStandbyStatus()).thenReturn(StateManagement.PROVIDING_SERVICE);
+        notifier.update(mgmt, null);
+        verify(engmgr, never()).activate();
+        assertEquals(PmStandbyStateChangeNotifier.NONE, notifier.getPreviousStandbyStatus());
+
+        ArgumentCaptor<TimerTask> captor = ArgumentCaptor.forClass(TimerTask.class);
+        verify(timer).schedule(captor.capture(), eq(WAIT_INTERVAL));
+
+        // execute the timer task
+        captor.getValue().run();
+
+        verify(engmgr).activate();
+        assertEquals(StateManagement.PROVIDING_SERVICE, notifier.getPreviousStandbyStatus());
+
+        // repeat - nothing else should be done
+        notifier.update(mgmt, null);
+        verify(engmgr, never()).deactivate();
+        verify(engmgr, times(1)).activate();
+        verify(timer, times(1)).schedule(captor.capture(), eq(WAIT_INTERVAL));
+        assertEquals(StateManagement.PROVIDING_SERVICE, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testHandleStateChange_ProvidingService_BeforeActivation() {
+        when(mgmt.getStandbyStatus()).thenReturn(StateManagement.PROVIDING_SERVICE);
+        notifier.update(mgmt, null);
+
+        // repeat - nothing else should be done
+        notifier.update(mgmt, null);
+        verify(engmgr, never()).deactivate();
+        verify(engmgr, never()).activate();
+
+        verify(timer, times(1)).schedule(any(), eq(WAIT_INTERVAL));
+        assertEquals(PmStandbyStateChangeNotifier.NONE, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testHandleStateChange_ProvidingService_Ex() {
+        notifier = new MyNotifier() {
+            @Override
+            protected Timer makeTimer() {
+                throw new MyException();
+            }
+        };
+
+        when(mgmt.getStandbyStatus()).thenReturn(StateManagement.PROVIDING_SERVICE);
+        notifier.update(mgmt, null);
+
+        assertEquals(PmStandbyStateChangeNotifier.NONE, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testHandleStateChange_Unsupported() {
+        when(mgmt.getStandbyStatus()).thenReturn(UNSUPPORTED_STATUS);
+        notifier.update(mgmt, null);
+
+        verify(engmgr).deactivate();
+        assertEquals(PmStandbyStateChangeNotifier.UNSUPPORTED, notifier.getPreviousStandbyStatus());
+
+        // repeat - nothing else should be done
+        notifier.update(mgmt, null);
+        verify(engmgr, times(1)).deactivate();
+        assertEquals(PmStandbyStateChangeNotifier.UNSUPPORTED, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testHandleStateChange_Unsupported_Ex() {
+        doThrow(new MyException()).when(engmgr).deactivate();
+
+        // should not throw an exception
+        when(mgmt.getStandbyStatus()).thenReturn(UNSUPPORTED_STATUS);
+        notifier.update(mgmt, null);
+        assertEquals(PmStandbyStateChangeNotifier.NONE, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testCancelTimer() {
+        when(mgmt.getStandbyStatus()).thenReturn(StateManagement.PROVIDING_SERVICE);
+        notifier.update(mgmt, null);
+
+        when(mgmt.getStandbyStatus()).thenReturn(null);
+        notifier.update(mgmt, null);
+
+        verify(timer).cancel();
+    }
+
+    @Test
+    public void testDelayActivateClass() {
+        when(mgmt.getStandbyStatus()).thenReturn(StateManagement.PROVIDING_SERVICE);
+        notifier.update(mgmt, null);
+        verify(engmgr, never()).activate();
+        assertEquals(PmStandbyStateChangeNotifier.NONE, notifier.getPreviousStandbyStatus());
+
+        ArgumentCaptor<TimerTask> captor = ArgumentCaptor.forClass(TimerTask.class);
+        verify(timer).schedule(captor.capture(), eq(WAIT_INTERVAL));
+
+        // execute the timer task
+        captor.getValue().run();
+
+        verify(engmgr).activate();
+        assertEquals(StateManagement.PROVIDING_SERVICE, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testDelayActivateClass_Ex() {
+        when(mgmt.getStandbyStatus()).thenReturn(StateManagement.PROVIDING_SERVICE);
+        notifier.update(mgmt, null);
+        verify(engmgr, never()).activate();
+        assertEquals(PmStandbyStateChangeNotifier.NONE, notifier.getPreviousStandbyStatus());
+
+        ArgumentCaptor<TimerTask> captor = ArgumentCaptor.forClass(TimerTask.class);
+        verify(timer).schedule(captor.capture(), eq(WAIT_INTERVAL));
+
+        doThrow(new MyException()).when(engmgr).activate();
+
+        // execute the timer task
+        captor.getValue().run();
+
+        assertEquals(PmStandbyStateChangeNotifier.NONE, notifier.getPreviousStandbyStatus());
+    }
+
+    @Test
+    public void testGetPolicyEngineManager() {
+        // use real object with real method - no exception expected
+        new PmStandbyStateChangeNotifier().getPolicyEngineManager();
+    }
+
+    @Test
+    public void testMakeTimer() {
+        // use real object with real method
+        new PmStandbyStateChangeNotifier().makeTimer().cancel();
+    }
+
+    private class MyNotifier extends PmStandbyStateChangeNotifier {
+        @Override
+        protected PolicyEngine getPolicyEngineManager() {
+            return engmgr;
+        }
+
+        @Override
+        protected Timer makeTimer() {
+            return timer;
+        }
+    }
+
+    private static class MyException extends RuntimeException {
+        private static final long serialVersionUID = 1L;
+
+        public MyException() {
+            super("expected exception");
+        }
+    }
+}
diff --git a/feature-active-standby-management/src/test/java/org/onap/policy/drools/controller/test/AllSeemsWellTest.java b/feature-active-standby-management/src/test/java/org/onap/policy/drools/controller/test/AllSeemsWellTest.java
index 719fb62..b5b8994 100644
--- a/feature-active-standby-management/src/test/java/org/onap/policy/drools/controller/test/AllSeemsWellTest.java
+++ b/feature-active-standby-management/src/test/java/org/onap/policy/drools/controller/test/AllSeemsWellTest.java
@@ -235,7 +235,7 @@
         // discovered by the ActiveStandbyFeature when the election handler initializes.
 
         StateManagementFeatureApi stateManagementFeatureApi = null;
-        for (StateManagementFeatureApi feature : stateManagementFeatureApi.impl.getList()) {
+        for (StateManagementFeatureApi feature : StateManagementFeatureApi.impl.getList()) {
             ((PolicySessionFeatureApi) feature).globalInit(null, configDir);
             stateManagementFeatureApi = feature;
             logger.debug("testAllSeemsWell stateManagementFeature.getResourceName(): {}",
diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java
index 60399d7..67f5467 100644
--- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java
+++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java
@@ -334,10 +334,6 @@
         scheduler.shutdownNow();
     }
 
-    private PdpStatus statusPayload() {
-        return statusPayload(state());
-    }
-
     private PdpStatus statusPayload(@NonNull PdpState state) {
         PdpStatus status = new PdpStatus();
         status.setName(name);
diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleState.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleState.java
index 726e1d4..ad202e8 100644
--- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleState.java
+++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleState.java
@@ -28,16 +28,12 @@
 import org.onap.policy.models.pdp.concepts.PdpUpdate;
 import org.onap.policy.models.pdp.enums.PdpState;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Lifecycle State.
  */
 public abstract class LifecycleState implements Startable {
 
-    private static final Logger logger = LoggerFactory.getLogger(LifecycleState.class);
-
     @GsonJsonIgnore
     protected final LifecycleFsm fsm;
 
diff --git a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPdpIntegrityMonitor.java b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPdpIntegrityMonitor.java
index 1e528b2..2fa54e6 100644
--- a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPdpIntegrityMonitor.java
+++ b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPdpIntegrityMonitor.java
@@ -73,10 +73,7 @@
     }
 
     private static void logPropertyValue(String prop, String val) {
-        if (logger.isInfoEnabled()) {
-            String msg = "\n\n    init: property: " + prop + " = " + val + "\n";
-            logger.info(msg);
-        }
+        logger.info("\n\n    init: property: {} = {}\n", prop, val);
     }
 
     /**
@@ -427,9 +424,7 @@
      * @throws IntegrityMonitorException exception
      */
     public static DroolsPdpIntegrityMonitor getInstance() throws IntegrityMonitorException {
-        if (logger.isDebugEnabled()) {
-            logger.debug("getInstance() called");
-        }
+        logger.debug("getInstance() called");
         if (im == null) {
             String msg = "No DroolsPDPIntegrityMonitor instance exists."
                     + " Please use the method DroolsPDPIntegrityMonitor init(String configDir)";
diff --git a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/IntegrityMonitorRestManager.java b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/IntegrityMonitorRestManager.java
index 7dca9e6..3330bd8 100644
--- a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/IntegrityMonitorRestManager.java
+++ b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/IntegrityMonitorRestManager.java
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -41,7 +41,7 @@
 
     /**
      * Test interface for Integrity Monitor.
-     * 
+     *
      * @return Exception message if exception, otherwise empty
      */
     @ApiOperation(
@@ -63,9 +63,7 @@
     @GET
     @Path("test")
     public Response test() {
-        if (logger.isDebugEnabled()) {
-            logger.debug("integrity monitor /test accessed");
-        }
+        logger.debug("integrity monitor /test accessed");
         // The responses are stored within the audit objects, so we need to
         // invoke the audits and get responses before we handle another
         // request.
diff --git a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/RepositoryAudit.java b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/RepositoryAudit.java
index e78b0a1..9d39a7b 100644
--- a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/RepositoryAudit.java
+++ b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/RepositoryAudit.java
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -56,7 +56,7 @@
 
     /**
      * Get the integrity monitor instance.
-     * 
+     *
      * @return the single 'RepositoryAudit' instance
      */
     public static DroolsPdpIntegrityMonitor.AuditBase getInstance() {
@@ -71,9 +71,7 @@
     @Override
     public void invoke(Properties properties)
             throws IOException, InterruptedException {
-        if (logger.isDebugEnabled()) {
-            logger.debug("Running 'RepositoryAudit.invoke'");
-        }
+        logger.debug("Running 'RepositoryAudit.invoke'");
 
         boolean isActive = true;
         // ignore errors by default
@@ -81,14 +79,14 @@
         String repoAuditIsActive = StateManagementProperties.getProperty("repository.audit.is.active");
         String repoAuditIgnoreErrors =
                 StateManagementProperties.getProperty("repository.audit.ignore.errors");
-        logger.debug("RepositoryAudit.invoke: repoAuditIsActive = {}" 
+        logger.debug("RepositoryAudit.invoke: repoAuditIsActive = {}"
                 + ", repoAuditIgnoreErrors = {}",repoAuditIsActive, repoAuditIgnoreErrors);
 
         if (repoAuditIsActive != null) {
             try {
                 isActive = Boolean.parseBoolean(repoAuditIsActive.trim());
             } catch (NumberFormatException e) {
-                logger.warn("RepositoryAudit.invoke: Ignoring invalid property: repository.audit.is.active = {}", 
+                logger.warn("RepositoryAudit.invoke: Ignoring invalid property: repository.audit.is.active = {}",
                         repoAuditIsActive);
             }
         }
@@ -103,7 +101,7 @@
                 ignoreErrors = Boolean.parseBoolean(repoAuditIgnoreErrors.trim());
             } catch (NumberFormatException e) {
                 ignoreErrors = true;
-                logger.warn("RepositoryAudit.invoke: Ignoring invalid property: repository.audit.ignore.errors = {}", 
+                logger.warn("RepositoryAudit.invoke: Ignoring invalid property: repository.audit.ignore.errors = {}",
                         repoAuditIgnoreErrors);
             }
         } else {
@@ -134,7 +132,7 @@
             try {
                 timeoutInSeconds = Long.valueOf(timeoutString);
             } catch (NumberFormatException e) {
-                logger.error("RepositoryAudit: Invalid 'repository.audit.timeout' value: '{}'", 
+                logger.error("RepositoryAudit: Invalid 'repository.audit.timeout' value: '{}'",
                         timeoutString, e);
                 if (!ignoreErrors) {
                     response.append("Invalid 'repository.audit.timeout' value: '")
@@ -238,7 +236,7 @@
             .append(repo)
             .append("</localRepositoryDirectory>\n")
             .append("               <artifactItems>\n");
-        
+
         for (Artifact artifact : artifacts) {
             // each artifact results in an 'artifactItem' element
             sb.append("                 <artifactItem>\n"
@@ -315,7 +313,7 @@
                 if (fileContents.regionMatches(index, "loading: ", 0, 9)) {
                     index += 9;
                     int endIndex = fileContents.indexOf('\n', index);
-                    logger.info("RepositoryAudit: Attempted download: '{}'", 
+                    logger.info("RepositoryAudit: Attempted download: '{}'",
                             fileContents.substring(index, endIndex));
                     index = endIndex;
                 } else if (fileContents.regionMatches(index, "loaded: ", 0, 8)) {
@@ -481,7 +479,7 @@
 
         /**
          * Returns string representation.
-         * 
+         *
          * @return the artifact id in the form: {@code"<groupId>/<artifactId>/<version>/<type>"}
          */
         @Override
diff --git a/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java
index d0b9845..818cae8 100644
--- a/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/controller/internal/MavenDroolsController.java
@@ -218,9 +218,7 @@
 
         /* upgrade */
         String messages = this.policyContainer.updateToVersion(newVersion);
-        if (logger.isWarnEnabled()) {
-            logger.warn("{} UPGRADE results: {}", this, messages);
-        }
+        logger.warn("{} UPGRADE results: {}", this, messages);
 
         /*
          * If all sucessful (can load new container), now we can remove all coders from previous sessions
@@ -232,9 +230,7 @@
          */
         this.init(decoderConfigurations, encoderConfigurations);
 
-        if (logger.isInfoEnabled()) {
-            logger.info("UPDATE-TO-VERSION: completed " +  this);
-        }
+        logger.info("UPDATE-TO-VERSION: completed {}", this);
     }
 
     /**
@@ -247,9 +243,7 @@
     protected void initCoders(List<TopicCoderFilterConfiguration> coderConfigurations,
             boolean decoder) {
 
-        if (logger.isInfoEnabled()) {
-            logger.info("INIT-CODERS: " +  this);
-        }
+        logger.info("INIT-CODERS: {}", this);
 
         if (coderConfigurations == null) {
             return;
@@ -337,9 +331,7 @@
      * remove decoders.
      */
     protected void removeDecoders() {
-        if (logger.isInfoEnabled()) {
-            logger.info("REMOVE-DECODERS: {}",  this);
-        }
+        logger.info("REMOVE-DECODERS: {}", this);
 
         if (this.decoderConfigurations == null) {
             return;
@@ -357,9 +349,7 @@
      */
     protected void removeEncoders() {
 
-        if (logger.isInfoEnabled()) {
-            logger.info("REMOVE-ENCODERS: {}",  this);
-        }
+        logger.info("REMOVE-ENCODERS: {}", this);
 
         if (this.encoderConfigurations == null) {
             return;
@@ -380,18 +370,12 @@
         }
 
         if (modelHash == this.modelClassLoaderHash) {
-            if (logger.isInfoEnabled()) {
-                logger.info(coderClass.getName()
-                        + this + " class loader matches original drools controller rules classloader "
-                        + coderClass.getClassLoader());
-            }
+            logger.info("{}{} class loader matches original drools controller rules classloader {}",
+                            coderClass.getName(), this, coderClass.getClassLoader());
             return true;
         } else {
-            if (logger.isWarnEnabled()) {
-                logger.warn(this + coderClass.getName() + " class loaders don't match  "
-                        + coderClass.getClassLoader() + " vs "
-                        + this.policyContainer.getClassLoader());
-            }
+            logger.warn("{}{} class loaders don't match {} vs {}", this, coderClass.getName(),
+                            coderClass.getClassLoader(), this.policyContainer.getClassLoader());
             return false;
         }
     }
@@ -399,9 +383,7 @@
     @Override
     public boolean start() {
 
-        if (logger.isInfoEnabled()) {
-            logger.info("START: {}", this);
-        }
+        logger.info("START: {}", this);
 
         synchronized (this) {
             if (this.alive) {
@@ -572,9 +554,7 @@
     @Override
     public boolean deliver(TopicSink sink, Object event) {
 
-        if (logger.isInfoEnabled()) {
-            logger.info("{}DELIVER: {} FROM {} TO {}", this, event, this, sink);
-        }
+        logger.info("{}DELIVER: {} FROM {} TO {}", this, event, this, sink);
 
         for (DroolsControllerFeatureApi feature : DroolsControllerFeatureApi.providers.getList()) {
             try {